From 6866d77dd2956da29f1f0ba813a3545e55f1b6c9 Mon Sep 17 00:00:00 2001 From: shiki-tak Date: Fri, 19 Jul 2024 14:59:00 +0900 Subject: [PATCH 1/5] feat: add flutter_bird_image_server --- flutter_bird_image_server/.gitignore | 3 + .../build/contracts/FlutterBirdSkins.json | 22285 ++++++++++++++++ .../create_birds/create_data.js | 23 + .../create_birds/generate_image.js | 56 + .../create_birds/generate_metadata.js | 66 + .../create_birds/update_image_url.js | 27 + .../input/metadata_template.json | 28 + flutter_bird_image_server/input/traits.json | 232 + flutter_bird_image_server/lib/split_data.js | 13 + .../mint_full_onchain_bird/create_uri.js | 24 + .../mint_random_skin.js | 98 + .../mint_full_onchain_bird/upload_uri.js | 24 + flutter_bird_image_server/package-lock.json | 1695 ++ flutter_bird_image_server/package.json | 23 + .../public/input/layers/bird/black.png | Bin 0 -> 4423 bytes .../public/input/layers/bird/blue.png | Bin 0 -> 4499 bytes .../public/input/layers/bird/cyan.png | Bin 0 -> 4485 bytes .../public/input/layers/bird/default.png | Bin 0 -> 4478 bytes .../public/input/layers/bird/gold.png | Bin 0 -> 4525 bytes .../public/input/layers/bird/green.png | Bin 0 -> 4483 bytes .../public/input/layers/bird/orange.png | Bin 0 -> 4477 bytes .../public/input/layers/bird/pink.png | Bin 0 -> 4480 bytes .../public/input/layers/bird/purple.png | Bin 0 -> 4481 bytes .../public/input/layers/bird/rainbow.png | Bin 0 -> 4538 bytes .../public/input/layers/bird/red.png | Bin 0 -> 4482 bytes .../public/input/layers/bird/white.png | Bin 0 -> 4485 bytes .../public/input/layers/eyes/3d_glasses.png | Bin 0 -> 5408 bytes .../public/input/layers/eyes/default.png | Bin 0 -> 4027 bytes .../public/input/layers/eyes/heart.png | Bin 0 -> 4400 bytes .../public/input/layers/eyes/nerd_glasses.png | Bin 0 -> 11758 bytes .../input/layers/eyes/rainbow_glasses.png | Bin 0 -> 5691 bytes .../public/input/layers/eyes/thug_glasses.png | Bin 0 -> 3371 bytes .../public/input/layers/head/beanie.png | Bin 0 -> 3365 bytes .../public/input/layers/head/bucket_hat.png | Bin 0 -> 3549 bytes .../public/input/layers/head/cap_blue.png | Bin 0 -> 4252 bytes .../public/input/layers/head/cap_red.png | Bin 0 -> 4246 bytes .../public/input/layers/head/cowboy.png | Bin 0 -> 2974 bytes .../public/input/layers/head/crown.png | Bin 0 -> 3237 bytes .../public/input/layers/head/cylinder.png | Bin 0 -> 4217 bytes .../public/input/layers/head/flowers.png | Bin 0 -> 18209 bytes .../input/layers/head/headphones_blue.png | Bin 0 -> 4126 bytes .../input/layers/head/headphones_gray.png | Bin 0 -> 4116 bytes .../input/layers/head/headphones_green.png | Bin 0 -> 4149 bytes .../input/layers/head/headphones_orange.png | Bin 0 -> 4134 bytes .../input/layers/head/headphones_red.png | Bin 0 -> 4140 bytes .../public/input/layers/head/party.png | Bin 0 -> 3285 bytes .../public/input/layers/head/wizard.png | Bin 0 -> 3467 bytes .../public/input/layers/mouth/cigarette.png | Bin 0 -> 2917 bytes .../public/input/layers/mouth/flower.png | Bin 0 -> 8137 bytes .../public/input/layers/mouth/mask.png | Bin 0 -> 5299 bytes .../public/input/layers/mouth/party_horn.png | Bin 0 -> 6602 bytes .../public/input/layers/mouth/pipe.png | Bin 0 -> 4866 bytes .../public/input/layers/mouth/tongue.png | Bin 0 -> 4930 bytes .../input/layers/mouth/whistle_blue.png | Bin 0 -> 6147 bytes .../input/layers/mouth/whistle_green.png | Bin 0 -> 6163 bytes .../input/layers/mouth/whistle_orange.png | Bin 0 -> 6109 bytes .../public/input/layers/mouth/whistle_red.png | Bin 0 -> 6093 bytes .../public/input/layers/neck/bronze_chain.png | Bin 0 -> 3717 bytes .../public/input/layers/neck/gold_chain.png | Bin 0 -> 3673 bytes .../public/input/layers/neck/silver_chain.png | Bin 0 -> 3731 bytes .../public/input/layers/neck/tie_blue.png | Bin 0 -> 5556 bytes .../public/input/layers/neck/tie_green.png | Bin 0 -> 5508 bytes .../public/input/layers/neck/tie_orange.png | Bin 0 -> 5566 bytes .../public/input/layers/neck/tie_pink.png | Bin 0 -> 5595 bytes .../public/input/layers/neck/tie_red.png | Bin 0 -> 5489 bytes .../public/input/layers/neck/tie_white.png | Bin 0 -> 5666 bytes flutter_bird_image_server/server.js | 35 + flutter_bird_image_server/vercel.json | 9 + flutter_bird_skins/scripts/create_data.js | 21 - flutter_bird_skins/scripts/generate_image.js | 60 - .../scripts/generate_metadata.js | 89 - .../scripts/mint_random_skin.js | 50 - 72 files changed, 24641 insertions(+), 220 deletions(-) create mode 100644 flutter_bird_image_server/.gitignore create mode 100644 flutter_bird_image_server/build/contracts/FlutterBirdSkins.json create mode 100644 flutter_bird_image_server/create_birds/create_data.js create mode 100644 flutter_bird_image_server/create_birds/generate_image.js create mode 100644 flutter_bird_image_server/create_birds/generate_metadata.js create mode 100644 flutter_bird_image_server/create_birds/update_image_url.js create mode 100644 flutter_bird_image_server/input/metadata_template.json create mode 100644 flutter_bird_image_server/input/traits.json create mode 100644 flutter_bird_image_server/lib/split_data.js create mode 100644 flutter_bird_image_server/mint_full_onchain_bird/create_uri.js create mode 100644 flutter_bird_image_server/mint_full_onchain_bird/mint_random_skin.js create mode 100644 flutter_bird_image_server/mint_full_onchain_bird/upload_uri.js create mode 100644 flutter_bird_image_server/package-lock.json create mode 100644 flutter_bird_image_server/package.json create mode 100644 flutter_bird_image_server/public/input/layers/bird/black.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/blue.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/cyan.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/default.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/gold.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/green.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/orange.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/pink.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/purple.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/rainbow.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/red.png create mode 100644 flutter_bird_image_server/public/input/layers/bird/white.png create mode 100644 flutter_bird_image_server/public/input/layers/eyes/3d_glasses.png create mode 100644 flutter_bird_image_server/public/input/layers/eyes/default.png create mode 100644 flutter_bird_image_server/public/input/layers/eyes/heart.png create mode 100644 flutter_bird_image_server/public/input/layers/eyes/nerd_glasses.png create mode 100644 flutter_bird_image_server/public/input/layers/eyes/rainbow_glasses.png create mode 100644 flutter_bird_image_server/public/input/layers/eyes/thug_glasses.png create mode 100644 flutter_bird_image_server/public/input/layers/head/beanie.png create mode 100644 flutter_bird_image_server/public/input/layers/head/bucket_hat.png create mode 100644 flutter_bird_image_server/public/input/layers/head/cap_blue.png create mode 100644 flutter_bird_image_server/public/input/layers/head/cap_red.png create mode 100644 flutter_bird_image_server/public/input/layers/head/cowboy.png create mode 100644 flutter_bird_image_server/public/input/layers/head/crown.png create mode 100644 flutter_bird_image_server/public/input/layers/head/cylinder.png create mode 100644 flutter_bird_image_server/public/input/layers/head/flowers.png create mode 100644 flutter_bird_image_server/public/input/layers/head/headphones_blue.png create mode 100644 flutter_bird_image_server/public/input/layers/head/headphones_gray.png create mode 100644 flutter_bird_image_server/public/input/layers/head/headphones_green.png create mode 100644 flutter_bird_image_server/public/input/layers/head/headphones_orange.png create mode 100644 flutter_bird_image_server/public/input/layers/head/headphones_red.png create mode 100644 flutter_bird_image_server/public/input/layers/head/party.png create mode 100644 flutter_bird_image_server/public/input/layers/head/wizard.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/cigarette.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/flower.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/mask.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/party_horn.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/pipe.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/tongue.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/whistle_blue.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/whistle_green.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/whistle_orange.png create mode 100644 flutter_bird_image_server/public/input/layers/mouth/whistle_red.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/bronze_chain.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/gold_chain.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/silver_chain.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/tie_blue.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/tie_green.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/tie_orange.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/tie_pink.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/tie_red.png create mode 100644 flutter_bird_image_server/public/input/layers/neck/tie_white.png create mode 100644 flutter_bird_image_server/server.js create mode 100644 flutter_bird_image_server/vercel.json delete mode 100644 flutter_bird_skins/scripts/create_data.js delete mode 100644 flutter_bird_skins/scripts/generate_image.js delete mode 100644 flutter_bird_skins/scripts/generate_metadata.js delete mode 100644 flutter_bird_skins/scripts/mint_random_skin.js diff --git a/flutter_bird_image_server/.gitignore b/flutter_bird_image_server/.gitignore new file mode 100644 index 0000000..4acc732 --- /dev/null +++ b/flutter_bird_image_server/.gitignore @@ -0,0 +1,3 @@ +.vercel + +node_modules diff --git a/flutter_bird_image_server/build/contracts/FlutterBirdSkins.json b/flutter_bird_image_server/build/contracts/FlutterBirdSkins.json new file mode 100644 index 0000000..9adf906 --- /dev/null +++ b/flutter_bird_image_server/build/contracts/FlutterBirdSkins.json @@ -0,0 +1,22285 @@ +{ + "contractName": "FlutterBirdSkins", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "SkinMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newTokenId", + "type": "uint256" + } + ], + "name": "mintSkin", + "outputs": [], + "stateMutability": "payable", + "type": "function", + "payable": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "getTokensForOwner", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getMintedTokenList", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "name": "setTokenUri", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"SkinMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintedTokenList\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"getTokensForOwner\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTokenId\",\"type\":\"uint256\"}],\"name\":\"mintSkin\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenURI\",\"type\":\"string\"}],\"name\":\"setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getMintedTokenList()\":{\"notice\":\"returns a list of boolean values indicating whether the skin with that index has been minted already.\"},\"getTokensForOwner(address)\":{\"notice\":\"returns a list of tokenIds that are owned by the given address\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/FlutterBirdSkins.sol\":\"FlutterBirdSkins\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/FlutterBirdSkins.sol\":{\"keccak256\":\"0x4174d5a2a789875d4895e7dd75764ce00c8e3a2a33e2d6be4709e4e199572f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67014b92d12cb8c21f7ca2b0b707e27abc44235ad66cfbdb3b16906901c179ec\",\"dweb:/ipfs/QmNVdpQoDYx695o1TqtBQxoHwf1MABf9ixPU6XCjS1d15r\"]}},\"version\":1}", + "bytecode": "0x60806040526103e8600a55662386f26fc10000600b5533600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006357600080fd5b506040518060400160405280601081526020017f466c757474657242697264536b696e73000000000000000000000000000000008152506040518060400160405280600381526020017f46425300000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000e89291906200010a565b508060019080519060200190620001019291906200010a565b5050506200021e565b8280546200011890620001e9565b90600052602060002090601f0160209004810192826200013c576000855562000188565b82601f106200015757805160ff191683800117855562000188565b8280016001018555821562000188579182015b82811115620001875782518255916020019190600101906200016a565b5b5090506200019791906200019b565b5090565b5b80821115620001b65760008160009055506001016200019c565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200020257607f821691505b602082108103620002185762000217620001ba565b5b50919050565b613a98806200022e6000396000f3fe60806040526004361061012a5760003560e01c80634f6ccce7116100ab57806395d89b411161006f57806395d89b411461042a578063a22cb46514610455578063b88d4fde1461047e578063c87b56dd146104a7578063e985e9c5146104e4578063f0352651146105215761012a565b80634f6ccce71461031f57806357f7789e1461035c5780636352211e1461038557806370a08231146103c25780638da5cb5b146103ff5761012a565b806318160ddd116100f257806318160ddd1461023a57806319a0b41b1461026557806323b872dd146102905780632f745c59146102b957806342842e0e146102f65761012a565b806301ffc9a71461012f57806306fdde031461016c5780630725e89814610197578063081812fc146101d4578063095ea7b314610211575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906124f2565b61053d565b604051610163919061253a565b60405180910390f35b34801561017857600080fd5b506101816105b7565b60405161018e91906125ee565b60405180910390f35b3480156101a357600080fd5b506101be60048036038101906101b9919061266e565b610649565b6040516101cb9190612763565b60405180910390f35b3480156101e057600080fd5b506101fb60048036038101906101f691906127b1565b6106f9565b60405161020891906127ed565b60405180910390f35b34801561021d57600080fd5b5061023860048036038101906102339190612808565b61073f565b005b34801561024657600080fd5b5061024f610856565b60405161025c9190612857565b60405180910390f35b34801561027157600080fd5b5061027a610863565b6040516102879190612930565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b29190612952565b610912565b005b3480156102c557600080fd5b506102e060048036038101906102db9190612808565b610972565b6040516102ed9190612857565b60405180910390f35b34801561030257600080fd5b5061031d60048036038101906103189190612952565b610a17565b005b34801561032b57600080fd5b50610346600480360381019061034191906127b1565b610a37565b6040516103539190612857565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190612ada565b610aa8565b005b34801561039157600080fd5b506103ac60048036038101906103a791906127b1565b610b06565b6040516103b991906127ed565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e4919061266e565b610b8c565b6040516103f69190612857565b60405180910390f35b34801561040b57600080fd5b50610414610c43565b60405161042191906127ed565b60405180910390f35b34801561043657600080fd5b5061043f610c69565b60405161044c91906125ee565b60405180910390f35b34801561046157600080fd5b5061047c60048036038101906104779190612b62565b610cfb565b005b34801561048a57600080fd5b506104a560048036038101906104a09190612c43565b610d11565b005b3480156104b357600080fd5b506104ce60048036038101906104c991906127b1565b610d73565b6040516104db91906125ee565b60405180910390f35b3480156104f057600080fd5b5061050b60048036038101906105069190612cc6565b610ec4565b604051610518919061253a565b60405180910390f35b61053b600480360381019061053691906127b1565b610f58565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105b057506105af82611052565b5b9050919050565b6060600080546105c690612d35565b80601f01602080910402602001604051908101604052809291908181526020018280546105f290612d35565b801561063f5780601f106106145761010080835404028352916020019161063f565b820191906000526020600020905b81548152906001019060200180831161062257829003601f168201915b5050505050905090565b6060600061065683610b8c565b67ffffffffffffffff81111561066f5761066e6129af565b5b60405190808252806020026020018201604052801561069d5781602001602082028036833780820191505090505b50905060005b6106ac84610b8c565b8110156106ef576106bd8482610972565b8282815181106106d0576106cf612d66565b5b60200260200101818152505080806106e790612dc4565b9150506106a3565b8192505050919050565b600061070482611134565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061074a82610b06565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b190612e7e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107d961117f565b73ffffffffffffffffffffffffffffffffffffffff16148061080857506108078161080261117f565b610ec4565b5b610847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083e90612f10565b60405180910390fd5b6108518383611187565b505050565b6000600880549050905090565b60606000600a5467ffffffffffffffff811115610883576108826129af565b5b6040519080825280602002602001820160405280156108b15781602001602082028036833780820191505090505b50905060005b600a5481101561090a576108ca81611240565b156108f75760018282815181106108e4576108e3612d66565b5b6020026020010190151590811515815250505b808061090290612dc4565b9150506108b7565b819250505090565b61092361091d61117f565b82611281565b610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990612fa2565b60405180910390fd5b61096d838383611316565b505050565b600061097d83610b8c565b82106109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590613034565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a3283838360405180602001604052806000815250610d11565b505050565b6000610a41610856565b8210610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a79906130c6565b60405180910390fd5b60088281548110610a9657610a95612d66565b5b90600052602060002001549050919050565b610ab9610ab361117f565b83611281565b610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90613158565b60405180910390fd5b610b02828261160f565b5050565b600080610b1283611683565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a906131c4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf390613256565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054610c7890612d35565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca490612d35565b8015610cf15780601f10610cc657610100808354040283529160200191610cf1565b820191906000526020600020905b815481529060010190602001808311610cd457829003601f168201915b5050505050905090565b610d0d610d0661117f565b83836116c0565b5050565b610d22610d1c61117f565b83611281565b610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612fa2565b60405180910390fd5b610d6d8484848461182c565b50505050565b6060610d7e82611240565b610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db4906132e8565b60405180910390fd5b6000600c60008481526020019081526020016000208054610ddd90612d35565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0990612d35565b8015610e565780601f10610e2b57610100808354040283529160200191610e56565b820191906000526020600020905b815481529060010190602001808311610e3957829003601f168201915b505050505090506000610e67611888565b90506000815103610e7c578192505050610ebf565b600082511115610eb1578082604051602001610e99929190613344565b60405160208183030381529060405292505050610ebf565b610eba84610d73565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600a548110610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f93906133b4565b60405180910390fd5b600b54341015610fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd890613420565b60405180910390fd5b610feb33826118a8565b6000610ff6826118c6565b6040516020016110069190613466565b6040516020818303038152906040529050611021828261160f565b817ff8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e9560405160405180910390a25050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061111d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061112d575061112c82611994565b5b9050919050565b61113d81611240565b61117c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611173906131c4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166111fa83610b06565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008073ffffffffffffffffffffffffffffffffffffffff1661126283611683565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008061128d83610b06565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806112cf57506112ce8185610ec4565b5b8061130d57508373ffffffffffffffffffffffffffffffffffffffff166112f5846106f9565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661133682610b06565b73ffffffffffffffffffffffffffffffffffffffff161461138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611383906134fe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f290613590565b60405180910390fd5b61140883838360016119fe565b8273ffffffffffffffffffffffffffffffffffffffff1661142882610b06565b73ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611475906134fe565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461160a8383836001611b5c565b505050565b61161882611240565b611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164e90613622565b60405180910390fd5b80600c6000848152602001908152602001600020908051906020019061167e9291906123e3565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361172e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117259061368e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161181f919061253a565b60405180910390a3505050565b611837848484611316565b61184384848484611b62565b611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990613720565b60405180910390fd5b50505050565b6060604051806080016040528060438152602001613a2060439139905090565b6118c2828260405180602001604052806000815250611ce9565b5050565b6060600060016118d584611d44565b01905060008167ffffffffffffffff8111156118f4576118f36129af565b5b6040519080825280601f01601f1916602001820160405280156119265781602001600182028036833780820191505090505b509050600082602001820190505b600115611989578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161197d5761197c613740565b5b04945060008503611934575b819350505050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611a0a84848484611e97565b6001811115611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a45906137e1565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a9557611a9081611e9d565b611ad4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611ad357611ad28582611ee6565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b1657611b1181612053565b611b55565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611b5457611b538482612124565b5b5b5050505050565b50505050565b6000611b838473ffffffffffffffffffffffffffffffffffffffff166121a3565b15611cdc578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611bac61117f565b8786866040518563ffffffff1660e01b8152600401611bce9493929190613856565b6020604051808303816000875af1925050508015611c0a57506040513d601f19601f82011682018060405250810190611c0791906138b7565b60015b611c8c573d8060008114611c3a576040519150601f19603f3d011682016040523d82523d6000602084013e611c3f565b606091505b506000815103611c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7b90613720565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611ce1565b600190505b949350505050565b611cf383836121c6565b611d006000848484611b62565b611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690613720565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611da2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611d9857611d97613740565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ddf576d04ee2d6d415b85acef81000000008381611dd557611dd4613740565b5b0492506020810190505b662386f26fc100008310611e0e57662386f26fc100008381611e0457611e03613740565b5b0492506010810190505b6305f5e1008310611e37576305f5e1008381611e2d57611e2c613740565b5b0492506008810190505b6127108310611e5c576127108381611e5257611e51613740565b5b0492506004810190505b60648310611e7f5760648381611e7557611e74613740565b5b0492506002810190505b600a8310611e8e576001810190505b80915050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611ef384610b8c565b611efd91906138e4565b9050600060076000848152602001908152602001600020549050818114611fe2576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061206791906138e4565b905060006009600084815260200190815260200160002054905060006008838154811061209757612096612d66565b5b9060005260206000200154905080600883815481106120b9576120b8612d66565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061210857612107613918565b5b6001900381819060005260206000200160009055905550505050565b600061212f83610b8c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222c90613993565b60405180910390fd5b61223e81611240565b1561227e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612275906139ff565b60405180910390fd5b61228c6000838360016119fe565b61229581611240565b156122d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cc906139ff565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123df600083836001611b5c565b5050565b8280546123ef90612d35565b90600052602060002090601f0160209004810192826124115760008555612458565b82601f1061242a57805160ff1916838001178555612458565b82800160010185558215612458579182015b8281111561245757825182559160200191906001019061243c565b5b5090506124659190612469565b5090565b5b8082111561248257600081600090555060010161246a565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124cf8161249a565b81146124da57600080fd5b50565b6000813590506124ec816124c6565b92915050565b60006020828403121561250857612507612490565b5b6000612516848285016124dd565b91505092915050565b60008115159050919050565b6125348161251f565b82525050565b600060208201905061254f600083018461252b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561258f578082015181840152602081019050612574565b8381111561259e576000848401525b50505050565b6000601f19601f8301169050919050565b60006125c082612555565b6125ca8185612560565b93506125da818560208601612571565b6125e3816125a4565b840191505092915050565b6000602082019050818103600083015261260881846125b5565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061263b82612610565b9050919050565b61264b81612630565b811461265657600080fd5b50565b60008135905061266881612642565b92915050565b60006020828403121561268457612683612490565b5b600061269284828501612659565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6126da816126c7565b82525050565b60006126ec83836126d1565b60208301905092915050565b6000602082019050919050565b60006127108261269b565b61271a81856126a6565b9350612725836126b7565b8060005b8381101561275657815161273d88826126e0565b9750612748836126f8565b925050600181019050612729565b5085935050505092915050565b6000602082019050818103600083015261277d8184612705565b905092915050565b61278e816126c7565b811461279957600080fd5b50565b6000813590506127ab81612785565b92915050565b6000602082840312156127c7576127c6612490565b5b60006127d58482850161279c565b91505092915050565b6127e781612630565b82525050565b600060208201905061280260008301846127de565b92915050565b6000806040838503121561281f5761281e612490565b5b600061282d85828601612659565b925050602061283e8582860161279c565b9150509250929050565b612851816126c7565b82525050565b600060208201905061286c6000830184612848565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128a78161251f565b82525050565b60006128b9838361289e565b60208301905092915050565b6000602082019050919050565b60006128dd82612872565b6128e7818561287d565b93506128f28361288e565b8060005b8381101561292357815161290a88826128ad565b9750612915836128c5565b9250506001810190506128f6565b5085935050505092915050565b6000602082019050818103600083015261294a81846128d2565b905092915050565b60008060006060848603121561296b5761296a612490565b5b600061297986828701612659565b935050602061298a86828701612659565b925050604061299b8682870161279c565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129e7826125a4565b810181811067ffffffffffffffff82111715612a0657612a056129af565b5b80604052505050565b6000612a19612486565b9050612a2582826129de565b919050565b600067ffffffffffffffff821115612a4557612a446129af565b5b612a4e826125a4565b9050602081019050919050565b82818337600083830152505050565b6000612a7d612a7884612a2a565b612a0f565b905082815260208101848484011115612a9957612a986129aa565b5b612aa4848285612a5b565b509392505050565b600082601f830112612ac157612ac06129a5565b5b8135612ad1848260208601612a6a565b91505092915050565b60008060408385031215612af157612af0612490565b5b6000612aff8582860161279c565b925050602083013567ffffffffffffffff811115612b2057612b1f612495565b5b612b2c85828601612aac565b9150509250929050565b612b3f8161251f565b8114612b4a57600080fd5b50565b600081359050612b5c81612b36565b92915050565b60008060408385031215612b7957612b78612490565b5b6000612b8785828601612659565b9250506020612b9885828601612b4d565b9150509250929050565b600067ffffffffffffffff821115612bbd57612bbc6129af565b5b612bc6826125a4565b9050602081019050919050565b6000612be6612be184612ba2565b612a0f565b905082815260208101848484011115612c0257612c016129aa565b5b612c0d848285612a5b565b509392505050565b600082601f830112612c2a57612c296129a5565b5b8135612c3a848260208601612bd3565b91505092915050565b60008060008060808587031215612c5d57612c5c612490565b5b6000612c6b87828801612659565b9450506020612c7c87828801612659565b9350506040612c8d8782880161279c565b925050606085013567ffffffffffffffff811115612cae57612cad612495565b5b612cba87828801612c15565b91505092959194509250565b60008060408385031215612cdd57612cdc612490565b5b6000612ceb85828601612659565b9250506020612cfc85828601612659565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d4d57607f821691505b602082108103612d6057612d5f612d06565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dcf826126c7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e0157612e00612d95565b5b600182019050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e68602183612560565b9150612e7382612e0c565b604082019050919050565b60006020820190508181036000830152612e9781612e5b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612efa603d83612560565b9150612f0582612e9e565b604082019050919050565b60006020820190508181036000830152612f2981612eed565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612f8c602d83612560565b9150612f9782612f30565b604082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061301e602b83612560565b915061302982612fc2565b604082019050919050565b6000602082019050818103600083015261304d81613011565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006130b0602c83612560565b91506130bb82613054565b604082019050919050565b600060208201905081810360008301526130df816130a3565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613142603183612560565b915061314d826130e6565b604082019050919050565b6000602082019050818103600083015261317181613135565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006131ae601883612560565b91506131b982613178565b602082019050919050565b600060208201905081810360008301526131dd816131a1565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613240602983612560565b915061324b826131e4565b604082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b60006132d2603183612560565b91506132dd82613276565b604082019050919050565b60006020820190508181036000830152613301816132c5565b9050919050565b600081905092915050565b600061331e82612555565b6133288185613308565b9350613338818560208601612571565b80840191505092915050565b60006133508285613313565b915061335c8284613313565b91508190509392505050565b7f696e76616c696420746f6b656e49642e206d7573742062652023393939000000600082015250565b600061339e601d83612560565b91506133a982613368565b602082019050919050565b600060208201905081810360008301526133cd81613391565b9050919050565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600061340a601283612560565b9150613415826133d4565b602082019050919050565b60006020820190508181036000830152613439816133fd565b9050919050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000815250565b60006134728284613313565b915061347d82613440565b60058201915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006134e8602583612560565b91506134f38261348c565b604082019050919050565b60006020820190508181036000830152613517816134db565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061357a602483612560565b91506135858261351e565b604082019050919050565b600060208201905081810360008301526135a98161356d565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b600061360c602e83612560565b9150613617826135b0565b604082019050919050565b6000602082019050818103600083015261363b816135ff565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613678601983612560565b915061368382613642565b602082019050919050565b600060208201905081810360008301526136a78161366b565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061370a603283612560565b9150613715826136ae565b604082019050919050565b60006020820190508181036000830152613739816136fd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006137cb603583612560565b91506137d68261376f565b604082019050919050565b600060208201905081810360008301526137fa816137be565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061382882613801565b613832818561380c565b9350613842818560208601612571565b61384b816125a4565b840191505092915050565b600060808201905061386b60008301876127de565b61387860208301866127de565b6138856040830185612848565b8181036060830152613897818461381d565b905095945050505050565b6000815190506138b1816124c6565b92915050565b6000602082840312156138cd576138cc612490565b5b60006138db848285016138a2565b91505092915050565b60006138ef826126c7565b91506138fa836126c7565b92508282101561390d5761390c612d95565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061397d602083612560565b915061398882613947565b602082019050919050565b600060208201905081810360008301526139ac81613970565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006139e9601c83612560565b91506139f4826139b3565b602082019050919050565b60006020820190508181036000830152613a18816139dc565b905091905056fe697066733a2f2f62616679626569657876717433756162717a6d6871756f6b7a796c3767636478796f777a326866326864626269666b6b79783377616768657a71652fa2646970667358221220597a555332ed0f89fca8bda5d4b9772adfdda5d61375c9365b3610e2aa2c242a64736f6c634300080e0033", + "deployedBytecode": "0x60806040526004361061012a5760003560e01c80634f6ccce7116100ab57806395d89b411161006f57806395d89b411461042a578063a22cb46514610455578063b88d4fde1461047e578063c87b56dd146104a7578063e985e9c5146104e4578063f0352651146105215761012a565b80634f6ccce71461031f57806357f7789e1461035c5780636352211e1461038557806370a08231146103c25780638da5cb5b146103ff5761012a565b806318160ddd116100f257806318160ddd1461023a57806319a0b41b1461026557806323b872dd146102905780632f745c59146102b957806342842e0e146102f65761012a565b806301ffc9a71461012f57806306fdde031461016c5780630725e89814610197578063081812fc146101d4578063095ea7b314610211575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906124f2565b61053d565b604051610163919061253a565b60405180910390f35b34801561017857600080fd5b506101816105b7565b60405161018e91906125ee565b60405180910390f35b3480156101a357600080fd5b506101be60048036038101906101b9919061266e565b610649565b6040516101cb9190612763565b60405180910390f35b3480156101e057600080fd5b506101fb60048036038101906101f691906127b1565b6106f9565b60405161020891906127ed565b60405180910390f35b34801561021d57600080fd5b5061023860048036038101906102339190612808565b61073f565b005b34801561024657600080fd5b5061024f610856565b60405161025c9190612857565b60405180910390f35b34801561027157600080fd5b5061027a610863565b6040516102879190612930565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b29190612952565b610912565b005b3480156102c557600080fd5b506102e060048036038101906102db9190612808565b610972565b6040516102ed9190612857565b60405180910390f35b34801561030257600080fd5b5061031d60048036038101906103189190612952565b610a17565b005b34801561032b57600080fd5b50610346600480360381019061034191906127b1565b610a37565b6040516103539190612857565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190612ada565b610aa8565b005b34801561039157600080fd5b506103ac60048036038101906103a791906127b1565b610b06565b6040516103b991906127ed565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e4919061266e565b610b8c565b6040516103f69190612857565b60405180910390f35b34801561040b57600080fd5b50610414610c43565b60405161042191906127ed565b60405180910390f35b34801561043657600080fd5b5061043f610c69565b60405161044c91906125ee565b60405180910390f35b34801561046157600080fd5b5061047c60048036038101906104779190612b62565b610cfb565b005b34801561048a57600080fd5b506104a560048036038101906104a09190612c43565b610d11565b005b3480156104b357600080fd5b506104ce60048036038101906104c991906127b1565b610d73565b6040516104db91906125ee565b60405180910390f35b3480156104f057600080fd5b5061050b60048036038101906105069190612cc6565b610ec4565b604051610518919061253a565b60405180910390f35b61053b600480360381019061053691906127b1565b610f58565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105b057506105af82611052565b5b9050919050565b6060600080546105c690612d35565b80601f01602080910402602001604051908101604052809291908181526020018280546105f290612d35565b801561063f5780601f106106145761010080835404028352916020019161063f565b820191906000526020600020905b81548152906001019060200180831161062257829003601f168201915b5050505050905090565b6060600061065683610b8c565b67ffffffffffffffff81111561066f5761066e6129af565b5b60405190808252806020026020018201604052801561069d5781602001602082028036833780820191505090505b50905060005b6106ac84610b8c565b8110156106ef576106bd8482610972565b8282815181106106d0576106cf612d66565b5b60200260200101818152505080806106e790612dc4565b9150506106a3565b8192505050919050565b600061070482611134565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061074a82610b06565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b190612e7e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107d961117f565b73ffffffffffffffffffffffffffffffffffffffff16148061080857506108078161080261117f565b610ec4565b5b610847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083e90612f10565b60405180910390fd5b6108518383611187565b505050565b6000600880549050905090565b60606000600a5467ffffffffffffffff811115610883576108826129af565b5b6040519080825280602002602001820160405280156108b15781602001602082028036833780820191505090505b50905060005b600a5481101561090a576108ca81611240565b156108f75760018282815181106108e4576108e3612d66565b5b6020026020010190151590811515815250505b808061090290612dc4565b9150506108b7565b819250505090565b61092361091d61117f565b82611281565b610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990612fa2565b60405180910390fd5b61096d838383611316565b505050565b600061097d83610b8c565b82106109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590613034565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a3283838360405180602001604052806000815250610d11565b505050565b6000610a41610856565b8210610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a79906130c6565b60405180910390fd5b60088281548110610a9657610a95612d66565b5b90600052602060002001549050919050565b610ab9610ab361117f565b83611281565b610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90613158565b60405180910390fd5b610b02828261160f565b5050565b600080610b1283611683565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a906131c4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf390613256565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054610c7890612d35565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca490612d35565b8015610cf15780601f10610cc657610100808354040283529160200191610cf1565b820191906000526020600020905b815481529060010190602001808311610cd457829003601f168201915b5050505050905090565b610d0d610d0661117f565b83836116c0565b5050565b610d22610d1c61117f565b83611281565b610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612fa2565b60405180910390fd5b610d6d8484848461182c565b50505050565b6060610d7e82611240565b610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db4906132e8565b60405180910390fd5b6000600c60008481526020019081526020016000208054610ddd90612d35565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0990612d35565b8015610e565780601f10610e2b57610100808354040283529160200191610e56565b820191906000526020600020905b815481529060010190602001808311610e3957829003601f168201915b505050505090506000610e67611888565b90506000815103610e7c578192505050610ebf565b600082511115610eb1578082604051602001610e99929190613344565b60405160208183030381529060405292505050610ebf565b610eba84610d73565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600a548110610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f93906133b4565b60405180910390fd5b600b54341015610fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd890613420565b60405180910390fd5b610feb33826118a8565b6000610ff6826118c6565b6040516020016110069190613466565b6040516020818303038152906040529050611021828261160f565b817ff8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e9560405160405180910390a25050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061111d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061112d575061112c82611994565b5b9050919050565b61113d81611240565b61117c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611173906131c4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166111fa83610b06565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008073ffffffffffffffffffffffffffffffffffffffff1661126283611683565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008061128d83610b06565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806112cf57506112ce8185610ec4565b5b8061130d57508373ffffffffffffffffffffffffffffffffffffffff166112f5846106f9565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661133682610b06565b73ffffffffffffffffffffffffffffffffffffffff161461138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611383906134fe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f290613590565b60405180910390fd5b61140883838360016119fe565b8273ffffffffffffffffffffffffffffffffffffffff1661142882610b06565b73ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611475906134fe565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461160a8383836001611b5c565b505050565b61161882611240565b611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164e90613622565b60405180910390fd5b80600c6000848152602001908152602001600020908051906020019061167e9291906123e3565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361172e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117259061368e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161181f919061253a565b60405180910390a3505050565b611837848484611316565b61184384848484611b62565b611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990613720565b60405180910390fd5b50505050565b6060604051806080016040528060438152602001613a2060439139905090565b6118c2828260405180602001604052806000815250611ce9565b5050565b6060600060016118d584611d44565b01905060008167ffffffffffffffff8111156118f4576118f36129af565b5b6040519080825280601f01601f1916602001820160405280156119265781602001600182028036833780820191505090505b509050600082602001820190505b600115611989578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161197d5761197c613740565b5b04945060008503611934575b819350505050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611a0a84848484611e97565b6001811115611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a45906137e1565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a9557611a9081611e9d565b611ad4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611ad357611ad28582611ee6565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b1657611b1181612053565b611b55565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611b5457611b538482612124565b5b5b5050505050565b50505050565b6000611b838473ffffffffffffffffffffffffffffffffffffffff166121a3565b15611cdc578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611bac61117f565b8786866040518563ffffffff1660e01b8152600401611bce9493929190613856565b6020604051808303816000875af1925050508015611c0a57506040513d601f19601f82011682018060405250810190611c0791906138b7565b60015b611c8c573d8060008114611c3a576040519150601f19603f3d011682016040523d82523d6000602084013e611c3f565b606091505b506000815103611c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7b90613720565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611ce1565b600190505b949350505050565b611cf383836121c6565b611d006000848484611b62565b611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690613720565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611da2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611d9857611d97613740565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ddf576d04ee2d6d415b85acef81000000008381611dd557611dd4613740565b5b0492506020810190505b662386f26fc100008310611e0e57662386f26fc100008381611e0457611e03613740565b5b0492506010810190505b6305f5e1008310611e37576305f5e1008381611e2d57611e2c613740565b5b0492506008810190505b6127108310611e5c576127108381611e5257611e51613740565b5b0492506004810190505b60648310611e7f5760648381611e7557611e74613740565b5b0492506002810190505b600a8310611e8e576001810190505b80915050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611ef384610b8c565b611efd91906138e4565b9050600060076000848152602001908152602001600020549050818114611fe2576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061206791906138e4565b905060006009600084815260200190815260200160002054905060006008838154811061209757612096612d66565b5b9060005260206000200154905080600883815481106120b9576120b8612d66565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061210857612107613918565b5b6001900381819060005260206000200160009055905550505050565b600061212f83610b8c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222c90613993565b60405180910390fd5b61223e81611240565b1561227e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612275906139ff565b60405180910390fd5b61228c6000838360016119fe565b61229581611240565b156122d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cc906139ff565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123df600083836001611b5c565b5050565b8280546123ef90612d35565b90600052602060002090601f0160209004810192826124115760008555612458565b82601f1061242a57805160ff1916838001178555612458565b82800160010185558215612458579182015b8281111561245757825182559160200191906001019061243c565b5b5090506124659190612469565b5090565b5b8082111561248257600081600090555060010161246a565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124cf8161249a565b81146124da57600080fd5b50565b6000813590506124ec816124c6565b92915050565b60006020828403121561250857612507612490565b5b6000612516848285016124dd565b91505092915050565b60008115159050919050565b6125348161251f565b82525050565b600060208201905061254f600083018461252b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561258f578082015181840152602081019050612574565b8381111561259e576000848401525b50505050565b6000601f19601f8301169050919050565b60006125c082612555565b6125ca8185612560565b93506125da818560208601612571565b6125e3816125a4565b840191505092915050565b6000602082019050818103600083015261260881846125b5565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061263b82612610565b9050919050565b61264b81612630565b811461265657600080fd5b50565b60008135905061266881612642565b92915050565b60006020828403121561268457612683612490565b5b600061269284828501612659565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6126da816126c7565b82525050565b60006126ec83836126d1565b60208301905092915050565b6000602082019050919050565b60006127108261269b565b61271a81856126a6565b9350612725836126b7565b8060005b8381101561275657815161273d88826126e0565b9750612748836126f8565b925050600181019050612729565b5085935050505092915050565b6000602082019050818103600083015261277d8184612705565b905092915050565b61278e816126c7565b811461279957600080fd5b50565b6000813590506127ab81612785565b92915050565b6000602082840312156127c7576127c6612490565b5b60006127d58482850161279c565b91505092915050565b6127e781612630565b82525050565b600060208201905061280260008301846127de565b92915050565b6000806040838503121561281f5761281e612490565b5b600061282d85828601612659565b925050602061283e8582860161279c565b9150509250929050565b612851816126c7565b82525050565b600060208201905061286c6000830184612848565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128a78161251f565b82525050565b60006128b9838361289e565b60208301905092915050565b6000602082019050919050565b60006128dd82612872565b6128e7818561287d565b93506128f28361288e565b8060005b8381101561292357815161290a88826128ad565b9750612915836128c5565b9250506001810190506128f6565b5085935050505092915050565b6000602082019050818103600083015261294a81846128d2565b905092915050565b60008060006060848603121561296b5761296a612490565b5b600061297986828701612659565b935050602061298a86828701612659565b925050604061299b8682870161279c565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129e7826125a4565b810181811067ffffffffffffffff82111715612a0657612a056129af565b5b80604052505050565b6000612a19612486565b9050612a2582826129de565b919050565b600067ffffffffffffffff821115612a4557612a446129af565b5b612a4e826125a4565b9050602081019050919050565b82818337600083830152505050565b6000612a7d612a7884612a2a565b612a0f565b905082815260208101848484011115612a9957612a986129aa565b5b612aa4848285612a5b565b509392505050565b600082601f830112612ac157612ac06129a5565b5b8135612ad1848260208601612a6a565b91505092915050565b60008060408385031215612af157612af0612490565b5b6000612aff8582860161279c565b925050602083013567ffffffffffffffff811115612b2057612b1f612495565b5b612b2c85828601612aac565b9150509250929050565b612b3f8161251f565b8114612b4a57600080fd5b50565b600081359050612b5c81612b36565b92915050565b60008060408385031215612b7957612b78612490565b5b6000612b8785828601612659565b9250506020612b9885828601612b4d565b9150509250929050565b600067ffffffffffffffff821115612bbd57612bbc6129af565b5b612bc6826125a4565b9050602081019050919050565b6000612be6612be184612ba2565b612a0f565b905082815260208101848484011115612c0257612c016129aa565b5b612c0d848285612a5b565b509392505050565b600082601f830112612c2a57612c296129a5565b5b8135612c3a848260208601612bd3565b91505092915050565b60008060008060808587031215612c5d57612c5c612490565b5b6000612c6b87828801612659565b9450506020612c7c87828801612659565b9350506040612c8d8782880161279c565b925050606085013567ffffffffffffffff811115612cae57612cad612495565b5b612cba87828801612c15565b91505092959194509250565b60008060408385031215612cdd57612cdc612490565b5b6000612ceb85828601612659565b9250506020612cfc85828601612659565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d4d57607f821691505b602082108103612d6057612d5f612d06565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dcf826126c7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e0157612e00612d95565b5b600182019050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e68602183612560565b9150612e7382612e0c565b604082019050919050565b60006020820190508181036000830152612e9781612e5b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612efa603d83612560565b9150612f0582612e9e565b604082019050919050565b60006020820190508181036000830152612f2981612eed565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612f8c602d83612560565b9150612f9782612f30565b604082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061301e602b83612560565b915061302982612fc2565b604082019050919050565b6000602082019050818103600083015261304d81613011565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006130b0602c83612560565b91506130bb82613054565b604082019050919050565b600060208201905081810360008301526130df816130a3565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613142603183612560565b915061314d826130e6565b604082019050919050565b6000602082019050818103600083015261317181613135565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006131ae601883612560565b91506131b982613178565b602082019050919050565b600060208201905081810360008301526131dd816131a1565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613240602983612560565b915061324b826131e4565b604082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b60006132d2603183612560565b91506132dd82613276565b604082019050919050565b60006020820190508181036000830152613301816132c5565b9050919050565b600081905092915050565b600061331e82612555565b6133288185613308565b9350613338818560208601612571565b80840191505092915050565b60006133508285613313565b915061335c8284613313565b91508190509392505050565b7f696e76616c696420746f6b656e49642e206d7573742062652023393939000000600082015250565b600061339e601d83612560565b91506133a982613368565b602082019050919050565b600060208201905081810360008301526133cd81613391565b9050919050565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600061340a601283612560565b9150613415826133d4565b602082019050919050565b60006020820190508181036000830152613439816133fd565b9050919050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000815250565b60006134728284613313565b915061347d82613440565b60058201915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006134e8602583612560565b91506134f38261348c565b604082019050919050565b60006020820190508181036000830152613517816134db565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061357a602483612560565b91506135858261351e565b604082019050919050565b600060208201905081810360008301526135a98161356d565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b600061360c602e83612560565b9150613617826135b0565b604082019050919050565b6000602082019050818103600083015261363b816135ff565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613678601983612560565b915061368382613642565b602082019050919050565b600060208201905081810360008301526136a78161366b565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061370a603283612560565b9150613715826136ae565b604082019050919050565b60006020820190508181036000830152613739816136fd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006137cb603583612560565b91506137d68261376f565b604082019050919050565b600060208201905081810360008301526137fa816137be565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061382882613801565b613832818561380c565b9350613842818560208601612571565b61384b816125a4565b840191505092915050565b600060808201905061386b60008301876127de565b61387860208301866127de565b6138856040830185612848565b8181036060830152613897818461381d565b905095945050505050565b6000815190506138b1816124c6565b92915050565b6000602082840312156138cd576138cc612490565b5b60006138db848285016138a2565b91505092915050565b60006138ef826126c7565b91506138fa836126c7565b92508282101561390d5761390c612d95565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061397d602083612560565b915061398882613947565b602082019050919050565b600060208201905081810360008301526139ac81613970565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006139e9601c83612560565b91506139f4826139b3565b602082019050919050565b60006020820190508181036000830152613a18816139dc565b905091905056fe697066733a2f2f62616679626569657876717433756162717a6d6871756f6b7a796c3767636478796f777a326866326864626269666b6b79783377616768657a71652fa2646970667358221220597a555332ed0f89fca8bda5d4b9772adfdda5d61375c9365b3610e2aa2c242a64736f6c634300080e0033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:516:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "45:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "45:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "149:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "152:4:14", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "142:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "142:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "142:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "173:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "176:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "166:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "166:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "166:15:14" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "7:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "244:269:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "254:22:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "268:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "274:1:14", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "264:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "264:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "254:6:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "285:38:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "315:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "321:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "311:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "311:12:14" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "289:18:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "362:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "376:27:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "390:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "398:4:14", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "386:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "386:17:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "376:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "342:18:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "335:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "335:26:14" + }, + "nodeType": "YulIf", + "src": "332:81:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "465:42:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "479:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "479:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "479:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "429:18:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "452:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "460:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "449:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "449:14:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "426:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "426:38:14" + }, + "nodeType": "YulIf", + "src": "423:84:14" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "228:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "237:6:14", + "type": "" + } + ], + "src": "193:320:14" + } + ] + }, + "contents": "{\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n", + "id": 14, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:40740:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:14", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:14" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:14", + "type": "" + } + ], + "src": "7:75:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:14" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:14" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "378:105:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "388:89:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "403:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "410:66:14", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "399:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "399:78:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "388:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "370:7:14", + "type": "" + } + ], + "src": "334:149:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "531:78:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "587:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "596:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "599:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "589:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "589:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "589:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "554:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "578:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "561:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "561:23:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "551:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "551:34:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "544:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "544:42:14" + }, + "nodeType": "YulIf", + "src": "541:62:14" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "524:5:14", + "type": "" + } + ], + "src": "489:120:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "666:86:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "676:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "685:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "685:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "740:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "714:25:14" + }, + "nodeType": "YulFunctionCall", + "src": "714:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "714:32:14" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "644:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "652:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "660:5:14", + "type": "" + } + ], + "src": "615:137:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:262:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "869:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "871:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "871:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "871:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "844:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "840:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "840:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "836:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "836:32:14" + }, + "nodeType": "YulIf", + "src": "833:119:14" + }, + { + "nodeType": "YulBlock", + "src": "962:116:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "977:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "991:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "981:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1006:62:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1040:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1051:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1036:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1036:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1060:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1016:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "1016:52:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1006:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "793:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "804:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "816:6:14", + "type": "" + } + ], + "src": "758:327:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1133:48:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1143:32:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1168:5:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1161:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1161:13:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1154:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1154:21:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1143:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1115:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1125:7:14", + "type": "" + } + ], + "src": "1091:90:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1246:50:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1263:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1283:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1268:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "1268:21:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1256:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1256:34:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1256:34:14" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1234:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1241:3:14", + "type": "" + } + ], + "src": "1187:109:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1394:118:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1404:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1416:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1427:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1412:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1404:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1478:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1491:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1487:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1487:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1440:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "1440:65:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1440:65:14" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1366:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1378:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1389:4:14", + "type": "" + } + ], + "src": "1302:210:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1577:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1604:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1598:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "1598:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1588:6:14" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1560:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1570:6:14", + "type": "" + } + ], + "src": "1518:99:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1736:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1741:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1729:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1729:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1729:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "1757:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1776:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1781:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1772:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1757:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1691:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1696:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1707:11:14", + "type": "" + } + ], + "src": "1623:169:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1847:258:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1857:10:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1866:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1861:1:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1926:63:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1951:3:14" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1956:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1947:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1947:11:14" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1970:3:14" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1975:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1966:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1966:11:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1960:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "1960:18:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1940:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1940:39:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:39:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1887:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1884:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "1884:13:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1898:19:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1900:15:14", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1909:1:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1912:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1905:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1905:10:14" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1900:1:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1880:3:14", + "statements": [] + }, + "src": "1876:113:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2023:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2073:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2078:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2069:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2069:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2087:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2062:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2062:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2062:27:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2004:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2007:6:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2001:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "2001:13:14" + }, + "nodeType": "YulIf", + "src": "1998:101:14" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1829:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1834:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1839:6:14", + "type": "" + } + ], + "src": "1798:307:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2159:54:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2169:38:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2183:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2183:14:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2199:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2199:7:14" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2179:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2179:28:14" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2169:6:14" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2142:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2152:6:14", + "type": "" + } + ], + "src": "2111:102:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2311:272:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2321:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2368:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2335:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "2335:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2325:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2383:78:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2449:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2454:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2390:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "2390:71:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2383:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2496:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2492:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2492:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2510:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2515:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2470:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "2470:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "2531:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2542:3:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2569:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2547:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "2547:29:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2538:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2538:39:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2531:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2292:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2299:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2307:3:14", + "type": "" + } + ], + "src": "2219:364:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2707:195:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2717:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2729:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2740:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2725:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2725:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2717:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2764:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2775:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2760:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2760:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2789:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2779:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2779:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2753:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2753:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2753:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "2809:86:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2881:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2890:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2817:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "2817:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2809:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2679:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2691:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2702:4:14", + "type": "" + } + ], + "src": "2589:313:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:81:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:65:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2978:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2985:42:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2974:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2974:54:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2963:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2935:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2945:7:14", + "type": "" + } + ], + "src": "2908:126:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3085:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3095:35:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3124:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "3106:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "3106:24:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3095:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3067:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3077:7:14", + "type": "" + } + ], + "src": "3040:96:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3185:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3242:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3251:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3254:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3244:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3244:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3244:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3208:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3233:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3215:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "3215:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3205:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "3205:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3198:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3198:43:14" + }, + "nodeType": "YulIf", + "src": "3195:63:14" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3178:5:14", + "type": "" + } + ], + "src": "3142:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3322:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3332:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3354:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3341:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "3341:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3332:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3397:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "3370:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "3370:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3370:33:14" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3300:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3308:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3316:5:14", + "type": "" + } + ], + "src": "3270:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3481:263:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3527:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3529:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "3529:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3529:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3502:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3511:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3498:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3498:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3523:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3494:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3494:32:14" + }, + "nodeType": "YulIf", + "src": "3491:119:14" + }, + { + "nodeType": "YulBlock", + "src": "3620:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3635:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3649:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3639:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3664:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3699:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3710:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3695:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3695:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3719:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3674:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "3674:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3664:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3451:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3462:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3474:6:14", + "type": "" + } + ], + "src": "3415:329:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3824:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3835:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3851:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3845:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "3845:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3835:6:14" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3807:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3817:6:14", + "type": "" + } + ], + "src": "3750:114:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3981:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3998:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4003:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3991:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3991:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3991:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "4019:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4038:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4043:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4034:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4034:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "4019:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3953:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3958:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "3969:11:14", + "type": "" + } + ], + "src": "3870:184:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4132:60:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4142:11:14", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4150:3:14" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4142:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4163:22:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4175:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4180:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4171:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4171:14:14" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4163:4:14" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "4119:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4127:4:14", + "type": "" + } + ], + "src": "4060:132:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4243:32:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4253:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4264:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4253:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4225:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4235:7:14", + "type": "" + } + ], + "src": "4198:77:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4336:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4353:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4376:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4358:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "4358:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4346:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4346:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4346:37:14" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4324:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4331:3:14", + "type": "" + } + ], + "src": "4281:108:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4475:99:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4519:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4527:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "4485:33:14" + }, + "nodeType": "YulFunctionCall", + "src": "4485:46:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4485:46:14" + }, + { + "nodeType": "YulAssignment", + "src": "4540:28:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4558:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4563:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4554:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4554:14:14" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "4540:10:14" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4448:6:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4456:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "4464:10:14", + "type": "" + } + ], + "src": "4395:179:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4655:38:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4665:22:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4677:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4682:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4673:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4673:14:14" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "4665:4:14" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "4642:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "4650:4:14", + "type": "" + } + ], + "src": "4580:113:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4853:608:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4863:68:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4925:5:14" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4877:47:14" + }, + "nodeType": "YulFunctionCall", + "src": "4877:54:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4867:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4940:93:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5021:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5026:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4947:73:14" + }, + "nodeType": "YulFunctionCall", + "src": "4947:86:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4940:3:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5042:71:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5107:5:14" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5057:49:14" + }, + "nodeType": "YulFunctionCall", + "src": "5057:56:14" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "5046:7:14", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5122:21:14", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "5136:7:14" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "5126:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5212:224:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5226:34:14", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5253:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5247:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "5247:13:14" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "5230:13:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5273:70:14", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "5324:13:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5339:3:14" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "5280:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "5280:63:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5273:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5356:70:14", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5419:6:14" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5366:52:14" + }, + "nodeType": "YulFunctionCall", + "src": "5366:60:14" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5356:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5174:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5177:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5171:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "5171:13:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5185:18:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5187:14:14", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5196:1:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5199:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5192:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5192:9:14" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5187:1:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5156:14:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5158:10:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5167:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "5162:1:14", + "type": "" + } + ] + } + ] + }, + "src": "5152:284:14" + }, + { + "nodeType": "YulAssignment", + "src": "5445:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5452:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5445:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4832:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4839:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4848:3:14", + "type": "" + } + ], + "src": "4729:732:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5615:225:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5625:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5637:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5648:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5633:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5633:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5625:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5672:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5683:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5668:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5668:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5691:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5697:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5687:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5687:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5661:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5661:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5661:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "5717:116:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5819:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5828:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5725:93:14" + }, + "nodeType": "YulFunctionCall", + "src": "5725:108:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5717:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5587:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5599:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5610:4:14", + "type": "" + } + ], + "src": "5467:373:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5889:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5946:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5955:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5958:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5948:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5948:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5948:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5912:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5937:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5919:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "5919:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5909:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "5909:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5902:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5902:43:14" + }, + "nodeType": "YulIf", + "src": "5899:63:14" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5882:5:14", + "type": "" + } + ], + "src": "5846:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6026:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6036:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6058:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6045:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "6045:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6036:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6101:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "6074:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "6074:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6074:33:14" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6004:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6012:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6020:5:14", + "type": "" + } + ], + "src": "5974:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6185:263:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6231:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6233:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "6233:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6233:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6206:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6215:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6202:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6202:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6227:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6198:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6198:32:14" + }, + "nodeType": "YulIf", + "src": "6195:119:14" + }, + { + "nodeType": "YulBlock", + "src": "6324:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6339:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6353:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6343:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6368:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6403:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6414:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6399:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6399:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6423:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6378:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "6378:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6368:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6155:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6166:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6178:6:14", + "type": "" + } + ], + "src": "6119:329:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6519:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6536:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6559:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "6541:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "6541:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6529:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6529:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6529:37:14" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6507:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6514:3:14", + "type": "" + } + ], + "src": "6454:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6676:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6686:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6698:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6709:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6694:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6694:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6686:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6766:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6779:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6790:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6775:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6775:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "6722:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "6722:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6722:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6648:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6660:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6671:4:14", + "type": "" + } + ], + "src": "6578:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6889:391:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6935:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6937:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "6937:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6937:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6910:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6919:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6906:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6906:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6931:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6902:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6902:32:14" + }, + "nodeType": "YulIf", + "src": "6899:119:14" + }, + { + "nodeType": "YulBlock", + "src": "7028:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7043:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7057:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7047:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7072:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7107:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7118:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7103:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7103:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7127:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7082:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "7082:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7072:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7155:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7170:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7184:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7174:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7200:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7235:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7246:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7231:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7231:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7255:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7210:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "7210:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7200:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6851:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6862:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6874:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6882:6:14", + "type": "" + } + ], + "src": "6806:474:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7351:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7368:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7391:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7373:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "7373:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7361:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7361:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7361:37:14" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7339:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7346:3:14", + "type": "" + } + ], + "src": "7286:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7508:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7518:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7530:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7541:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7526:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7526:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7518:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7598:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7611:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7622:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7607:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7607:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "7554:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "7554:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7554:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7480:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7492:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7503:4:14", + "type": "" + } + ], + "src": "7410:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7709:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7720:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7736:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7730:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "7730:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7720:6:14" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7692:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7702:6:14", + "type": "" + } + ], + "src": "7638:111:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7863:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7880:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7885:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7873:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7873:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7873:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "7901:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7920:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7925:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7916:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7916:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "7901:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7835:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7840:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "7851:11:14", + "type": "" + } + ], + "src": "7755:181:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8011:60:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8021:11:14", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8029:3:14" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8021:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8042:22:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8054:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8059:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8050:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8050:14:14" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8042:4:14" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "7998:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "8006:4:14", + "type": "" + } + ], + "src": "7942:129:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8126:50:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8143:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8163:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "8148:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "8148:21:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8136:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "8136:34:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8136:34:14" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8114:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8121:3:14", + "type": "" + } + ], + "src": "8077:99:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8256:93:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8294:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8302:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "8266:27:14" + }, + "nodeType": "YulFunctionCall", + "src": "8266:40:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8266:40:14" + }, + { + "nodeType": "YulAssignment", + "src": "8315:28:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8333:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8338:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8329:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8329:14:14" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "8315:10:14" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8229:6:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8237:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "8245:10:14", + "type": "" + } + ], + "src": "8182:167:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8427:38:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8437:22:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8449:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8454:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8445:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8445:14:14" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "8437:4:14" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "8414:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "8422:4:14", + "type": "" + } + ], + "src": "8355:110:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8613:590:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8623:65:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8682:5:14" + } + ], + "functionName": { + "name": "array_length_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8637:44:14" + }, + "nodeType": "YulFunctionCall", + "src": "8637:51:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8627:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8697:90:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8775:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8780:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8704:70:14" + }, + "nodeType": "YulFunctionCall", + "src": "8704:83:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8697:3:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8796:68:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8858:5:14" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8811:46:14" + }, + "nodeType": "YulFunctionCall", + "src": "8811:53:14" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "8800:7:14", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8873:21:14", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "8887:7:14" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "8877:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8963:215:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8977:34:14", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9004:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8998:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "8998:13:14" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "8981:13:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9024:64:14", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "9069:13:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9084:3:14" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "9031:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "9031:57:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9024:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9101:67:14", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9161:6:14" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9111:49:14" + }, + "nodeType": "YulFunctionCall", + "src": "9111:57:14" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9101:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8925:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8928:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8922:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "8922:13:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "8936:18:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8938:14:14", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8947:1:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8950:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8943:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8943:9:14" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8938:1:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "8907:14:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8909:10:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8918:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "8913:1:14", + "type": "" + } + ] + } + ] + }, + "src": "8903:275:14" + }, + { + "nodeType": "YulAssignment", + "src": "9187:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9194:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9187:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8592:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8599:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8608:3:14", + "type": "" + } + ], + "src": "8495:708:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9351:219:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9361:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9373:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9384:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9369:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9369:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9361:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9408:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9419:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9404:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9404:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9427:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9433:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9423:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9423:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9397:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "9397:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9397:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "9453:110:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9549:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9558:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9461:87:14" + }, + "nodeType": "YulFunctionCall", + "src": "9461:102:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9453:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9323:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9335:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9346:4:14", + "type": "" + } + ], + "src": "9209:361:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9676:519:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9722:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9724:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "9724:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9724:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9697:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9706:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9693:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9693:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9718:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9689:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9689:32:14" + }, + "nodeType": "YulIf", + "src": "9686:119:14" + }, + { + "nodeType": "YulBlock", + "src": "9815:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9830:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9844:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9834:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9859:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9894:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9905:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9890:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9890:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9914:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9869:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "9869:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9859:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9942:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9957:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9971:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9961:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9987:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10022:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10033:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10018:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10018:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10042:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9997:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "9997:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9987:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10070:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10085:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10099:2:14", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10089:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10115:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10150:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10161:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10146:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10146:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10170:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "10125:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "10125:53:14" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10115:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9630:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9641:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9653:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9661:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9669:6:14", + "type": "" + } + ], + "src": "9576:619:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10290:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10307:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10310:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10300:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10300:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10300:12:14" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "10201:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10413:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10430:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10433:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10423:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10423:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10423:12:14" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "10324:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10475:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10492:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10495:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10485:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10485:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10485:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10589:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10592:4:14", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10582:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10582:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10582:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10613:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10616:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10606:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10606:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10606:15:14" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "10447:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10676:238:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10686:58:14", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10708:6:14" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "10738:4:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "10716:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "10716:27:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10704:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10704:40:14" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "10690:10:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10855:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "10857:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "10857:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10857:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "10798:10:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10810:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10795:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "10795:34:14" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "10834:10:14" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10846:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10831:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "10831:22:14" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "10792:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "10792:62:14" + }, + "nodeType": "YulIf", + "src": "10789:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10893:2:14", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "10897:10:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10886:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10886:22:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10886:22:14" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10662:6:14", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "10670:4:14", + "type": "" + } + ], + "src": "10633:281:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10961:88:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10971:30:14", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "10981:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "10981:20:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10971:6:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11030:6:14" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11038:4:14" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "11010:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "11010:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11010:33:14" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "10945:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10954:6:14", + "type": "" + } + ], + "src": "10920:129:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11122:241:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11227:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "11229:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "11229:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11229:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11199:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11207:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11196:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "11196:30:14" + }, + "nodeType": "YulIf", + "src": "11193:56:14" + }, + { + "nodeType": "YulAssignment", + "src": "11259:37:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11289:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "11267:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "11267:29:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11259:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11333:23:14", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11345:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11351:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11341:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11341:15:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11333:4:14" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11106:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "11117:4:14", + "type": "" + } + ], + "src": "11055:308:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11420:103:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11443:3:14" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11448:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11453:6:14" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "11430:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "11430:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11430:30:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11501:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11506:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11497:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11497:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11515:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11490:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "11490:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11490:27:14" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11402:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "11407:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11412:6:14", + "type": "" + } + ], + "src": "11369:154:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11613:328:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11623:75:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11690:6:14" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11648:41:14" + }, + "nodeType": "YulFunctionCall", + "src": "11648:49:14" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "11632:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "11632:66:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11623:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11714:5:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11721:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11707:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "11707:21:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11707:21:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11737:27:14", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11752:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11759:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11748:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11748:16:14" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "11741:3:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11802:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "11804:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "11804:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11804:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11783:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11788:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11779:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11779:16:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11797:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11776:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "11776:25:14" + }, + "nodeType": "YulIf", + "src": "11773:112:14" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11918:3:14" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11923:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11928:6:14" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "11894:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "11894:41:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11894:41:14" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11586:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11591:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11599:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "11607:5:14", + "type": "" + } + ], + "src": "11529:412:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12023:278:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12072:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "12074:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "12074:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12074:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12051:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12059:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12047:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12047:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12066:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12043:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12043:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12036:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12036:35:14" + }, + "nodeType": "YulIf", + "src": "12033:122:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12164:34:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12191:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12178:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "12178:20:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12168:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12207:88:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12268:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12276:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12264:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12264:17:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12283:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12291:3:14" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12216:47:14" + }, + "nodeType": "YulFunctionCall", + "src": "12216:79:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12207:5:14" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12001:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12009:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "12017:5:14", + "type": "" + } + ], + "src": "11961:340:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12400:561:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12446:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "12448:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "12448:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12448:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12421:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12430:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12417:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12417:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12442:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12413:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12413:32:14" + }, + "nodeType": "YulIf", + "src": "12410:119:14" + }, + { + "nodeType": "YulBlock", + "src": "12539:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12554:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12568:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12558:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12583:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12618:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12629:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12614:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12614:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12638:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "12593:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "12593:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12583:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12666:288:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12681:46:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12712:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12723:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12708:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12708:18:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12695:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "12695:32:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12685:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12774:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "12776:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "12776:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12776:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12746:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12754:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12743:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "12743:30:14" + }, + "nodeType": "YulIf", + "src": "12740:117:14" + }, + { + "nodeType": "YulAssignment", + "src": "12871:73:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12916:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12927:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12912:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12912:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12936:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12881:30:14" + }, + "nodeType": "YulFunctionCall", + "src": "12881:63:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12871:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12362:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12373:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12385:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12393:6:14", + "type": "" + } + ], + "src": "12307:654:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13007:76:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13061:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13070:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13073:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13063:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "13063:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13063:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13030:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13052:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "13037:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "13037:21:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13027:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "13027:32:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13020:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "13020:40:14" + }, + "nodeType": "YulIf", + "src": "13017:60:14" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13000:5:14", + "type": "" + } + ], + "src": "12967:116:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13138:84:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13148:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13170:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13157:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "13157:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13148:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13210:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "13186:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "13186:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13186:30:14" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13116:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13124:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13132:5:14", + "type": "" + } + ], + "src": "13089:133:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13308:388:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13354:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "13356:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13356:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13356:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13329:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13338:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13325:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13325:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13350:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13321:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13321:32:14" + }, + "nodeType": "YulIf", + "src": "13318:119:14" + }, + { + "nodeType": "YulBlock", + "src": "13447:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13462:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13476:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13466:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13491:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13526:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13537:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13522:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13522:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13546:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "13501:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "13501:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13491:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13574:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13589:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13603:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13593:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13619:60:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13651:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13662:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13647:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13647:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13671:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "13629:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "13629:50:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13619:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13270:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13281:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13293:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13301:6:14", + "type": "" + } + ], + "src": "13228:468:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13768:241:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13873:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "13875:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "13875:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13875:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13845:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13853:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13842:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "13842:30:14" + }, + "nodeType": "YulIf", + "src": "13839:56:14" + }, + { + "nodeType": "YulAssignment", + "src": "13905:37:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13935:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "13913:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "13913:29:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13905:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13979:23:14", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13991:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13997:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13987:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13987:15:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13979:4:14" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13752:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "13763:4:14", + "type": "" + } + ], + "src": "13702:307:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14098:327:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14108:74:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14174:6:14" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14133:40:14" + }, + "nodeType": "YulFunctionCall", + "src": "14133:48:14" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "14117:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "14117:65:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14108:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14198:5:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14205:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14191:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14191:21:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14191:21:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14221:27:14", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14236:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14243:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14232:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14232:16:14" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "14225:3:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14286:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "14288:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "14288:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14288:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "14267:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14272:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14263:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14263:16:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14281:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14260:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "14260:25:14" + }, + "nodeType": "YulIf", + "src": "14257:112:14" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "14402:3:14" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "14407:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14412:6:14" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "14378:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "14378:41:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14378:41:14" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "14071:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14076:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14084:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "14092:5:14", + "type": "" + } + ], + "src": "14015:410:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14505:277:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14554:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "14556:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "14556:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14556:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14533:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14541:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14529:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14529:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14548:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14525:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14525:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14518:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14518:35:14" + }, + "nodeType": "YulIf", + "src": "14515:122:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14646:34:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14673:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14660:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "14660:20:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14650:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14689:87:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14749:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14757:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14745:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14745:17:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14764:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14772:3:14" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14698:46:14" + }, + "nodeType": "YulFunctionCall", + "src": "14698:78:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14689:5:14" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14483:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14491:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "14499:5:14", + "type": "" + } + ], + "src": "14444:338:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14914:817:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14961:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "14963:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "14963:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14963:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14935:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14944:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14931:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14931:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14956:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14927:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14927:33:14" + }, + "nodeType": "YulIf", + "src": "14924:120:14" + }, + { + "nodeType": "YulBlock", + "src": "15054:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15069:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15083:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15073:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15098:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15133:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15144:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15129:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15129:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15153:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15108:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "15108:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15098:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15181:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15196:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15210:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15200:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15226:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15261:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15272:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15257:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15257:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15281:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15236:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "15236:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15226:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15309:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15324:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15338:2:14", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15328:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15354:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15389:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15400:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15385:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15385:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15409:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "15364:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "15364:53:14" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15354:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15437:287:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15452:46:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15483:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15494:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15479:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15479:18:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15466:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "15466:32:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15456:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15545:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "15547:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "15547:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15547:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15517:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15525:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15514:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "15514:30:14" + }, + "nodeType": "YulIf", + "src": "15511:117:14" + }, + { + "nodeType": "YulAssignment", + "src": "15642:72:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15686:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15697:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15682:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15682:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15706:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15652:29:14" + }, + "nodeType": "YulFunctionCall", + "src": "15652:62:14" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "15642:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14860:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14871:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14883:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14891:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14899:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14907:6:14", + "type": "" + } + ], + "src": "14788:943:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15820:391:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15866:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "15868:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "15868:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15868:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15841:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15850:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15837:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15837:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15862:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15833:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15833:32:14" + }, + "nodeType": "YulIf", + "src": "15830:119:14" + }, + { + "nodeType": "YulBlock", + "src": "15959:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15974:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15988:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15978:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16003:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16038:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16049:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16034:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16034:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16058:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "16013:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "16013:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16003:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "16086:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16101:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16115:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16105:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16131:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16166:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16177:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16162:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16162:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16186:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "16141:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "16141:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16131:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15782:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15793:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15805:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15813:6:14", + "type": "" + } + ], + "src": "15737:474:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16245:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16262:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16265:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16255:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16255:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16255:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16359:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16362:4:14", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16352:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16352:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16352:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16383:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16386:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16376:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16376:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16376:15:14" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "16217:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16454:269:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16464:22:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "16478:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16484:1:14", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "16474:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16474:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16464:6:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16495:38:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "16525:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16531:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "16521:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16521:12:14" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "16499:18:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16572:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16586:27:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16600:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16608:4:14", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "16596:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16596:17:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16586:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "16552:18:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "16545:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16545:26:14" + }, + "nodeType": "YulIf", + "src": "16542:81:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16675:42:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "16689:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "16689:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16689:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "16639:18:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16662:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16670:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "16659:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "16659:14:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "16636:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "16636:38:14" + }, + "nodeType": "YulIf", + "src": "16633:84:14" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "16438:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "16447:6:14", + "type": "" + } + ], + "src": "16403:320:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16757:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16774:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16777:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16767:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16767:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16767:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16871:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16874:4:14", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16864:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16864:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16864:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16895:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16898:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16888:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16888:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16888:15:14" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "16729:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16943:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16960:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16963:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16953:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16953:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16953:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17057:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17060:4:14", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17050:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17050:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17050:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17081:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17084:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17074:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17074:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17074:15:14" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "16915:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17144:190:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17154:33:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17181:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "17163:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "17163:24:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17154:5:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17277:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "17279:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "17279:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17279:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17202:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17209:66:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "17199:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "17199:77:14" + }, + "nodeType": "YulIf", + "src": "17196:103:14" + }, + { + "nodeType": "YulAssignment", + "src": "17308:20:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17319:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17326:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17315:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17315:13:14" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "17308:3:14" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17130:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "17140:3:14", + "type": "" + } + ], + "src": "17101:233:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17446:114:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17468:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17476:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17464:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17464:14:14" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17480:34:14", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17457:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17457:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17457:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17536:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17544:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17532:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17532:15:14" + }, + { + "hexValue": "72", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17549:3:14", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17525:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17525:28:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17525:28:14" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17438:6:14", + "type": "" + } + ], + "src": "17340:220:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17712:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17722:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17788:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17793:2:14", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17729:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "17729:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17722:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17894:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulIdentifier", + "src": "17805:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "17805:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17805:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "17907:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17918:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17923:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17914:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17914:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17907:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17700:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17708:3:14", + "type": "" + } + ], + "src": "17566:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18109:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18119:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18131:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18142:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18127:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18127:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18119:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18166:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18177:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18162:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18162:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18185:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18191:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18181:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18181:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18155:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "18155:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18155:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "18211:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18345:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18219:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "18219:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18211:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18089:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18104:4:14", + "type": "" + } + ], + "src": "17938:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18469:142:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18491:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18499:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18487:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18487:14:14" + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18503:34:14", + "type": "", + "value": "ERC721: approve caller is not to" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18480:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "18480:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18480:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18559:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18567:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18555:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18555:15:14" + }, + { + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18572:31:14", + "type": "", + "value": "ken owner or approved for all" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18548:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "18548:56:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18548:56:14" + } + ] + }, + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18461:6:14", + "type": "" + } + ], + "src": "18363:248:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18763:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18773:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18839:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18844:2:14", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18780:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "18780:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18773:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18945:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulIdentifier", + "src": "18856:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "18856:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18856:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "18958:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18969:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18974:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18965:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18965:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18958:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18751:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18759:3:14", + "type": "" + } + ], + "src": "18617:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19160:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19170:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19182:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19193:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19178:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19178:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19170:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19217:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19228:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19213:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19213:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19236:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19242:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19232:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19232:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19206:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19206:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19206:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "19262:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19396:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19270:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "19270:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19262:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19140:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19155:4:14", + "type": "" + } + ], + "src": "18989:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19520:126:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19542:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19550:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19538:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19538:14:14" + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19554:34:14", + "type": "", + "value": "ERC721: caller is not token owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19531:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19531:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19531:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19610:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19618:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19606:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19606:15:14" + }, + { + "hexValue": "72206f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19623:15:14", + "type": "", + "value": "r or approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19599:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19599:40:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19599:40:14" + } + ] + }, + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19512:6:14", + "type": "" + } + ], + "src": "19414:232:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19798:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19808:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19874:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19879:2:14", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19815:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "19815:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19808:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19980:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulIdentifier", + "src": "19891:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "19891:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19891:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "19993:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20004:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20009:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20000:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20000:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19993:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19786:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19794:3:14", + "type": "" + } + ], + "src": "19652:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20195:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20205:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20217:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20228:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20213:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20213:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20205:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20252:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20263:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20248:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20248:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20271:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20277:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20267:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20267:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20241:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20241:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20241:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "20297:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20431:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20305:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "20305:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20297:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20175:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20190:4:14", + "type": "" + } + ], + "src": "20024:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20555:124:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20577:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20585:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20573:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20573:14:14" + }, + { + "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20589:34:14", + "type": "", + "value": "ERC721Enumerable: owner index ou" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20566:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20566:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20566:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20645:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20653:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20641:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20641:15:14" + }, + { + "hexValue": "74206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20658:13:14", + "type": "", + "value": "t of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20634:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20634:38:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20634:38:14" + } + ] + }, + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20547:6:14", + "type": "" + } + ], + "src": "20449:230:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20831:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20841:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20907:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20912:2:14", + "type": "", + "value": "43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20848:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "20848:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20841:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21013:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulIdentifier", + "src": "20924:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "20924:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20924:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "21026:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21037:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21042:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21033:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21033:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21026:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20819:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20827:3:14", + "type": "" + } + ], + "src": "20685:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21228:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21238:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21250:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21261:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21246:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21246:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21238:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21285:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21296:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21281:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21281:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21304:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21310:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21300:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21300:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21274:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21274:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21274:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "21330:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21464:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21338:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "21338:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21330:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21208:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21223:4:14", + "type": "" + } + ], + "src": "21057:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21588:125:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21610:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21618:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21606:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21606:14:14" + }, + { + "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21622:34:14", + "type": "", + "value": "ERC721Enumerable: global index o" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21599:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21599:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21599:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21678:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21686:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21674:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21674:15:14" + }, + { + "hexValue": "7574206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21691:14:14", + "type": "", + "value": "ut of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21667:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21667:39:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21667:39:14" + } + ] + }, + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21580:6:14", + "type": "" + } + ], + "src": "21482:231:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21865:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21875:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21941:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21946:2:14", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21882:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "21882:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21875:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22047:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulIdentifier", + "src": "21958:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "21958:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21958:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "22060:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22071:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22076:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22067:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22067:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22060:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21853:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21861:3:14", + "type": "" + } + ], + "src": "21719:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22262:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22272:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22284:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22295:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22280:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22280:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22272:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22319:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22330:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22315:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22315:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22338:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22344:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22334:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22334:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22308:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22308:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22308:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "22364:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22498:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22372:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "22372:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22364:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22242:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22257:4:14", + "type": "" + } + ], + "src": "22091:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22622:130:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22644:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22652:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22640:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22640:14:14" + }, + { + "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22656:34:14", + "type": "", + "value": "ERC721: transfer caller is not o" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22633:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22633:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22633:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22712:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22720:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22708:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22708:15:14" + }, + { + "hexValue": "776e6572206e6f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22725:19:14", + "type": "", + "value": "wner nor approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22701:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22701:44:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22701:44:14" + } + ] + }, + "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22614:6:14", + "type": "" + } + ], + "src": "22516:236:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22904:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22914:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22980:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22985:2:14", + "type": "", + "value": "49" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22921:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "22921:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22914:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23086:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "nodeType": "YulIdentifier", + "src": "22997:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "22997:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22997:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "23099:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23110:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23115:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23106:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23106:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23099:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22892:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22900:3:14", + "type": "" + } + ], + "src": "22758:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23301:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23311:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23323:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23334:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23319:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23319:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23311:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23358:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23369:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23354:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23354:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23377:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23383:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23373:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23373:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23347:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23347:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23347:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "23403:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23537:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23411:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "23411:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23403:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23281:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23296:4:14", + "type": "" + } + ], + "src": "23130:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23661:68:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23683:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23691:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23679:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23679:14:14" + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23695:26:14", + "type": "", + "value": "ERC721: invalid token ID" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23672:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23672:50:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23672:50:14" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23653:6:14", + "type": "" + } + ], + "src": "23555:174:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23881:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23891:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23957:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23962:2:14", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23898:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "23898:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23891:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24063:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulIdentifier", + "src": "23974:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "23974:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23974:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "24076:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24087:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24092:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24083:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24083:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24076:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23869:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23877:3:14", + "type": "" + } + ], + "src": "23735:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24278:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24288:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24300:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24311:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24296:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24296:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24288:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24335:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24346:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24331:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24331:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24354:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24360:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24350:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24350:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24324:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24324:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24324:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "24380:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24514:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24388:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "24388:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24380:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24258:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24273:4:14", + "type": "" + } + ], + "src": "24107:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24638:122:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24660:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24668:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24656:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24656:14:14" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24672:34:14", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24649:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24649:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24649:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24728:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24736:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24724:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24724:15:14" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24741:11:14", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24717:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24717:36:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24717:36:14" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24630:6:14", + "type": "" + } + ], + "src": "24532:228:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24912:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24922:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24988:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24993:2:14", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24929:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "24929:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24922:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25094:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulIdentifier", + "src": "25005:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "25005:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "25005:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "25107:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25118:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25123:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25114:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25114:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25107:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24900:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24908:3:14", + "type": "" + } + ], + "src": "24766:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25309:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25319:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25331:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25342:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25327:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25327:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25319:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25366:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25377:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25362:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25362:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25385:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25391:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25381:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25381:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25355:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25355:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "25355:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "25411:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25545:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25419:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "25419:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25411:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25289:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25304:4:14", + "type": "" + } + ], + "src": "25138:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25669:130:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25691:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25699:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25687:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25687:14:14" + }, + { + "hexValue": "45524337323155524953746f726167653a2055524920717565727920666f7220", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25703:34:14", + "type": "", + "value": "ERC721URIStorage: URI query for " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25680:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25680:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "25680:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25759:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25767:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25755:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25755:15:14" + }, + { + "hexValue": "6e6f6e6578697374656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25772:19:14", + "type": "", + "value": "nonexistent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25748:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25748:44:14" + }, + "nodeType": "YulExpressionStatement", + "src": "25748:44:14" + } + ] + }, + "name": "store_literal_in_memory_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25661:6:14", + "type": "" + } + ], + "src": "25563:236:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25951:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25961:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26027:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26032:2:14", + "type": "", + "value": "49" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25968:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "25968:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25961:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26133:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", + "nodeType": "YulIdentifier", + "src": "26044:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "26044:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "26044:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "26146:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26157:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26162:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26153:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26153:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26146:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25939:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25947:3:14", + "type": "" + } + ], + "src": "25805:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26348:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26358:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26370:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26381:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26366:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26366:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26358:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26405:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26416:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26401:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26401:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26424:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26430:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26420:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26420:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26394:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "26394:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "26394:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "26450:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26584:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26458:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "26458:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26450:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26328:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26343:4:14", + "type": "" + } + ], + "src": "26177:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26716:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26726:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26741:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "26726:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26688:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "26693:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "26704:11:14", + "type": "" + } + ], + "src": "26602:148:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26866:267:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "26876:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26923:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26890:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "26890:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "26880:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26938:96:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27022:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27027:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "26945:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "26945:89:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26938:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27069:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27076:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27065:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27065:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27083:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27088:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "27043:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "27043:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27043:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "27104:23:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27115:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27120:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27111:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27111:16:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27104:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26847:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26854:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26862:3:14", + "type": "" + } + ], + "src": "26756:377:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27323:251:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27334:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27423:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27432:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "27341:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "27341:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27334:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "27446:102:14", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "27535:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27544:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "27453:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "27453:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27446:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "27558:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27565:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27558:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27294:3:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "27300:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "27308:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27319:3:14", + "type": "" + } + ], + "src": "27139:435:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27686:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27708:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27716:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27704:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27704:14:14" + }, + { + "hexValue": "696e76616c696420746f6b656e49642e206d7573742062652023393939", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27720:31:14", + "type": "", + "value": "invalid tokenId. must be #999" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27697:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "27697:55:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27697:55:14" + } + ] + }, + "name": "store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27678:6:14", + "type": "" + } + ], + "src": "27580:179:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27911:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27921:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27987:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27992:2:14", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27928:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "27928:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27921:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28093:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "nodeType": "YulIdentifier", + "src": "28004:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "28004:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28004:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "28106:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28117:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28122:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28113:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28113:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28106:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27899:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27907:3:14", + "type": "" + } + ], + "src": "27765:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28308:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28318:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28330:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28341:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28326:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28326:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28318:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28365:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28376:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28361:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28361:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28384:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28390:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28380:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28380:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28354:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28354:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28354:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "28410:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28544:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28418:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "28418:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28410:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28288:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28303:4:14", + "type": "" + } + ], + "src": "28137:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28668:62:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28690:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28698:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28686:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28686:14:14" + }, + { + "hexValue": "696e73756666696369656e742066756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28702:20:14", + "type": "", + "value": "insufficient funds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28679:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28679:44:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28679:44:14" + } + ] + }, + "name": "store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28660:6:14", + "type": "" + } + ], + "src": "28562:168:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28882:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28892:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28958:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28963:2:14", + "type": "", + "value": "18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28899:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "28899:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28892:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29064:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "nodeType": "YulIdentifier", + "src": "28975:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "28975:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28975:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "29077:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29088:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29093:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29084:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29084:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29077:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28870:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28878:3:14", + "type": "" + } + ], + "src": "28736:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29279:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29289:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29301:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29312:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29297:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29297:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29289:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29336:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29347:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29332:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29332:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29355:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29361:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29351:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29351:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29325:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29325:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29325:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "29381:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29515:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29389:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "29389:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29381:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29259:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29274:4:14", + "type": "" + } + ], + "src": "29108:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29679:36:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29696:3:14" + }, + { + "hexValue": "2e6a736f6e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29701:7:14", + "type": "", + "value": ".json" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29689:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29689:20:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29689:20:14" + } + ] + }, + "name": "abi_encode_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972_to_t_bytes5_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29674:3:14", + "type": "" + } + ], + "src": "29533:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29947:313:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29958:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "30047:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30056:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "29965:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "29965:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29958:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30203:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972_to_t_bytes5_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "30070:131:14" + }, + "nodeType": "YulFunctionCall", + "src": "30070:137:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30070:137:14" + }, + { + "nodeType": "YulAssignment", + "src": "30216:18:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30227:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30232:1:14", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30223:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30223:11:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30216:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30244:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30251:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30244:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29926:3:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "29932:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29943:3:14", + "type": "" + } + ], + "src": "29721:539:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30372:118:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30394:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30402:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30390:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30390:14:14" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30406:34:14", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30383:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30383:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30383:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30462:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30470:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30458:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30458:15:14" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30475:7:14", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30451:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30451:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30451:32:14" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30364:6:14", + "type": "" + } + ], + "src": "30266:224:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30642:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30652:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30718:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30723:2:14", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30659:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "30659:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30652:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30824:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulIdentifier", + "src": "30735:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "30735:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30735:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "30837:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30848:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30853:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30844:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30844:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30837:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30630:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30638:3:14", + "type": "" + } + ], + "src": "30496:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31039:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31049:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31061:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31072:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31057:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31057:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31049:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31096:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31107:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31092:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31092:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31115:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31121:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31111:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31111:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31085:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31085:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31085:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "31141:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31275:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31149:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "31149:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31141:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31019:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31034:4:14", + "type": "" + } + ], + "src": "30868:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31399:117:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31421:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31429:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31417:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31417:14:14" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31433:34:14", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31410:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31410:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31410:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31489:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31497:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31485:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31485:15:14" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31502:6:14", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31478:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31478:31:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31478:31:14" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31391:6:14", + "type": "" + } + ], + "src": "31293:223:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31668:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31678:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31744:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31749:2:14", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31685:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "31685:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31678:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31850:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulIdentifier", + "src": "31761:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "31761:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31761:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "31863:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31874:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31879:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31870:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31870:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31863:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31656:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31664:3:14", + "type": "" + } + ], + "src": "31522:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32065:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32075:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32087:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32098:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32083:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32083:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32075:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32122:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32133:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32118:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32118:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32141:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32147:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "32137:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32137:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32111:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32111:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32111:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "32167:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32301:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32175:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "32175:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32167:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32045:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32060:4:14", + "type": "" + } + ], + "src": "31894:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32425:127:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32447:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32455:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32443:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32443:14:14" + }, + { + "hexValue": "45524337323155524953746f726167653a2055524920736574206f66206e6f6e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32459:34:14", + "type": "", + "value": "ERC721URIStorage: URI set of non" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32436:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32436:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32436:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32515:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32523:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32511:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32511:15:14" + }, + { + "hexValue": "6578697374656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32528:16:14", + "type": "", + "value": "existent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32504:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32504:41:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32504:41:14" + } + ] + }, + "name": "store_literal_in_memory_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "32417:6:14", + "type": "" + } + ], + "src": "32319:233:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32704:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32714:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32780:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32785:2:14", + "type": "", + "value": "46" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32721:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "32721:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32714:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32886:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", + "nodeType": "YulIdentifier", + "src": "32797:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "32797:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32797:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "32899:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32910:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32915:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32906:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32906:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32899:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32692:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32700:3:14", + "type": "" + } + ], + "src": "32558:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33101:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33111:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33123:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33134:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33119:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33119:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33111:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33158:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33169:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33154:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33154:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33177:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33183:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33173:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33173:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33147:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33147:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33147:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "33203:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33337:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33211:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "33211:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33203:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33081:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33096:4:14", + "type": "" + } + ], + "src": "32930:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33461:69:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33483:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33491:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33479:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33479:14:14" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33495:27:14", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33472:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33472:51:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33472:51:14" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33453:6:14", + "type": "" + } + ], + "src": "33355:175:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33682:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33692:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33758:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33763:2:14", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33699:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "33699:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33692:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33864:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulIdentifier", + "src": "33775:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "33775:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33775:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "33877:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33888:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33893:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33884:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33884:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33877:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33670:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33678:3:14", + "type": "" + } + ], + "src": "33536:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34079:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34089:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34101:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34112:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34097:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34097:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34089:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34136:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34147:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34132:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34132:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34155:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34161:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34151:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34151:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34125:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "34125:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "34125:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "34181:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34315:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34189:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "34189:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34181:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34059:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34074:4:14", + "type": "" + } + ], + "src": "33908:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34439:131:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34461:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34469:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34457:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34457:14:14" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34473:34:14", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34450:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "34450:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "34450:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34529:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34537:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34525:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34525:15:14" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34542:20:14", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34518:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "34518:45:14" + }, + "nodeType": "YulExpressionStatement", + "src": "34518:45:14" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34431:6:14", + "type": "" + } + ], + "src": "34333:237:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34722:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34732:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34798:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34803:2:14", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34739:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "34739:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34732:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34904:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulIdentifier", + "src": "34815:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "34815:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "34815:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "34917:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34928:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34933:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34924:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34924:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34917:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34710:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34718:3:14", + "type": "" + } + ], + "src": "34576:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35119:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35129:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35141:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35152:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35137:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35137:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35129:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35176:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35187:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35172:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35172:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35195:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35201:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35191:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35191:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35165:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35165:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35165:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "35221:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35355:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35229:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "35229:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35221:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35099:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35114:4:14", + "type": "" + } + ], + "src": "34948:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35401:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35418:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35421:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35411:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35411:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35411:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35515:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35518:4:14", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35508:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35508:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35508:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35539:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35542:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "35532:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35532:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35532:15:14" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "35373:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35665:134:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35687:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35695:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35683:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35683:14:14" + }, + { + "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35699:34:14", + "type": "", + "value": "ERC721Enumerable: consecutive tr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35676:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35676:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35676:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35755:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35763:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35751:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35751:15:14" + }, + { + "hexValue": "616e7366657273206e6f7420737570706f72746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35768:23:14", + "type": "", + "value": "ansfers not supported" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35744:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35744:48:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35744:48:14" + } + ] + }, + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "35657:6:14", + "type": "" + } + ], + "src": "35559:240:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35951:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35961:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36027:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36032:2:14", + "type": "", + "value": "53" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35968:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "35968:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35961:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36133:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulIdentifier", + "src": "36044:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "36044:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36044:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "36146:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36157:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36162:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36153:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36153:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "36146:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35939:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35947:3:14", + "type": "" + } + ], + "src": "35805:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36348:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36358:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36370:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36381:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36366:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36366:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36358:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36405:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36416:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36401:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36401:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36424:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36430:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36420:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36420:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36394:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "36394:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36394:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "36450:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36584:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36458:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "36458:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36450:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36328:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36343:4:14", + "type": "" + } + ], + "src": "36177:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36660:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36671:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "36687:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "36681:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "36681:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "36671:6:14" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "36643:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "36653:6:14", + "type": "" + } + ], + "src": "36602:98:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36801:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36818:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "36823:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36811:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "36811:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36811:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "36839:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36858:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36863:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36854:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36854:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "36839:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36773:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "36778:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "36789:11:14", + "type": "" + } + ], + "src": "36706:168:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36970:270:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "36980:52:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37026:5:14" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "36994:31:14" + }, + "nodeType": "YulFunctionCall", + "src": "36994:38:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "36984:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "37041:77:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37106:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37111:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37048:57:14" + }, + "nodeType": "YulFunctionCall", + "src": "37048:70:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37041:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37153:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37160:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37149:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37149:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37167:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37172:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "37127:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "37127:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37127:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "37188:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37199:3:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37226:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "37204:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "37204:29:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37195:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37195:39:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37188:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "36951:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36958:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "36966:3:14", + "type": "" + } + ], + "src": "36880:360:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37446:440:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37456:27:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37468:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37479:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37464:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37464:19:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37456:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "37537:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37550:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37561:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37546:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37546:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "37493:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "37493:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37493:71:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "37618:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37631:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37642:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37627:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37627:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "37574:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "37574:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37574:72:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "37700:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37713:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37724:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37709:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37709:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "37656:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "37656:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37656:72:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37749:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37760:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37745:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37745:18:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37769:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37775:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37765:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37765:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37738:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "37738:48:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37738:48:14" + }, + { + "nodeType": "YulAssignment", + "src": "37795:84:14", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "37865:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37874:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37803:61:14" + }, + "nodeType": "YulFunctionCall", + "src": "37803:76:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37795:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37394:9:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "37406:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "37414:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "37422:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "37430:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37441:4:14", + "type": "" + } + ], + "src": "37246:640:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37954:79:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37964:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "37979:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37973:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "37973:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37964:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38021:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "37995:25:14" + }, + "nodeType": "YulFunctionCall", + "src": "37995:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37995:32:14" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "37932:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37940:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37948:5:14", + "type": "" + } + ], + "src": "37892:141:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38115:273:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "38161:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "38163:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "38163:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38163:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "38136:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38145:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38132:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38132:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38157:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "38128:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38128:32:14" + }, + "nodeType": "YulIf", + "src": "38125:119:14" + }, + { + "nodeType": "YulBlock", + "src": "38254:127:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "38269:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38283:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "38273:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38298:73:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38343:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "38354:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38339:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38339:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "38363:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulIdentifier", + "src": "38308:30:14" + }, + "nodeType": "YulFunctionCall", + "src": "38308:63:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "38298:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "38085:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "38096:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "38108:6:14", + "type": "" + } + ], + "src": "38039:349:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38439:146:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38449:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "38472:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "38454:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "38454:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "38449:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38483:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "38506:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "38488:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "38488:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "38483:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38530:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "38532:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "38532:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38532:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "38524:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "38527:1:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "38521:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "38521:8:14" + }, + "nodeType": "YulIf", + "src": "38518:34:14" + }, + { + "nodeType": "YulAssignment", + "src": "38562:17:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "38574:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "38577:1:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38570:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38570:9:14" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "38562:4:14" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "38425:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "38428:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "38434:4:14", + "type": "" + } + ], + "src": "38394:191:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38619:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38636:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38639:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38629:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38629:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38629:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38733:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38736:4:14", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38726:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38726:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38726:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38757:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38760:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "38750:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38750:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38750:15:14" + } + ] + }, + "name": "panic_error_0x31", + "nodeType": "YulFunctionDefinition", + "src": "38591:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38883:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38905:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38913:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38901:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38901:14:14" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38917:34:14", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38894:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38894:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38894:58:14" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38875:6:14", + "type": "" + } + ], + "src": "38777:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39111:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39121:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39187:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39192:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39128:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "39128:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39121:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39293:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "39204:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "39204:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39204:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "39306:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39317:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39322:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39313:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39313:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39306:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39099:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39107:3:14", + "type": "" + } + ], + "src": "38965:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39508:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39518:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39530:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39541:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39526:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39526:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39518:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39565:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39576:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39561:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39561:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39584:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39590:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39580:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39580:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39554:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "39554:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39554:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "39610:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39744:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39618:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "39618:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39610:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39488:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39503:4:14", + "type": "" + } + ], + "src": "39337:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39868:72:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39890:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39898:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39886:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39886:14:14" + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39902:30:14", + "type": "", + "value": "ERC721: token already minted" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39879:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "39879:54:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39879:54:14" + } + ] + }, + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "39860:6:14", + "type": "" + } + ], + "src": "39762:178:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40092:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40102:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40168:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40173:2:14", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40109:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "40109:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40102:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40274:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulIdentifier", + "src": "40185:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "40185:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40185:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "40287:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40298:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40303:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40294:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40294:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40287:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40080:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40088:3:14", + "type": "" + } + ], + "src": "39946:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40489:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40499:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40511:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40522:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40507:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40507:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40499:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40546:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40557:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40542:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40542:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40565:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40571:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40561:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40561:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40535:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "40535:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40535:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "40591:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40725:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40599:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "40599:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40591:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40469:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40484:4:14", + "type": "" + } + ], + "src": "40318:419:14" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_array$_t_bool_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bool_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_bool_to_t_bool(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encodeUpdatedPos_t_bool_to_t_bool(value0, pos) -> updatedPos {\n abi_encode_t_bool_to_t_bool(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_bool_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bool[] -> bool[]\n function abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_bool_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_bool_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_bool_to_t_bool(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_bool_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer caller is not o\")\n\n mstore(add(memPtr, 32), \"wner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721URIStorage: URI query for \")\n\n mstore(add(memPtr, 32), \"nonexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid tokenId. must be #999\")\n\n }\n\n function abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5(memPtr) {\n\n mstore(add(memPtr, 0), \"insufficient funds\")\n\n }\n\n function abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972_to_t_bytes5_nonPadded_inplace_fromStack(pos) {\n mstore(pos, \".json\")\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n abi_encode_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972_to_t_bytes5_nonPadded_inplace_fromStack( pos)\n pos := add(pos, 5)\n\n end := pos\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721URIStorage: URI set of non\")\n\n mstore(add(memPtr, 32), \"existent token\")\n\n }\n\n function abi_encode_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n store_literal_in_memory_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: consecutive tr\")\n\n mstore(add(memPtr, 32), \"ansfers not supported\")\n\n }\n\n function abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 14, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "137:3110:13:-:0;;;250:4;221:33;;289:10;260:39;;461:10;438:33;;;;;;;;;;;;;;;;;;;;478:50;;;;;;;;;;1390:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1464:5;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;137:3110:13;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:180:14:-;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;193:320;237:6;274:1;268:4;264:12;254:22;;321:1;315:4;311:12;342:18;332:81;;398:4;390:6;386:17;376:27;;332:81;460:2;452:6;449:14;429:18;426:38;423:84;;479:18;;:::i;:::-;423:84;244:269;193:320;;;:::o;137:3110:13:-;;;;;;;", + "deployedSourceMap": "137:3110:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1005:222:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1095:361:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1630:111:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1593:323:13;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4612:296:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:253:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4974:149:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1813:230:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2759:266:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;438:33:13;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2096:657:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;582:415:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1005:222:3;1107:4;1145:35;1130:50;;;:11;:50;;;;:90;;;;1184:36;1208:11;1184:23;:36::i;:::-;1130:90;1123:97;;1005:222;;;:::o;2471:98:0:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;1095:361:13:-;1159:13;1184:28;1226:24;1243:6;1226:16;:24::i;:::-;1215:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1184:67;;1261:6;1278:139;1294:24;1311:6;1294:16;:24::i;:::-;1290:1;:28;1278:139;;;1359:47;1396:6;1404:1;1359:36;:47::i;:::-;1339:14;1354:1;1339:17;;;;;;;;:::i;:::-;;;;;;;:67;;;;;1320:3;;;;;:::i;:::-;;;;1278:139;;;1434:14;1426:23;;;;1095:361;;;:::o;3935:167:0:-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;1630:111:3:-;1691:7;1717:10;:17;;;;1710:24;;1630:111;:::o;1593:323:13:-;1644:13;1669:28;1711:10;;1700:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1669:53;;1732:6;1749:130;1765:10;;1761:1;:14;1749:130;;;1800:10;1808:1;1800:7;:10::i;:::-;1796:73;;;1850:4;1830:14;1845:1;1830:17;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;1796:73;1777:3;;;;;:::i;:::-;;;;1749:130;;;1895:14;1888:21;;;;1593:323;:::o;4612:296:0:-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;1306:253:3:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:12;:19;1539:5;1526:19;;;;;;;;;;;;;;;:26;1546:5;1526:26;;;;;;;;;;;;1519:33;;1306:253;;;;:::o;4974:149:0:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;1813:230:3:-;1888:7;1923:30;:28;:30::i;:::-;1915:5;:38;1907:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;;2012:24;;1813:230;;;:::o;2759:266:13:-;2860:41;2879:12;:10;:12::i;:::-;2893:7;2860:18;:41::i;:::-;2839:137;;;;;;;;;;;;:::i;:::-;;;;;;;;;2986:32;2999:7;3008:9;2986:12;:32::i;:::-;2759:266;;:::o;2190:219:0:-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;438:33:13:-;;;;;;;;;;;;;:::o;2633:102:0:-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2096:657:13:-;2169:13;2202:16;2210:7;2202;:16::i;:::-;2194:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2283:23;2309:10;:19;2320:7;2309:19;;;;;;;;;;;2283:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2338:18;2359:10;:8;:10::i;:::-;2338:31;;2464:1;2448:4;2442:18;:23;2438:70;;2488:9;2481:16;;;;;;2438:70;2636:1;2616:9;2610:23;:27;2606:106;;;2684:4;2690:9;2667:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2653:48;;;;;;2606:106;2729:17;2738:7;2729:8;:17::i;:::-;2722:24;;;;2096:657;;;;:::o;4388:162:0:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;582:415:13:-;666:10;;653;:23;645:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;741:10;;728:9;:23;;720:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;785:33;795:10;807;785:9;:33::i;:::-;829:23;869:28;886:10;869:16;:28::i;:::-;855:52;;;;;;;;:::i;:::-;;;;;;;;;;;;;829:78;;917:35;930:10;942:9;917:12;:35::i;:::-;979:10;968:22;;;;;;;;;;635:362;582:415;:::o;1570:300:0:-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;13240:133::-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;655:96:7:-;708:7;734:10;727:17;;655:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7120:126::-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;3031:214:13:-;3130:16;3138:7;3130;:16::i;:::-;3122:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;3229:9;3207:10;:19;3218:7;3207:19;;;;;;;;;;;:31;;;;;;;;;;;;:::i;:::-;;3031:214;;:::o;6702:115:0:-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;1922:168:13:-;1982:13;2007:76;;;;;;;;;;;;;;;;;;;1922:168;:::o;7995:108:0:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;2112:890:3:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;;;;;;;;;:::i;:::-;;;;;;;;2355:219;2584:15;2602:12;2584:30;;2645:1;2629:18;;:4;:18;;;2625:183;;2663:40;2695:7;2663:31;:40::i;:::-;2625:183;;;2732:2;2724:10;;:4;:10;;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;2720:88;2625:183;2835:1;2821:16;;:2;:16;;;2817:179;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;2919:10;;:2;:10;;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2915:81;2817:179;2273:729;2112:890;;;;:::o;16294:115:0:-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;8324:279::-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:279;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;15472:116:0:-;;;;;:::o;3708:161:3:-;3811:10;:17;;;;3784:15;:24;3800:7;3784:24;;;;;;;;;;;:44;;;;3838:10;3854:7;3838:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3708:161;:::o;4486:970::-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4748:51;;4809:18;4830:17;:26;4848:7;4830:26;;;;;;;;;;;;4809:47;;4974:14;4960:10;:28;4956:323;;5004:19;5026:12;:18;5039:4;5026:18;;;;;;;;;;;;;;;:34;5045:14;5026:34;;;;;;;;;;;;5004:56;;5108:11;5075:12;:18;5088:4;5075:18;;;;;;;;;;;;;;;:30;5094:10;5075:30;;;;;;;;;;;:44;;;;5224:10;5191:17;:30;5209:11;5191:30;;;;;;;;;;;:43;;;;4990:289;4956:323;5372:17;:26;5390:7;5372:26;;;;;;;;;;;5365:33;;;5415:12;:18;5428:4;5415:18;;;;;;;;;;;;;;;:34;5434:14;5415:34;;;;;;;;;;;5408:41;;;4567:889;;4486:970;;:::o;5744:1061::-;5993:22;6038:1;6018:10;:17;;;;:21;;;;:::i;:::-;5993:46;;6049:18;6070:15;:24;6086:7;6070:24;;;;;;;;;;;;6049:45;;6416:19;6438:10;6449:14;6438:26;;;;;;;;:::i;:::-;;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6610:10;6579:15;:28;6595:11;6579:28;;;;;;;;;;;:41;;;;6748:15;:24;6764:7;6748:24;;;;;;;;;;;6741:31;;;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;3380:37;;3454:7;3427:12;:16;3440:2;3427:16;;;;;;;;;;;;;;;:24;3444:6;3427:24;;;;;;;;;;;:34;;;;3500:6;3471:17;:26;3489:7;3471:26;;;;;;;;;;;:35;;;;3370:143;3296:217;;:::o;1412:320:6:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;8925:920:0:-;9018:1;9004:16;;:2;:16;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:126::-;2945:7;2985:42;2978:5;2974:54;2963:65;;2908:126;;;:::o;3040:96::-;3077:7;3106:24;3124:5;3106:24;:::i;:::-;3095:35;;3040:96;;;:::o;3142:122::-;3215:24;3233:5;3215:24;:::i;:::-;3208:5;3205:35;3195:63;;3254:1;3251;3244:12;3195:63;3142:122;:::o;3270:139::-;3316:5;3354:6;3341:20;3332:29;;3370:33;3397:5;3370:33;:::i;:::-;3270:139;;;;:::o;3415:329::-;3474:6;3523:2;3511:9;3502:7;3498:23;3494:32;3491:119;;;3529:79;;:::i;:::-;3491:119;3649:1;3674:53;3719:7;3710:6;3699:9;3695:22;3674:53;:::i;:::-;3664:63;;3620:117;3415:329;;;;:::o;3750:114::-;3817:6;3851:5;3845:12;3835:22;;3750:114;;;:::o;3870:184::-;3969:11;4003:6;3998:3;3991:19;4043:4;4038:3;4034:14;4019:29;;3870:184;;;;:::o;4060:132::-;4127:4;4150:3;4142:11;;4180:4;4175:3;4171:14;4163:22;;4060:132;;;:::o;4198:77::-;4235:7;4264:5;4253:16;;4198:77;;;:::o;4281:108::-;4358:24;4376:5;4358:24;:::i;:::-;4353:3;4346:37;4281:108;;:::o;4395:179::-;4464:10;4485:46;4527:3;4519:6;4485:46;:::i;:::-;4563:4;4558:3;4554:14;4540:28;;4395:179;;;;:::o;4580:113::-;4650:4;4682;4677:3;4673:14;4665:22;;4580:113;;;:::o;4729:732::-;4848:3;4877:54;4925:5;4877:54;:::i;:::-;4947:86;5026:6;5021:3;4947:86;:::i;:::-;4940:93;;5057:56;5107:5;5057:56;:::i;:::-;5136:7;5167:1;5152:284;5177:6;5174:1;5171:13;5152:284;;;5253:6;5247:13;5280:63;5339:3;5324:13;5280:63;:::i;:::-;5273:70;;5366:60;5419:6;5366:60;:::i;:::-;5356:70;;5212:224;5199:1;5196;5192:9;5187:14;;5152:284;;;5156:14;5452:3;5445:10;;4853:608;;;4729:732;;;;:::o;5467:373::-;5610:4;5648:2;5637:9;5633:18;5625:26;;5697:9;5691:4;5687:20;5683:1;5672:9;5668:17;5661:47;5725:108;5828:4;5819:6;5725:108;:::i;:::-;5717:116;;5467:373;;;;:::o;5846:122::-;5919:24;5937:5;5919:24;:::i;:::-;5912:5;5909:35;5899:63;;5958:1;5955;5948:12;5899:63;5846:122;:::o;5974:139::-;6020:5;6058:6;6045:20;6036:29;;6074:33;6101:5;6074:33;:::i;:::-;5974:139;;;;:::o;6119:329::-;6178:6;6227:2;6215:9;6206:7;6202:23;6198:32;6195:119;;;6233:79;;:::i;:::-;6195:119;6353:1;6378:53;6423:7;6414:6;6403:9;6399:22;6378:53;:::i;:::-;6368:63;;6324:117;6119:329;;;;:::o;6454:118::-;6541:24;6559:5;6541:24;:::i;:::-;6536:3;6529:37;6454:118;;:::o;6578:222::-;6671:4;6709:2;6698:9;6694:18;6686:26;;6722:71;6790:1;6779:9;6775:17;6766:6;6722:71;:::i;:::-;6578:222;;;;:::o;6806:474::-;6874:6;6882;6931:2;6919:9;6910:7;6906:23;6902:32;6899:119;;;6937:79;;:::i;:::-;6899:119;7057:1;7082:53;7127:7;7118:6;7107:9;7103:22;7082:53;:::i;:::-;7072:63;;7028:117;7184:2;7210:53;7255:7;7246:6;7235:9;7231:22;7210:53;:::i;:::-;7200:63;;7155:118;6806:474;;;;;:::o;7286:118::-;7373:24;7391:5;7373:24;:::i;:::-;7368:3;7361:37;7286:118;;:::o;7410:222::-;7503:4;7541:2;7530:9;7526:18;7518:26;;7554:71;7622:1;7611:9;7607:17;7598:6;7554:71;:::i;:::-;7410:222;;;;:::o;7638:111::-;7702:6;7736:5;7730:12;7720:22;;7638:111;;;:::o;7755:181::-;7851:11;7885:6;7880:3;7873:19;7925:4;7920:3;7916:14;7901:29;;7755:181;;;;:::o;7942:129::-;8006:4;8029:3;8021:11;;8059:4;8054:3;8050:14;8042:22;;7942:129;;;:::o;8077:99::-;8148:21;8163:5;8148:21;:::i;:::-;8143:3;8136:34;8077:99;;:::o;8182:167::-;8245:10;8266:40;8302:3;8294:6;8266:40;:::i;:::-;8338:4;8333:3;8329:14;8315:28;;8182:167;;;;:::o;8355:110::-;8422:4;8454;8449:3;8445:14;8437:22;;8355:110;;;:::o;8495:708::-;8608:3;8637:51;8682:5;8637:51;:::i;:::-;8704:83;8780:6;8775:3;8704:83;:::i;:::-;8697:90;;8811:53;8858:5;8811:53;:::i;:::-;8887:7;8918:1;8903:275;8928:6;8925:1;8922:13;8903:275;;;9004:6;8998:13;9031:57;9084:3;9069:13;9031:57;:::i;:::-;9024:64;;9111:57;9161:6;9111:57;:::i;:::-;9101:67;;8963:215;8950:1;8947;8943:9;8938:14;;8903:275;;;8907:14;9194:3;9187:10;;8613:590;;;8495:708;;;;:::o;9209:361::-;9346:4;9384:2;9373:9;9369:18;9361:26;;9433:9;9427:4;9423:20;9419:1;9408:9;9404:17;9397:47;9461:102;9558:4;9549:6;9461:102;:::i;:::-;9453:110;;9209:361;;;;:::o;9576:619::-;9653:6;9661;9669;9718:2;9706:9;9697:7;9693:23;9689:32;9686:119;;;9724:79;;:::i;:::-;9686:119;9844:1;9869:53;9914:7;9905:6;9894:9;9890:22;9869:53;:::i;:::-;9859:63;;9815:117;9971:2;9997:53;10042:7;10033:6;10022:9;10018:22;9997:53;:::i;:::-;9987:63;;9942:118;10099:2;10125:53;10170:7;10161:6;10150:9;10146:22;10125:53;:::i;:::-;10115:63;;10070:118;9576:619;;;;;:::o;10201:117::-;10310:1;10307;10300:12;10324:117;10433:1;10430;10423:12;10447:180;10495:77;10492:1;10485:88;10592:4;10589:1;10582:15;10616:4;10613:1;10606:15;10633:281;10716:27;10738:4;10716:27;:::i;:::-;10708:6;10704:40;10846:6;10834:10;10831:22;10810:18;10798:10;10795:34;10792:62;10789:88;;;10857:18;;:::i;:::-;10789:88;10897:10;10893:2;10886:22;10676:238;10633:281;;:::o;10920:129::-;10954:6;10981:20;;:::i;:::-;10971:30;;11010:33;11038:4;11030:6;11010:33;:::i;:::-;10920:129;;;:::o;11055:308::-;11117:4;11207:18;11199:6;11196:30;11193:56;;;11229:18;;:::i;:::-;11193:56;11267:29;11289:6;11267:29;:::i;:::-;11259:37;;11351:4;11345;11341:15;11333:23;;11055:308;;;:::o;11369:154::-;11453:6;11448:3;11443;11430:30;11515:1;11506:6;11501:3;11497:16;11490:27;11369:154;;;:::o;11529:412::-;11607:5;11632:66;11648:49;11690:6;11648:49;:::i;:::-;11632:66;:::i;:::-;11623:75;;11721:6;11714:5;11707:21;11759:4;11752:5;11748:16;11797:3;11788:6;11783:3;11779:16;11776:25;11773:112;;;11804:79;;:::i;:::-;11773:112;11894:41;11928:6;11923:3;11918;11894:41;:::i;:::-;11613:328;11529:412;;;;;:::o;11961:340::-;12017:5;12066:3;12059:4;12051:6;12047:17;12043:27;12033:122;;12074:79;;:::i;:::-;12033:122;12191:6;12178:20;12216:79;12291:3;12283:6;12276:4;12268:6;12264:17;12216:79;:::i;:::-;12207:88;;12023:278;11961:340;;;;:::o;12307:654::-;12385:6;12393;12442:2;12430:9;12421:7;12417:23;12413:32;12410:119;;;12448:79;;:::i;:::-;12410:119;12568:1;12593:53;12638:7;12629:6;12618:9;12614:22;12593:53;:::i;:::-;12583:63;;12539:117;12723:2;12712:9;12708:18;12695:32;12754:18;12746:6;12743:30;12740:117;;;12776:79;;:::i;:::-;12740:117;12881:63;12936:7;12927:6;12916:9;12912:22;12881:63;:::i;:::-;12871:73;;12666:288;12307:654;;;;;:::o;12967:116::-;13037:21;13052:5;13037:21;:::i;:::-;13030:5;13027:32;13017:60;;13073:1;13070;13063:12;13017:60;12967:116;:::o;13089:133::-;13132:5;13170:6;13157:20;13148:29;;13186:30;13210:5;13186:30;:::i;:::-;13089:133;;;;:::o;13228:468::-;13293:6;13301;13350:2;13338:9;13329:7;13325:23;13321:32;13318:119;;;13356:79;;:::i;:::-;13318:119;13476:1;13501:53;13546:7;13537:6;13526:9;13522:22;13501:53;:::i;:::-;13491:63;;13447:117;13603:2;13629:50;13671:7;13662:6;13651:9;13647:22;13629:50;:::i;:::-;13619:60;;13574:115;13228:468;;;;;:::o;13702:307::-;13763:4;13853:18;13845:6;13842:30;13839:56;;;13875:18;;:::i;:::-;13839:56;13913:29;13935:6;13913:29;:::i;:::-;13905:37;;13997:4;13991;13987:15;13979:23;;13702:307;;;:::o;14015:410::-;14092:5;14117:65;14133:48;14174:6;14133:48;:::i;:::-;14117:65;:::i;:::-;14108:74;;14205:6;14198:5;14191:21;14243:4;14236:5;14232:16;14281:3;14272:6;14267:3;14263:16;14260:25;14257:112;;;14288:79;;:::i;:::-;14257:112;14378:41;14412:6;14407:3;14402;14378:41;:::i;:::-;14098:327;14015:410;;;;;:::o;14444:338::-;14499:5;14548:3;14541:4;14533:6;14529:17;14525:27;14515:122;;14556:79;;:::i;:::-;14515:122;14673:6;14660:20;14698:78;14772:3;14764:6;14757:4;14749:6;14745:17;14698:78;:::i;:::-;14689:87;;14505:277;14444:338;;;;:::o;14788:943::-;14883:6;14891;14899;14907;14956:3;14944:9;14935:7;14931:23;14927:33;14924:120;;;14963:79;;:::i;:::-;14924:120;15083:1;15108:53;15153:7;15144:6;15133:9;15129:22;15108:53;:::i;:::-;15098:63;;15054:117;15210:2;15236:53;15281:7;15272:6;15261:9;15257:22;15236:53;:::i;:::-;15226:63;;15181:118;15338:2;15364:53;15409:7;15400:6;15389:9;15385:22;15364:53;:::i;:::-;15354:63;;15309:118;15494:2;15483:9;15479:18;15466:32;15525:18;15517:6;15514:30;15511:117;;;15547:79;;:::i;:::-;15511:117;15652:62;15706:7;15697:6;15686:9;15682:22;15652:62;:::i;:::-;15642:72;;15437:287;14788:943;;;;;;;:::o;15737:474::-;15805:6;15813;15862:2;15850:9;15841:7;15837:23;15833:32;15830:119;;;15868:79;;:::i;:::-;15830:119;15988:1;16013:53;16058:7;16049:6;16038:9;16034:22;16013:53;:::i;:::-;16003:63;;15959:117;16115:2;16141:53;16186:7;16177:6;16166:9;16162:22;16141:53;:::i;:::-;16131:63;;16086:118;15737:474;;;;;:::o;16217:180::-;16265:77;16262:1;16255:88;16362:4;16359:1;16352:15;16386:4;16383:1;16376:15;16403:320;16447:6;16484:1;16478:4;16474:12;16464:22;;16531:1;16525:4;16521:12;16552:18;16542:81;;16608:4;16600:6;16596:17;16586:27;;16542:81;16670:2;16662:6;16659:14;16639:18;16636:38;16633:84;;16689:18;;:::i;:::-;16633:84;16454:269;16403:320;;;:::o;16729:180::-;16777:77;16774:1;16767:88;16874:4;16871:1;16864:15;16898:4;16895:1;16888:15;16915:180;16963:77;16960:1;16953:88;17060:4;17057:1;17050:15;17084:4;17081:1;17074:15;17101:233;17140:3;17163:24;17181:5;17163:24;:::i;:::-;17154:33;;17209:66;17202:5;17199:77;17196:103;;17279:18;;:::i;:::-;17196:103;17326:1;17319:5;17315:13;17308:20;;17101:233;;;:::o;17340:220::-;17480:34;17476:1;17468:6;17464:14;17457:58;17549:3;17544:2;17536:6;17532:15;17525:28;17340:220;:::o;17566:366::-;17708:3;17729:67;17793:2;17788:3;17729:67;:::i;:::-;17722:74;;17805:93;17894:3;17805:93;:::i;:::-;17923:2;17918:3;17914:12;17907:19;;17566:366;;;:::o;17938:419::-;18104:4;18142:2;18131:9;18127:18;18119:26;;18191:9;18185:4;18181:20;18177:1;18166:9;18162:17;18155:47;18219:131;18345:4;18219:131;:::i;:::-;18211:139;;17938:419;;;:::o;18363:248::-;18503:34;18499:1;18491:6;18487:14;18480:58;18572:31;18567:2;18559:6;18555:15;18548:56;18363:248;:::o;18617:366::-;18759:3;18780:67;18844:2;18839:3;18780:67;:::i;:::-;18773:74;;18856:93;18945:3;18856:93;:::i;:::-;18974:2;18969:3;18965:12;18958:19;;18617:366;;;:::o;18989:419::-;19155:4;19193:2;19182:9;19178:18;19170:26;;19242:9;19236:4;19232:20;19228:1;19217:9;19213:17;19206:47;19270:131;19396:4;19270:131;:::i;:::-;19262:139;;18989:419;;;:::o;19414:232::-;19554:34;19550:1;19542:6;19538:14;19531:58;19623:15;19618:2;19610:6;19606:15;19599:40;19414:232;:::o;19652:366::-;19794:3;19815:67;19879:2;19874:3;19815:67;:::i;:::-;19808:74;;19891:93;19980:3;19891:93;:::i;:::-;20009:2;20004:3;20000:12;19993:19;;19652:366;;;:::o;20024:419::-;20190:4;20228:2;20217:9;20213:18;20205:26;;20277:9;20271:4;20267:20;20263:1;20252:9;20248:17;20241:47;20305:131;20431:4;20305:131;:::i;:::-;20297:139;;20024:419;;;:::o;20449:230::-;20589:34;20585:1;20577:6;20573:14;20566:58;20658:13;20653:2;20645:6;20641:15;20634:38;20449:230;:::o;20685:366::-;20827:3;20848:67;20912:2;20907:3;20848:67;:::i;:::-;20841:74;;20924:93;21013:3;20924:93;:::i;:::-;21042:2;21037:3;21033:12;21026:19;;20685:366;;;:::o;21057:419::-;21223:4;21261:2;21250:9;21246:18;21238:26;;21310:9;21304:4;21300:20;21296:1;21285:9;21281:17;21274:47;21338:131;21464:4;21338:131;:::i;:::-;21330:139;;21057:419;;;:::o;21482:231::-;21622:34;21618:1;21610:6;21606:14;21599:58;21691:14;21686:2;21678:6;21674:15;21667:39;21482:231;:::o;21719:366::-;21861:3;21882:67;21946:2;21941:3;21882:67;:::i;:::-;21875:74;;21958:93;22047:3;21958:93;:::i;:::-;22076:2;22071:3;22067:12;22060:19;;21719:366;;;:::o;22091:419::-;22257:4;22295:2;22284:9;22280:18;22272:26;;22344:9;22338:4;22334:20;22330:1;22319:9;22315:17;22308:47;22372:131;22498:4;22372:131;:::i;:::-;22364:139;;22091:419;;;:::o;22516:236::-;22656:34;22652:1;22644:6;22640:14;22633:58;22725:19;22720:2;22712:6;22708:15;22701:44;22516:236;:::o;22758:366::-;22900:3;22921:67;22985:2;22980:3;22921:67;:::i;:::-;22914:74;;22997:93;23086:3;22997:93;:::i;:::-;23115:2;23110:3;23106:12;23099:19;;22758:366;;;:::o;23130:419::-;23296:4;23334:2;23323:9;23319:18;23311:26;;23383:9;23377:4;23373:20;23369:1;23358:9;23354:17;23347:47;23411:131;23537:4;23411:131;:::i;:::-;23403:139;;23130:419;;;:::o;23555:174::-;23695:26;23691:1;23683:6;23679:14;23672:50;23555:174;:::o;23735:366::-;23877:3;23898:67;23962:2;23957:3;23898:67;:::i;:::-;23891:74;;23974:93;24063:3;23974:93;:::i;:::-;24092:2;24087:3;24083:12;24076:19;;23735:366;;;:::o;24107:419::-;24273:4;24311:2;24300:9;24296:18;24288:26;;24360:9;24354:4;24350:20;24346:1;24335:9;24331:17;24324:47;24388:131;24514:4;24388:131;:::i;:::-;24380:139;;24107:419;;;:::o;24532:228::-;24672:34;24668:1;24660:6;24656:14;24649:58;24741:11;24736:2;24728:6;24724:15;24717:36;24532:228;:::o;24766:366::-;24908:3;24929:67;24993:2;24988:3;24929:67;:::i;:::-;24922:74;;25005:93;25094:3;25005:93;:::i;:::-;25123:2;25118:3;25114:12;25107:19;;24766:366;;;:::o;25138:419::-;25304:4;25342:2;25331:9;25327:18;25319:26;;25391:9;25385:4;25381:20;25377:1;25366:9;25362:17;25355:47;25419:131;25545:4;25419:131;:::i;:::-;25411:139;;25138:419;;;:::o;25563:236::-;25703:34;25699:1;25691:6;25687:14;25680:58;25772:19;25767:2;25759:6;25755:15;25748:44;25563:236;:::o;25805:366::-;25947:3;25968:67;26032:2;26027:3;25968:67;:::i;:::-;25961:74;;26044:93;26133:3;26044:93;:::i;:::-;26162:2;26157:3;26153:12;26146:19;;25805:366;;;:::o;26177:419::-;26343:4;26381:2;26370:9;26366:18;26358:26;;26430:9;26424:4;26420:20;26416:1;26405:9;26401:17;26394:47;26458:131;26584:4;26458:131;:::i;:::-;26450:139;;26177:419;;;:::o;26602:148::-;26704:11;26741:3;26726:18;;26602:148;;;;:::o;26756:377::-;26862:3;26890:39;26923:5;26890:39;:::i;:::-;26945:89;27027:6;27022:3;26945:89;:::i;:::-;26938:96;;27043:52;27088:6;27083:3;27076:4;27069:5;27065:16;27043:52;:::i;:::-;27120:6;27115:3;27111:16;27104:23;;26866:267;26756:377;;;;:::o;27139:435::-;27319:3;27341:95;27432:3;27423:6;27341:95;:::i;:::-;27334:102;;27453:95;27544:3;27535:6;27453:95;:::i;:::-;27446:102;;27565:3;27558:10;;27139:435;;;;;:::o;27580:179::-;27720:31;27716:1;27708:6;27704:14;27697:55;27580:179;:::o;27765:366::-;27907:3;27928:67;27992:2;27987:3;27928:67;:::i;:::-;27921:74;;28004:93;28093:3;28004:93;:::i;:::-;28122:2;28117:3;28113:12;28106:19;;27765:366;;;:::o;28137:419::-;28303:4;28341:2;28330:9;28326:18;28318:26;;28390:9;28384:4;28380:20;28376:1;28365:9;28361:17;28354:47;28418:131;28544:4;28418:131;:::i;:::-;28410:139;;28137:419;;;:::o;28562:168::-;28702:20;28698:1;28690:6;28686:14;28679:44;28562:168;:::o;28736:366::-;28878:3;28899:67;28963:2;28958:3;28899:67;:::i;:::-;28892:74;;28975:93;29064:3;28975:93;:::i;:::-;29093:2;29088:3;29084:12;29077:19;;28736:366;;;:::o;29108:419::-;29274:4;29312:2;29301:9;29297:18;29289:26;;29361:9;29355:4;29351:20;29347:1;29336:9;29332:17;29325:47;29389:131;29515:4;29389:131;:::i;:::-;29381:139;;29108:419;;;:::o;29533:182::-;29701:7;29696:3;29689:20;29533:182;:::o;29721:539::-;29943:3;29965:95;30056:3;30047:6;29965:95;:::i;:::-;29958:102;;30070:137;30203:3;30070:137;:::i;:::-;30232:1;30227:3;30223:11;30216:18;;30251:3;30244:10;;29721:539;;;;:::o;30266:224::-;30406:34;30402:1;30394:6;30390:14;30383:58;30475:7;30470:2;30462:6;30458:15;30451:32;30266:224;:::o;30496:366::-;30638:3;30659:67;30723:2;30718:3;30659:67;:::i;:::-;30652:74;;30735:93;30824:3;30735:93;:::i;:::-;30853:2;30848:3;30844:12;30837:19;;30496:366;;;:::o;30868:419::-;31034:4;31072:2;31061:9;31057:18;31049:26;;31121:9;31115:4;31111:20;31107:1;31096:9;31092:17;31085:47;31149:131;31275:4;31149:131;:::i;:::-;31141:139;;30868:419;;;:::o;31293:223::-;31433:34;31429:1;31421:6;31417:14;31410:58;31502:6;31497:2;31489:6;31485:15;31478:31;31293:223;:::o;31522:366::-;31664:3;31685:67;31749:2;31744:3;31685:67;:::i;:::-;31678:74;;31761:93;31850:3;31761:93;:::i;:::-;31879:2;31874:3;31870:12;31863:19;;31522:366;;;:::o;31894:419::-;32060:4;32098:2;32087:9;32083:18;32075:26;;32147:9;32141:4;32137:20;32133:1;32122:9;32118:17;32111:47;32175:131;32301:4;32175:131;:::i;:::-;32167:139;;31894:419;;;:::o;32319:233::-;32459:34;32455:1;32447:6;32443:14;32436:58;32528:16;32523:2;32515:6;32511:15;32504:41;32319:233;:::o;32558:366::-;32700:3;32721:67;32785:2;32780:3;32721:67;:::i;:::-;32714:74;;32797:93;32886:3;32797:93;:::i;:::-;32915:2;32910:3;32906:12;32899:19;;32558:366;;;:::o;32930:419::-;33096:4;33134:2;33123:9;33119:18;33111:26;;33183:9;33177:4;33173:20;33169:1;33158:9;33154:17;33147:47;33211:131;33337:4;33211:131;:::i;:::-;33203:139;;32930:419;;;:::o;33355:175::-;33495:27;33491:1;33483:6;33479:14;33472:51;33355:175;:::o;33536:366::-;33678:3;33699:67;33763:2;33758:3;33699:67;:::i;:::-;33692:74;;33775:93;33864:3;33775:93;:::i;:::-;33893:2;33888:3;33884:12;33877:19;;33536:366;;;:::o;33908:419::-;34074:4;34112:2;34101:9;34097:18;34089:26;;34161:9;34155:4;34151:20;34147:1;34136:9;34132:17;34125:47;34189:131;34315:4;34189:131;:::i;:::-;34181:139;;33908:419;;;:::o;34333:237::-;34473:34;34469:1;34461:6;34457:14;34450:58;34542:20;34537:2;34529:6;34525:15;34518:45;34333:237;:::o;34576:366::-;34718:3;34739:67;34803:2;34798:3;34739:67;:::i;:::-;34732:74;;34815:93;34904:3;34815:93;:::i;:::-;34933:2;34928:3;34924:12;34917:19;;34576:366;;;:::o;34948:419::-;35114:4;35152:2;35141:9;35137:18;35129:26;;35201:9;35195:4;35191:20;35187:1;35176:9;35172:17;35165:47;35229:131;35355:4;35229:131;:::i;:::-;35221:139;;34948:419;;;:::o;35373:180::-;35421:77;35418:1;35411:88;35518:4;35515:1;35508:15;35542:4;35539:1;35532:15;35559:240;35699:34;35695:1;35687:6;35683:14;35676:58;35768:23;35763:2;35755:6;35751:15;35744:48;35559:240;:::o;35805:366::-;35947:3;35968:67;36032:2;36027:3;35968:67;:::i;:::-;35961:74;;36044:93;36133:3;36044:93;:::i;:::-;36162:2;36157:3;36153:12;36146:19;;35805:366;;;:::o;36177:419::-;36343:4;36381:2;36370:9;36366:18;36358:26;;36430:9;36424:4;36420:20;36416:1;36405:9;36401:17;36394:47;36458:131;36584:4;36458:131;:::i;:::-;36450:139;;36177:419;;;:::o;36602:98::-;36653:6;36687:5;36681:12;36671:22;;36602:98;;;:::o;36706:168::-;36789:11;36823:6;36818:3;36811:19;36863:4;36858:3;36854:14;36839:29;;36706:168;;;;:::o;36880:360::-;36966:3;36994:38;37026:5;36994:38;:::i;:::-;37048:70;37111:6;37106:3;37048:70;:::i;:::-;37041:77;;37127:52;37172:6;37167:3;37160:4;37153:5;37149:16;37127:52;:::i;:::-;37204:29;37226:6;37204:29;:::i;:::-;37199:3;37195:39;37188:46;;36970:270;36880:360;;;;:::o;37246:640::-;37441:4;37479:3;37468:9;37464:19;37456:27;;37493:71;37561:1;37550:9;37546:17;37537:6;37493:71;:::i;:::-;37574:72;37642:2;37631:9;37627:18;37618:6;37574:72;:::i;:::-;37656;37724:2;37713:9;37709:18;37700:6;37656:72;:::i;:::-;37775:9;37769:4;37765:20;37760:2;37749:9;37745:18;37738:48;37803:76;37874:4;37865:6;37803:76;:::i;:::-;37795:84;;37246:640;;;;;;;:::o;37892:141::-;37948:5;37979:6;37973:13;37964:22;;37995:32;38021:5;37995:32;:::i;:::-;37892:141;;;;:::o;38039:349::-;38108:6;38157:2;38145:9;38136:7;38132:23;38128:32;38125:119;;;38163:79;;:::i;:::-;38125:119;38283:1;38308:63;38363:7;38354:6;38343:9;38339:22;38308:63;:::i;:::-;38298:73;;38254:127;38039:349;;;;:::o;38394:191::-;38434:4;38454:20;38472:1;38454:20;:::i;:::-;38449:25;;38488:20;38506:1;38488:20;:::i;:::-;38483:25;;38527:1;38524;38521:8;38518:34;;;38532:18;;:::i;:::-;38518:34;38577:1;38574;38570:9;38562:17;;38394:191;;;;:::o;38591:180::-;38639:77;38636:1;38629:88;38736:4;38733:1;38726:15;38760:4;38757:1;38750:15;38777:182;38917:34;38913:1;38905:6;38901:14;38894:58;38777:182;:::o;38965:366::-;39107:3;39128:67;39192:2;39187:3;39128:67;:::i;:::-;39121:74;;39204:93;39293:3;39204:93;:::i;:::-;39322:2;39317:3;39313:12;39306:19;;38965:366;;;:::o;39337:419::-;39503:4;39541:2;39530:9;39526:18;39518:26;;39590:9;39584:4;39580:20;39576:1;39565:9;39561:17;39554:47;39618:131;39744:4;39618:131;:::i;:::-;39610:139;;39337:419;;;:::o;39762:178::-;39902:30;39898:1;39890:6;39886:14;39879:54;39762:178;:::o;39946:366::-;40088:3;40109:67;40173:2;40168:3;40109:67;:::i;:::-;40102:74;;40185:93;40274:3;40185:93;:::i;:::-;40303:2;40298:3;40294:12;40287:19;;39946:366;;;:::o;40318:419::-;40484:4;40522:2;40511:9;40507:18;40499:26;;40571:9;40565:4;40561:20;40557:1;40546:9;40542:17;40535:47;40599:131;40725:4;40599:131;:::i;:::-;40591:139;;40318:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\n\ncontract FlutterBirdSkins is ERC721Enumerable {\n using Strings for uint256;\n\n uint256 private _maxSupply = 1000;\n uint256 private _mintPrice = 0.01 ether;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) private _tokenURIs;\n\n // Assign owner on contract creation\n address public owner = msg.sender;\n\n constructor() ERC721(\"FlutterBirdSkins\", \"FBS\") {}\n\n event SkinMinted(uint256 indexed tokenId);\n\n function mintSkin(uint256 newTokenId) public payable {\n require(newTokenId < _maxSupply, \"invalid tokenId. must be #999\");\n require(msg.value >= _mintPrice, \"insufficient funds\");\n\n _safeMint(msg.sender, newTokenId);\n\n string memory _tokenURI = string.concat(Strings.toString(newTokenId), \".json\");\n _setTokenURI(newTokenId, _tokenURI);\n\n emit SkinMinted(newTokenId);\n }\n\n /**\n * @notice returns a list of tokenIds that are owned by the given address\n */\n function getTokensForOwner(address _owner) public view returns (uint[] memory) {\n uint[] memory _tokensOfOwner = new uint[](ERC721.balanceOf(_owner));\n uint i;\n\n for (i = 0; i < ERC721.balanceOf(_owner); i++) {\n _tokensOfOwner[i] = ERC721Enumerable.tokenOfOwnerByIndex(_owner, i);\n }\n return (_tokensOfOwner);\n }\n\n /**\n * @notice returns a list of boolean values indicating whether the skin with that index has been minted already.\n */\n function getMintedTokenList() public view returns (bool[] memory) {\n bool[] memory _unmintedTokes = new bool[](_maxSupply);\n uint i;\n\n for (i = 0; i < _maxSupply; i++) {\n if (_exists(i)) {\n _unmintedTokes[i] = true;\n }\n }\n return _unmintedTokes;\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return \"ipfs://bafybeiexvqt3uabqzmhquokzyl7gcdxyowz2hf2hdbbifkkyx3waghezqe/\";\n }\n\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n require(_exists(tokenId), \"ERC721URIStorage: URI query for nonexistent token\");\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = _baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n\n return tokenURI(tokenId);\n }\n\n function setTokenUri(uint256 tokenId, string memory _tokenURI) public {\n require(\n _isApprovedOrOwner(_msgSender(), tokenId),\n \"ERC721: transfer caller is not owner nor approved\"\n );\n _setTokenURI(tokenId, _tokenURI);\n }\n\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721URIStorage: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n }\n}\n", + "sourcePath": "/app/flutter_bird_skins/contracts/FlutterBirdSkins.sol", + "ast": { + "absolutePath": "project:/contracts/FlutterBirdSkins.sol", + "exportedSymbols": { + "Address": [ + 1802 + ], + "Context": [ + 1832 + ], + "ERC165": [ + 2085 + ], + "ERC721": [ + 926 + ], + "ERC721Enumerable": [ + 1414 + ], + "FlutterBirdSkins": [ + 3365 + ], + "IERC165": [ + 2097 + ], + "IERC721": [ + 1042 + ], + "IERC721Enumerable": [ + 1445 + ], + "IERC721Metadata": [ + 1472 + ], + "IERC721Receiver": [ + 1060 + ], + "Math": [ + 2963 + ], + "SignedMath": [ + 3068 + ], + "Strings": [ + 2061 + ] + }, + "id": 3366, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3070, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:13" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "id": 3071, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3366, + "sourceUnit": 1415, + "src": "57:78:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3072, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1414, + "src": "166:16:13" + }, + "id": 3073, + "nodeType": "InheritanceSpecifier", + "src": "166:16:13" + } + ], + "canonicalName": "FlutterBirdSkins", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3365, + "linearizedBaseContracts": [ + 3365, + 1414, + 1445, + 926, + 1472, + 1042, + 2085, + 2097, + 1832 + ], + "name": "FlutterBirdSkins", + "nameLocation": "146:16:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 3076, + "libraryName": { + "id": 3074, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2061, + "src": "195:7:13" + }, + "nodeType": "UsingForDirective", + "src": "189:26:13", + "typeName": { + "id": 3075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "207:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 3079, + "mutability": "mutable", + "name": "_maxSupply", + "nameLocation": "237:10:13", + "nodeType": "VariableDeclaration", + "scope": 3365, + "src": "221:33:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3077, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "221:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31303030", + "id": 3078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "250:4:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 3082, + "mutability": "mutable", + "name": "_mintPrice", + "nameLocation": "276:10:13", + "nodeType": "VariableDeclaration", + "scope": 3365, + "src": "260:39:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "260:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "302e3031", + "id": 3081, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "289:10:13", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "value": "0.01" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 3086, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "380:10:13", + "nodeType": "VariableDeclaration", + "scope": 3365, + "src": "345:45:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 3085, + "keyType": { + "id": 3083, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "353:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "345:26:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 3084, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "364:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 3090, + "mutability": "mutable", + "name": "owner", + "nameLocation": "453:5:13", + "nodeType": "VariableDeclaration", + "scope": 3365, + "src": "438:33:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "expression": { + "id": 3088, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "461:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "461:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 3097, + "nodeType": "Block", + "src": "526:2:13", + "statements": [] + }, + "id": 3098, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "466c757474657242697264536b696e73", + "id": 3093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "499:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ba2c2f1ba442486612e05e03e9fb6475caf4217513c0743bd3c4612282a469e0", + "typeString": "literal_string \"FlutterBirdSkins\"" + }, + "value": "FlutterBirdSkins" + }, + { + "hexValue": "464253", + "id": 3094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "519:5:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d21348567a3dab91169e2391c5019f6bd62e203ef0492f2f93b5806dcb7243e6", + "typeString": "literal_string \"FBS\"" + }, + "value": "FBS" + } + ], + "id": 3095, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3092, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 926, + "src": "492:6:13" + }, + "nodeType": "ModifierInvocation", + "src": "492:33:13" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3091, + "nodeType": "ParameterList", + "parameters": [], + "src": "489:2:13" + }, + "returnParameters": { + "id": 3096, + "nodeType": "ParameterList", + "parameters": [], + "src": "526:0:13" + }, + "scope": 3365, + "src": "478:50:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "f8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e95", + "id": 3102, + "name": "SkinMinted", + "nameLocation": "540:10:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 3101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3100, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "567:7:13", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "551:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "551:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "550:25:13" + }, + "src": "534:42:13" + }, + { + "body": { + "id": 3149, + "nodeType": "Block", + "src": "635:362:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3108, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "653:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3109, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3079, + "src": "666:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "653:23:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "696e76616c696420746f6b656e49642e206d7573742062652023393939", + "id": 3111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "678:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "typeString": "literal_string \"invalid tokenId. must be #999\"" + }, + "value": "invalid tokenId. must be #999" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "typeString": "literal_string \"invalid tokenId. must be #999\"" + } + ], + "id": 3107, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "645:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "645:65:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3113, + "nodeType": "ExpressionStatement", + "src": "645:65:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3115, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "728:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "728:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 3117, + "name": "_mintPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "741:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "728:23:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "696e73756666696369656e742066756e6473", + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "753:20:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "typeString": "literal_string \"insufficient funds\"" + }, + "value": "insufficient funds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "typeString": "literal_string \"insufficient funds\"" + } + ], + "id": 3114, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "720:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "720:54:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3121, + "nodeType": "ExpressionStatement", + "src": "720:54:13" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 3123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "795:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "795:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3125, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "807:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3122, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 494, + 523 + ], + "referencedDeclaration": 494, + "src": "785:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "785:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3127, + "nodeType": "ExpressionStatement", + "src": "785:33:13" + }, + { + "assignments": [ + 3129 + ], + "declarations": [ + { + "constant": false, + "id": 3129, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "843:9:13", + "nodeType": "VariableDeclaration", + "scope": 3149, + "src": "829:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3128, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "829:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3139, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 3135, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "886:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3133, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "869:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$2061_$", + "typeString": "type(library Strings)" + } + }, + "id": 3134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 1891, + "src": "869:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 3136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "869:28:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2e6a736f6e", + "id": 3137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "899:7:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", + "typeString": "literal_string \".json\"" + }, + "value": ".json" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", + "typeString": "literal_string \".json\"" + } + ], + "expression": { + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "855:6:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3130, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "855:6:13", + "typeDescriptions": {} + } + }, + "id": 3132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "855:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 3138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "855:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "829:78:13" + }, + { + "expression": { + "arguments": [ + { + "id": 3141, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "930:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3142, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3129, + "src": "942:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3140, + "name": "_setTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3364, + "src": "917:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 3143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "917:35:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3144, + "nodeType": "ExpressionStatement", + "src": "917:35:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3146, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "979:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3145, + "name": "SkinMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3102, + "src": "968:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "968:22:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3148, + "nodeType": "EmitStatement", + "src": "963:27:13" + } + ] + }, + "functionSelector": "f0352651", + "id": 3150, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mintSkin", + "nameLocation": "591:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3104, + "mutability": "mutable", + "name": "newTokenId", + "nameLocation": "608:10:13", + "nodeType": "VariableDeclaration", + "scope": 3150, + "src": "600:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "600:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "599:20:13" + }, + "returnParameters": { + "id": 3106, + "nodeType": "ParameterList", + "parameters": [], + "src": "635:0:13" + }, + "scope": 3365, + "src": "582:415:13", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3204, + "nodeType": "Block", + "src": "1174:282:13", + "statements": [ + { + "assignments": [ + 3163 + ], + "declarations": [ + { + "constant": false, + "id": 3163, + "mutability": "mutable", + "name": "_tokensOfOwner", + "nameLocation": "1198:14:13", + "nodeType": "VariableDeclaration", + "scope": 3204, + "src": "1184:28:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3161, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1184:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3162, + "nodeType": "ArrayTypeName", + "src": "1184:6:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 3172, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 3169, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3153, + "src": "1243:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3167, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "1226:6:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 117, + "src": "1226:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 3170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1226:24:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1215:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 3164, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1219:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3165, + "nodeType": "ArrayTypeName", + "src": "1219:6:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 3171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1215:36:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1184:67:13" + }, + { + "assignments": [ + 3174 + ], + "declarations": [ + { + "constant": false, + "id": 3174, + "mutability": "mutable", + "name": "i", + "nameLocation": "1266:1:13", + "nodeType": "VariableDeclaration", + "scope": 3204, + "src": "1261:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3173, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1261:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3175, + "nodeType": "VariableDeclarationStatement", + "src": "1261:6:13" + }, + { + "body": { + "id": 3199, + "nodeType": "Block", + "src": "1325:92:13", + "statements": [ + { + "expression": { + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3189, + "name": "_tokensOfOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3163, + "src": "1339:14:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3191, + "indexExpression": { + "id": 3190, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3174, + "src": "1354:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1339:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3194, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3153, + "src": "1396:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3195, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3174, + "src": "1404:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3192, + "name": "ERC721Enumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1359:16:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721Enumerable_$1414_$", + "typeString": "type(contract ERC721Enumerable)" + } + }, + "id": 3193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenOfOwnerByIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 1138, + "src": "1359:36:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 3196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1359:47:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1339:67:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3198, + "nodeType": "ExpressionStatement", + "src": "1339:67:13" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3180, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3174, + "src": "1290:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "id": 3183, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3153, + "src": "1311:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3181, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "1294:6:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 3182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 117, + "src": "1294:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 3184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1294:24:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1290:28:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3200, + "initializationExpression": { + "expression": { + "id": 3178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3174, + "src": "1283:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 3177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1287:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1283:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3179, + "nodeType": "ExpressionStatement", + "src": "1283:5:13" + }, + "loopExpression": { + "expression": { + "id": 3187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1320:3:13", + "subExpression": { + "id": 3186, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3174, + "src": "1320:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3188, + "nodeType": "ExpressionStatement", + "src": "1320:3:13" + }, + "nodeType": "ForStatement", + "src": "1278:139:13" + }, + { + "expression": { + "components": [ + { + "id": 3201, + "name": "_tokensOfOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3163, + "src": "1434:14:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 3202, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1433:16:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 3158, + "id": 3203, + "nodeType": "Return", + "src": "1426:23:13" + } + ] + }, + "documentation": { + "id": 3151, + "nodeType": "StructuredDocumentation", + "src": "1003:87:13", + "text": " @notice returns a list of tokenIds that are owned by the given address" + }, + "functionSelector": "0725e898", + "id": 3205, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokensForOwner", + "nameLocation": "1104:17:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3153, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "1130:6:13", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "1122:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1122:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1121:16:13" + }, + "returnParameters": { + "id": 3158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3157, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "1159:13:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3155, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1159:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3156, + "nodeType": "ArrayTypeName", + "src": "1159:6:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1158:15:13" + }, + "scope": 3365, + "src": "1095:361:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3251, + "nodeType": "Block", + "src": "1659:257:13", + "statements": [ + { + "assignments": [ + 3216 + ], + "declarations": [ + { + "constant": false, + "id": 3216, + "mutability": "mutable", + "name": "_unmintedTokes", + "nameLocation": "1683:14:13", + "nodeType": "VariableDeclaration", + "scope": 3251, + "src": "1669:28:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 3214, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1669:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3215, + "nodeType": "ArrayTypeName", + "src": "1669:6:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "id": 3222, + "initialValue": { + "arguments": [ + { + "id": 3220, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3079, + "src": "1711:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1700:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bool[] memory)" + }, + "typeName": { + "baseType": { + "id": 3217, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1704:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3218, + "nodeType": "ArrayTypeName", + "src": "1704:6:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + } + }, + "id": 3221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1700:22:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1669:53:13" + }, + { + "assignments": [ + 3224 + ], + "declarations": [ + { + "constant": false, + "id": 3224, + "mutability": "mutable", + "name": "i", + "nameLocation": "1737:1:13", + "nodeType": "VariableDeclaration", + "scope": 3251, + "src": "1732:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3223, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1732:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3225, + "nodeType": "VariableDeclarationStatement", + "src": "1732:6:13" + }, + { + "body": { + "id": 3247, + "nodeType": "Block", + "src": "1782:97:13", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 3237, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3224, + "src": "1808:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3236, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "1800:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1800:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3246, + "nodeType": "IfStatement", + "src": "1796:73:13", + "trueBody": { + "id": 3245, + "nodeType": "Block", + "src": "1812:57:13", + "statements": [ + { + "expression": { + "id": 3243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3239, + "name": "_unmintedTokes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3216, + "src": "1830:14:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 3241, + "indexExpression": { + "id": 3240, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3224, + "src": "1845:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1830:17:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1850:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1830:24:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3244, + "nodeType": "ExpressionStatement", + "src": "1830:24:13" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3230, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3224, + "src": "1761:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3231, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3079, + "src": "1765:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1761:14:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3248, + "initializationExpression": { + "expression": { + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3226, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3224, + "src": "1754:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 3227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1758:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1754:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3229, + "nodeType": "ExpressionStatement", + "src": "1754:5:13" + }, + "loopExpression": { + "expression": { + "id": 3234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1777:3:13", + "subExpression": { + "id": 3233, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3224, + "src": "1777:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3235, + "nodeType": "ExpressionStatement", + "src": "1777:3:13" + }, + "nodeType": "ForStatement", + "src": "1749:130:13" + }, + { + "expression": { + "id": 3249, + "name": "_unmintedTokes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3216, + "src": "1895:14:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "functionReturnParameters": 3211, + "id": 3250, + "nodeType": "Return", + "src": "1888:21:13" + } + ] + }, + "documentation": { + "id": 3206, + "nodeType": "StructuredDocumentation", + "src": "1462:126:13", + "text": " @notice returns a list of boolean values indicating whether the skin with that index has been minted already." + }, + "functionSelector": "19a0b41b", + "id": 3252, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMintedTokenList", + "nameLocation": "1602:18:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3207, + "nodeType": "ParameterList", + "parameters": [], + "src": "1620:2:13" + }, + "returnParameters": { + "id": 3211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3210, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3252, + "src": "1644:13:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 3208, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1644:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3209, + "nodeType": "ArrayTypeName", + "src": "1644:6:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "1643:15:13" + }, + "scope": 3365, + "src": "1593:323:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 213 + ], + "body": { + "id": 3260, + "nodeType": "Block", + "src": "1997:93:13", + "statements": [ + { + "expression": { + "hexValue": "697066733a2f2f62616679626569657876717433756162717a6d6871756f6b7a796c3767636478796f777a326866326864626269666b6b79783377616768657a71652f", + "id": 3258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2014:69:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1844433b190941be98ecb160e4a603df6386b480a1a91eb7f56ec7fa22a4a4a6", + "typeString": "literal_string \"ipfs://bafybeiexvqt3uabqzmhquokzyl7gcdxyowz2hf2hdbbifkkyx3waghezqe/\"" + }, + "value": "ipfs://bafybeiexvqt3uabqzmhquokzyl7gcdxyowz2hf2hdbbifkkyx3waghezqe/" + }, + "functionReturnParameters": 3257, + "id": 3259, + "nodeType": "Return", + "src": "2007:76:13" + } + ] + }, + "id": 3261, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_baseURI", + "nameLocation": "1931:8:13", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3254, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1964:8:13" + }, + "parameters": { + "id": 3253, + "nodeType": "ParameterList", + "parameters": [], + "src": "1939:2:13" + }, + "returnParameters": { + "id": 3257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3256, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3261, + "src": "1982:13:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3255, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1982:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1981:15:13" + }, + "scope": 3365, + "src": "1922:168:13", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 204 + ], + "body": { + "id": 3320, + "nodeType": "Block", + "src": "2184:569:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3271, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "2210:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3270, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "2202:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2202:16:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524337323155524953746f726167653a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 3273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2220:51:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", + "typeString": "literal_string \"ERC721URIStorage: URI query for nonexistent token\"" + }, + "value": "ERC721URIStorage: URI query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", + "typeString": "literal_string \"ERC721URIStorage: URI query for nonexistent token\"" + } + ], + "id": 3269, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2194:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2194:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3275, + "nodeType": "ExpressionStatement", + "src": "2194:78:13" + }, + { + "assignments": [ + 3277 + ], + "declarations": [ + { + "constant": false, + "id": 3277, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "2297:9:13", + "nodeType": "VariableDeclaration", + "scope": 3320, + "src": "2283:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3276, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2283:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3281, + "initialValue": { + "baseExpression": { + "id": 3278, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3086, + "src": "2309:10:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 3280, + "indexExpression": { + "id": 3279, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "2320:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2309:19:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2283:45:13" + }, + { + "assignments": [ + 3283 + ], + "declarations": [ + { + "constant": false, + "id": 3283, + "mutability": "mutable", + "name": "base", + "nameLocation": "2352:4:13", + "nodeType": "VariableDeclaration", + "scope": 3320, + "src": "2338:18:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3282, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2338:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3286, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3284, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3261 + ], + "referencedDeclaration": 3261, + "src": "2359:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 3285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2359:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2338:31:13" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 3289, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "2448:4:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2442:5:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3287, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2442:5:13", + "typeDescriptions": {} + } + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2442:11:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2442:18:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2464:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2442:23:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3297, + "nodeType": "IfStatement", + "src": "2438:70:13", + "trueBody": { + "id": 3296, + "nodeType": "Block", + "src": "2467:41:13", + "statements": [ + { + "expression": { + "id": 3294, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3277, + "src": "2488:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3268, + "id": 3295, + "nodeType": "Return", + "src": "2481:16:13" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 3300, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3277, + "src": "2616:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2610:5:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3298, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2610:5:13", + "typeDescriptions": {} + } + }, + "id": 3301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2610:16:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2610:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2636:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2610:27:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3315, + "nodeType": "IfStatement", + "src": "2606:106:13", + "trueBody": { + "id": 3314, + "nodeType": "Block", + "src": "2639:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3309, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "2684:4:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3310, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3277, + "src": "2690:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 3307, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2667:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2667:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2667:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2660:6:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3305, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2660:6:13", + "typeDescriptions": {} + } + }, + "id": 3312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2660:41:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3268, + "id": 3313, + "nodeType": "Return", + "src": "2653:48:13" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 3317, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "2738:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3316, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3321 + ], + "referencedDeclaration": 3321, + "src": "2729:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) view returns (string memory)" + } + }, + "id": 3318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2729:17:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3268, + "id": 3319, + "nodeType": "Return", + "src": "2722:24:13" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 3321, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "2105:8:13", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3265, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2151:8:13" + }, + "parameters": { + "id": 3264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3263, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2122:7:13", + "nodeType": "VariableDeclaration", + "scope": 3321, + "src": "2114:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2114:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2113:17:13" + }, + "returnParameters": { + "id": 3268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3267, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3321, + "src": "2169:13:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3266, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2169:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2168:15:13" + }, + "scope": 3365, + "src": "2096:657:13", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 3342, + "nodeType": "Block", + "src": "2829:196:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3330, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1814, + "src": "2879:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2879:12:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3332, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "2893:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3329, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "2860:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 3333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2860:41:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "id": 3334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2915:51:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" + }, + "value": "ERC721: transfer caller is not owner nor approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" + } + ], + "id": 3328, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2839:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2839:137:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3336, + "nodeType": "ExpressionStatement", + "src": "2839:137:13" + }, + { + "expression": { + "arguments": [ + { + "id": 3338, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "2999:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3339, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3325, + "src": "3008:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3337, + "name": "_setTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3364, + "src": "2986:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 3340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2986:32:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3341, + "nodeType": "ExpressionStatement", + "src": "2986:32:13" + } + ] + }, + "functionSelector": "57f7789e", + "id": 3343, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setTokenUri", + "nameLocation": "2768:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3323, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2788:7:13", + "nodeType": "VariableDeclaration", + "scope": 3343, + "src": "2780:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3322, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2780:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3325, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "2811:9:13", + "nodeType": "VariableDeclaration", + "scope": 3343, + "src": "2797:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3324, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2797:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2779:42:13" + }, + "returnParameters": { + "id": 3327, + "nodeType": "ParameterList", + "parameters": [], + "src": "2829:0:13" + }, + "scope": 3365, + "src": "2759:266:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3363, + "nodeType": "Block", + "src": "3112:133:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3352, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "3138:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3351, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "3130:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3130:16:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", + "id": 3354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3148:48:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", + "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" + }, + "value": "ERC721URIStorage: URI set of nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", + "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" + } + ], + "id": 3350, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3122:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3122:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3356, + "nodeType": "ExpressionStatement", + "src": "3122:75:13" + }, + { + "expression": { + "id": 3361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3357, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3086, + "src": "3207:10:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 3359, + "indexExpression": { + "id": 3358, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "3218:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3207:19:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3360, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3347, + "src": "3229:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3207:31:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 3362, + "nodeType": "ExpressionStatement", + "src": "3207:31:13" + } + ] + }, + "id": 3364, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setTokenURI", + "nameLocation": "3040:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3345, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3061:7:13", + "nodeType": "VariableDeclaration", + "scope": 3364, + "src": "3053:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3344, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3053:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3347, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "3084:9:13", + "nodeType": "VariableDeclaration", + "scope": 3364, + "src": "3070:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3346, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3070:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3052:42:13" + }, + "returnParameters": { + "id": 3349, + "nodeType": "ParameterList", + "parameters": [], + "src": "3112:0:13" + }, + "scope": 3365, + "src": "3031:214:13", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 3366, + "src": "137:3110:13", + "usedErrors": [] + } + ], + "src": "32:3216:13" + }, + "compiler": { + "name": "solc", + "version": "0.8.14+commit.80d49f37.Emscripten.clang" + }, + "networks": { + "1001": { + "events": {}, + "links": {}, + "address": "0xAca84dc56A05bbC7a335a74d9e13C91dfA2Ea16D", + "transactionHash": "0xcfe48dd339af389ed2dd85e2b94ac53fb64c9874fb2980b7e59e55aa2ec58eb9" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-07-08T11:09:13.963Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "getMintedTokenList()": { + "notice": "returns a list of boolean values indicating whether the skin with that index has been minted already." + }, + "getTokensForOwner(address)": { + "notice": "returns a list of tokenIds that are owned by the given address" + } + }, + "version": 1 + } +} \ No newline at end of file diff --git a/flutter_bird_image_server/create_birds/create_data.js b/flutter_bird_image_server/create_birds/create_data.js new file mode 100644 index 0000000..36c371c --- /dev/null +++ b/flutter_bird_image_server/create_birds/create_data.js @@ -0,0 +1,23 @@ +const { generateImage } = require("./generate_image"); +const { generateMetadata } = require("./generate_metadata"); + +async function mintRandomSkin(tokenId) { + try { + const skinMetadata = generateMetadata(tokenId); + + const dataUrl = await generateImage( + tokenId, + skinMetadata.attributes[0]['value'], + skinMetadata.attributes[1]['value'], + skinMetadata.attributes[2]['value'], + skinMetadata.attributes[3]['value'], + skinMetadata.attributes[4]['value'], + ); + return dataUrl; + } catch (e) { + console.error('Error in mintRandomSkin:', e); + throw e; + } +} + +module.exports = { mintRandomSkin }; diff --git a/flutter_bird_image_server/create_birds/generate_image.js b/flutter_bird_image_server/create_birds/generate_image.js new file mode 100644 index 0000000..2cdb10f --- /dev/null +++ b/flutter_bird_image_server/create_birds/generate_image.js @@ -0,0 +1,56 @@ +const { createCanvas, loadImage } = require("canvas"); +const path = require('path'); + +const imageSize = { + width: 750, + height: 750 +}; + +async function generateImage(tokenId, bird, head, eyes, mouth, neck) { + const canvas = createCanvas(imageSize.width, imageSize.height); + const context = canvas.getContext("2d"); + + const baseUrl = process.env.VERCEL_URL + ? `https://${process.env.VERCEL_URL}` + : 'http://localhost:3000'; + + const loadLayerImage = async (directory, filename) => { + if (filename && filename !== "") { + const imagePath = path.join(__dirname, '..', 'public', 'input', 'layers', directory, `${filename}.png`); + console.log('Loading image from:', imagePath); + return await loadImage(imagePath); + } + return null; + }; + + // Draw bird first + const birdImage = await loadLayerImage('bird', bird); + context.drawImage(birdImage, 0, 0, imageSize.width, imageSize.height); + + // Draw neck + const neckImage = await loadLayerImage('neck', neck); + if (neckImage) { + context.drawImage(neckImage, 0, 0, imageSize.width, imageSize.height); + } + + // Draw mouth + const mouthImage = await loadLayerImage('mouth', mouth); + if (mouthImage) { + context.drawImage(mouthImage, 0, 0, imageSize.width, imageSize.height); + } + + // Draw eyes + const eyesImage = await loadLayerImage('eyes', eyes); + context.drawImage(eyesImage, 0, 0, imageSize.width, imageSize.height); + + // Draw head + const headImage = await loadLayerImage('head', head); + if (headImage) { + context.drawImage(headImage, 0, 0, imageSize.width, imageSize.height); + } + + // Convert canvas to data URL + return canvas.toDataURL("image/png"); +} + +module.exports = { generateImage }; diff --git a/flutter_bird_image_server/create_birds/generate_metadata.js b/flutter_bird_image_server/create_birds/generate_metadata.js new file mode 100644 index 0000000..d28fe46 --- /dev/null +++ b/flutter_bird_image_server/create_birds/generate_metadata.js @@ -0,0 +1,66 @@ +const crypto = require('crypto'); +const traits = require("../input/traits.json"); + +function getRandomWeightedTrait(traitList, guaranteed = false, rng) { + let totalWeight = traitList.reduce((sum, trait) => { + if (!guaranteed || (trait.name !== "none" && trait.name !== "default")) { + return sum + trait.weight; + } + return sum; + }, 0); + + let randomNumber = rng() * totalWeight; + + for (const trait of traitList) { + if (guaranteed && (trait.name === "none" || trait.name === "default")) { + continue; + } + + randomNumber -= trait.weight; + if (randomNumber <= 0) { + return trait.name === "none" ? "" : trait.name; + } + } + + return ""; +} + +function generateMetadata(tokenId) { + console.log('Creating metadata for skin ' + tokenId); + + const seed = crypto.createHash('sha256').update(tokenId.toString()).digest('hex'); + const rng = require('seedrandom')(seed); + + const skinTemplate = require('../input/metadata_template.json'); + const skinMetadata = JSON.parse(JSON.stringify(skinTemplate)); + + const birdList = traits.bird; + const headList = traits.head; + const eyesList = traits.eyes; + const mouthList = traits.mouth; + const neckList = traits.neck; + + let guaranteedTrait = Math.floor(rng() * 5) - 1; + const randomBird = getRandomWeightedTrait(birdList, false, rng); + if (randomBird === 'default') guaranteedTrait = Math.floor(rng() * 4); + + let guaranteedNotTrait = Math.floor(rng() * 6); + if (guaranteedTrait === guaranteedNotTrait) guaranteedNotTrait = -1; + + const randomHead = guaranteedNotTrait === 0 ? "" : getRandomWeightedTrait(headList, guaranteedTrait === 0, rng); + const randomEyes = guaranteedNotTrait === 1 ? "default" : getRandomWeightedTrait(eyesList, guaranteedTrait === 1, rng); + const randomMouth = guaranteedNotTrait === 2 ? "" : getRandomWeightedTrait(mouthList, guaranteedTrait === 2, rng); + const randomNeck = guaranteedNotTrait === 3 ? "" : getRandomWeightedTrait(neckList, guaranteedTrait === 3, rng); + + skinMetadata.name = 'Flutter Bird #' + tokenId.toString(); + skinMetadata.attributes[0].value = randomBird.toLowerCase(); + skinMetadata.attributes[1].value = randomHead.toLowerCase(); + skinMetadata.attributes[2].value = randomEyes.toLowerCase(); + skinMetadata.attributes[3].value = randomMouth.toLowerCase(); + skinMetadata.attributes[4].value = randomNeck.toLowerCase(); + + console.log('Generated metadata:', JSON.stringify(skinMetadata, null, 2)); + return skinMetadata; +} + +module.exports = { generateMetadata }; diff --git a/flutter_bird_image_server/create_birds/update_image_url.js b/flutter_bird_image_server/create_birds/update_image_url.js new file mode 100644 index 0000000..dc610a9 --- /dev/null +++ b/flutter_bird_image_server/create_birds/update_image_url.js @@ -0,0 +1,27 @@ +const fs = require('fs'); + +const dirname = "../output/metadata" + +const cid = "bafybeib3ss7fb7wejue2b7nv3frucl3xvhd27yycyw37csodsytvv5ipou"; + +fs.readdir(dirname, function (err, filenames) { + if (err) { + console.error(err) + return + } + filenames.forEach(function (filename) { + const filePath = dirname + "/" + filename; + fs.readFile(filePath, 'utf-8', function (err, content) { + if (err) { + console.error(err) + return + } + + let metadata = JSON.parse(content) + let imageName = filename.split(".")[0] + ".png" + metadata.image = "ipfs://" + cid + "/" + imageName + + fs.writeFileSync(filePath, JSON.stringify(metadata)) + }); + }); +}); \ No newline at end of file diff --git a/flutter_bird_image_server/input/metadata_template.json b/flutter_bird_image_server/input/metadata_template.json new file mode 100644 index 0000000..0aadad9 --- /dev/null +++ b/flutter_bird_image_server/input/metadata_template.json @@ -0,0 +1,28 @@ +{ + "name": "", + "description": "A friendly pixel bird that flies on the ethereum blockchain and is ready to adventure the exciting world of flutter bird.", + "image": "", + "background_color": "40C4FF", + "attributes": [ + { + "trait_type": "color", + "value": "" + }, + { + "trait_type": "head", + "value": "" + }, + { + "trait_type": "eyes", + "value": "" + }, + { + "trait_type": "mouth", + "value": "" + }, + { + "trait_type": "neck", + "value": "" + } + ] +} \ No newline at end of file diff --git a/flutter_bird_image_server/input/traits.json b/flutter_bird_image_server/input/traits.json new file mode 100644 index 0000000..3c2a3eb --- /dev/null +++ b/flutter_bird_image_server/input/traits.json @@ -0,0 +1,232 @@ +{ + "bird": [ + { + "name": "default", + "weight": 5 + }, + { + "name": "blue", + "weight": 2 + }, + { + "name": "green", + "weight": 2 + }, + { + "name": "red", + "weight": 2 + }, + { + "name": "cyan", + "weight": 1 + }, + { + "name": "orange", + "weight": 1 + }, + { + "name": "pink", + "weight": 1 + }, + { + "name": "purple", + "weight": 1 + }, + { + "name": "black", + "weight": 0.5 + }, + { + "name": "white", + "weight": 0.5 + }, + { + "name": "rainbow", + "weight": 0.2 + }, + { + "name": "gold", + "weight": 0.1 + } + ], + "eyes": [ + { + "name": "default", + "weight": 10 + }, + { + "name": "heart", + "weight": 2 + }, + { + "name": "thug_glasses", + "weight": 2 + }, + { + "name": "rainbow_glasses", + "weight": 2 + }, + { + "name": "3d_glasses", + "weight": 1 + }, + { + "name": "nerd_glasses", + "weight": 1 + } + ], + "head": [ + { + "name": "none", + "weight": 5 + }, + { + "name": "beanie", + "weight": 1 + }, + { + "name": "bucket_hat", + "weight": 1 + }, + { + "name": "cap_blue", + "weight": 0.5 + }, + { + "name": "cap_red", + "weight": 0.5 + }, + { + "name": "cowboy", + "weight": 0.5 + }, + { + "name": "crown", + "weight": 0.1 + }, + { + "name": "headphones_blue", + "weight": 0.3 + }, + { + "name": "headphones_gray", + "weight": 0.3 + }, + { + "name": "headphones_green", + "weight": 0.3 + }, + { + "name": "headphones_orange", + "weight": 0.3 + }, + { + "name": "headphones_red", + "weight": 0.3 + }, + { + "name": "party", + "weight": 0.5 + }, + { + "name": "wizard", + "weight": 0.5 + }, + { + "name": "cylinder", + "weight": 0.8 + }, + { + "name": "flowers", + "weight": 1 + } + ], + "mouth": [ + { + "name": "none", + "weight": 10 + }, + { + "name": "cigarette", + "weight": 2 + }, + { + "name": "flower", + "weight": 2 + }, + { + "name": "mask", + "weight": 0 + }, + { + "name": "party_horn", + "weight": 1.5 + }, + { + "name": "pipe", + "weight": 2 + }, + { + "name": "tongue", + "weight": 2 + }, + { + "name": "whistle_blue", + "weight": 0.25 + }, + { + "name": "whistle_green", + "weight": 0.25 + }, + { + "name": "whistle_orange", + "weight": 0.25 + }, + { + "name": "whistle_red", + "weight": 0.25 + } + ], + "neck": [ + { + "name": "none", + "weight": 10 + }, + { + "name": "bronze_chain", + "weight": 2 + }, + { + "name": "silver_chain", + "weight": 1.5 + }, + { + "name": "gold_chain", + "weight": 0.5 + }, + { + "name": "tie_blue", + "weight": 0.5 + }, + { + "name": "tie_green", + "weight": 0.5 + }, + { + "name": "tie_orange", + "weight": 0.5 + }, + { + "name": "tie_pink", + "weight": 0.5 + }, + { + "name": "tie_red", + "weight": 0.5 + }, + { + "name": "tie_white", + "weight": 0.5 + } + ] +} \ No newline at end of file diff --git a/flutter_bird_image_server/lib/split_data.js b/flutter_bird_image_server/lib/split_data.js new file mode 100644 index 0000000..ffe4deb --- /dev/null +++ b/flutter_bird_image_server/lib/split_data.js @@ -0,0 +1,13 @@ +const { chunk } = require('lodash'); + +function splitData(data, splitSize, chunkSize) { + const splitCount = Math.ceil(data.length / splitSize); + const splitedData = Array.from({ length: splitCount }, (_, i) => + data.subarray(i * splitSize, (i + 1) * splitSize) + ); + return chunk(splitedData, chunkSize); +} + +module.exports = { + splitData +}; diff --git a/flutter_bird_image_server/mint_full_onchain_bird/create_uri.js b/flutter_bird_image_server/mint_full_onchain_bird/create_uri.js new file mode 100644 index 0000000..ced0010 --- /dev/null +++ b/flutter_bird_image_server/mint_full_onchain_bird/create_uri.js @@ -0,0 +1,24 @@ +const { readFileSync } = require('fs'); + +function createUri({ name, description, filePath }, urlEncode) { + const fileContent = readFileSync(filePath); + const fileSize = fileContent.length.toLocaleString() + ' bytes'; + const fileContentBase64 = fileContent.toString('base64'); + const json = JSON.stringify({ + name, + description, + attributes: [{ trait_type: 'File size', value: fileSize }], + image: 'data:image/png;base64,' + fileContentBase64, + }); + if (urlEncode) { + console.log('data:application/json,' + encodeURIComponent(json)); + return 'data:application/json,' + encodeURIComponent(json); + } else { + console.log('data:application/json,' + json); + return 'data:application/json,' + json; + } +} + +module.exports = { + createUri +}; diff --git a/flutter_bird_image_server/mint_full_onchain_bird/mint_random_skin.js b/flutter_bird_image_server/mint_full_onchain_bird/mint_random_skin.js new file mode 100644 index 0000000..b1e0dc3 --- /dev/null +++ b/flutter_bird_image_server/mint_full_onchain_bird/mint_random_skin.js @@ -0,0 +1,98 @@ +require('dotenv').config(); +const HDWalletProvider = require("truffle-hdwallet-provider-klaytn"); + +const Web3 = require('web3'); +const fs = require('fs'); + +const { createUri } = require('./create_uri'); +const { uploadUri } = require('./upload_uri'); + +const contractJson = JSON.parse(fs.readFileSync('./build/contracts/FlutterBirdSkins.json', 'utf8')); +const contractABI = contractJson.abi; +const contractAddress = process.env.CONTRACT_ADDRESS; + +const privateKey = process.env.PRIVATE_KEY; +const provider = new HDWalletProvider(privateKey, 'https://public-en-baobab.klaytn.net'); +const web3 = new Web3(provider); + +const flutterBirdSkins = new web3.eth.Contract(contractABI, contractAddress); + +/** + * This function mints a random Flutter Bird Skin + */ +async function mintRandomSkin() { + const splitSize = 24544; + + console.log('Minting a random Flutter Bird Skin on contract:', contractAddress); + + // Get minted status list of all tokens + const mintedStatusList = await flutterBirdSkins.methods.getMintedTokenList().call(); + // Get random unminted token + const unmintedTokenId = getUnmintedTokenId(mintedStatusList); + + if (unmintedTokenId === undefined) { + console.log("No unminted token available. All tokenIds have been minted."); + return; + } + + const tokenInfo = { + filePath: `./output/images/1.png`, // FIXME: val + unmintedTokenId, + name: `Flutter Bird - ${unmintedTokenId}`, + description: 'NFT Flutter Bird', + }; + + // createUri + const uri = createUri(tokenInfo, false); + + try { + const accounts = await web3.eth.getAccounts(); + console.log("accounts[0]: " + accounts[0]); + + // uploadUri + await uploadUri(flutterBirdSkins, unmintedTokenId, uri, splitSize, accounts[0]); + + const gasEstimate = await flutterBirdSkins.methods.mintSkin(unmintedTokenId).estimateGas({ + from: accounts[0], + value: ethToWei(1) + }); + + // mint + const tx = await flutterBirdSkins.methods.mintSkin(unmintedTokenId).send({ + from: accounts[0], + value: ethToWei(1), + gas: Math.floor(gasEstimate * 1.2) + }); + + console.log("Minting successful\nToken ID of new Skin: " + unmintedTokenId); + console.log("Transaction hash:", tx.transactionHash); + } catch (error) { + console.error('Error minting NFT:', error); + } finally { + provider.engine.stop(); + } +} + +/** + * Converts eth to wei + */ +function ethToWei(ethValue) { + return web3.utils.toWei(ethValue.toString(), 'ether'); +} + +/** + * + * @param mintedStatusList array of boolean values whether the skin at that index has been minted + * @returns int a random tokenId of an unminted token + */ +function getUnmintedTokenId(mintedStatusList) { + let tokenIds = []; + for (let i = 0; i < mintedStatusList.length; i++) { + if (!mintedStatusList[i]) { + tokenIds.push(i); + } + } + return tokenIds[Math.floor(Math.random() * tokenIds.length)]; +} + +mintRandomSkin().catch(console.error); diff --git a/flutter_bird_image_server/mint_full_onchain_bird/upload_uri.js b/flutter_bird_image_server/mint_full_onchain_bird/upload_uri.js new file mode 100644 index 0000000..438fd64 --- /dev/null +++ b/flutter_bird_image_server/mint_full_onchain_bird/upload_uri.js @@ -0,0 +1,24 @@ +const Web3 = require('web3'); +const { splitData } = require('../lib/split_data'); + +async function uploadUri(flutterBirdSkins, tokenId, uri, splitSize, account) { + const data = Buffer.from(uri); + const chunkValues = splitData(data, splitSize, 5); + console.log('chunk count:', chunkValues.length); + for (let i = 0; i < chunkValues.length; i++) { + const values = chunkValues[i]; + const gasEstimate = await flutterBirdSkins.methods.appendUri(tokenId, values).estimateGas({ + from: account, + }); + const tx = await flutterBirdSkins.methods.appendUri(tokenId, values) + .send( { + from: account, + gas: Math.floor(gasEstimate * 1.2) + }); + console.log(`appendUri tx: ${tx.transactionHash}`); + } +} + +module.exports = { + uploadUri +}; diff --git a/flutter_bird_image_server/package-lock.json b/flutter_bird_image_server/package-lock.json new file mode 100644 index 0000000..6099851 --- /dev/null +++ b/flutter_bird_image_server/package-lock.json @@ -0,0 +1,1695 @@ +{ + "name": "flutter_bird_image_server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "flutter_bird_image_server", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cors": "^2.8.5", + "express": "^4.19.2", + "seedrandom": "^3.0.5" + }, + "devDependencies": { + "canvas": "^2.11.2", + "nodemon": "^3.1.4" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/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/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/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/canvas": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", + "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "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/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "dev": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "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/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "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.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "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.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/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/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, + "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==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "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==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/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/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/nan": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "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/nodemon": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/nodemon/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/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.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-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "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/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "dev": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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/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/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/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "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-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "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/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "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/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/flutter_bird_image_server/package.json b/flutter_bird_image_server/package.json new file mode 100644 index 0000000..be76715 --- /dev/null +++ b/flutter_bird_image_server/package.json @@ -0,0 +1,23 @@ +{ + "name": "flutter_bird_image_server", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node server.js", + "dev": "nodemon server.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "cors": "^2.8.5", + "express": "^4.19.2", + "seedrandom": "^3.0.5" + }, + "devDependencies": { + "canvas": "^2.11.2", + "nodemon": "^3.1.4" + } +} diff --git a/flutter_bird_image_server/public/input/layers/bird/black.png b/flutter_bird_image_server/public/input/layers/bird/black.png new file mode 100644 index 0000000000000000000000000000000000000000..22d571ce5109da2b21668b67a1db0d6611627c6e GIT binary patch literal 4423 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`fh(Rajv*Cu-riW4cRO6B z?cqP&W=~GjHHWlZAGRJ-P21TRdoyprnUoa=HUuS##_+bOU7E00d&V_aTf54+&v!Q7 zUv9B2Ztl~=+x6cwFf?4xHLV6({Na9!H3I_+M>zunhXBy60t$B+85A6LFf%wb6tFWi zFg)aAU|>8X3-raP!qMOvO%$V9VYH+e4&`ISc{zp;o5OD3&HToucmCss__Tb6AChqc zSNd<5XUiawzxD3iwEPF3Y;0`L&imkfCoZ1V@=l>})|95Pu z#qs9{SATkW?)&4lk-6o|FPitY|26u>7BY|-{``hBX2I{(s~>{h`iFz(!O?+hQ@*~*{9q|K%#OYN4RWsc#vHTF>M3*N zmJ_Seg6FU^c{z? zi|R{FtC{v>4rIct`SC6F8(YO?aLL#fpLjDT&Hup}zkXnrE=W6mxNhcN#(PEs9)953 z?T09&_&)bK=wCUb)}Ddu;w0EsGZaXI(qA<*L(D)1&uEWtw4Xbmz5D+RC*8B;o8$K! R0FFg4c)I$ztaD0e0szGeFX{jQ literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/bird/blue.png b/flutter_bird_image_server/public/input/layers/bird/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..abe09c14b772fcd2b29a5836ab2324e72b030ac2 GIT binary patch literal 4499 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K?P42$B>FSZ*Lf8-AbGCmi&;=jvw^%bUuyB+!FmMO}9W9`6hmk?S zVFxpVLqh>OLj%J@J_ZKHL$W~cj4B)rp3y`xniWP%is4W`M)=e+9QZy`<9qKZ~|X?=1v6v#RO;!*|b;ejI!I_wR?^+K&?TtHDnF3~{Q@>F$B6 zVa0;w8SJz6#k^g%Z{Z`bBTxRk`hj=f{paWBx9889H;?cB4e{;YzaKU~*Vo_vUo8)q z4qos+xL;W~V0Hh2q*u&0{69a=%V#Aupe-9u2z{_|3>BWm5z^=AqVy+m#)cNM=@z*Q! z8`QI*nd)};_Tc#wKE64<`=RuEdAYXy7&%$q`wu=qO4I|vPX{q82M%mV0JnaSGQ;0FE)z|P;URqYkzpVc>Z#`M)z;P z&;&U-7hEeHQ2hL8z&arfN3XCSSa>_{+UAw{KP2brf~w00g>O&)*K=qcz>tF!M7PgY snSJGD*l>Q&Xn$?AmpVc_@qd`D^=rc&b{?7n9L`|yboFyt=akR{05EY=`v3p{ literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/bird/cyan.png b/flutter_bird_image_server/public/input/layers/bird/cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb49c9931f3d751076f31961730b5fb52dd3a6e GIT binary patch literal 4485 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 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/bird/green.png b/flutter_bird_image_server/public/input/layers/bird/green.png new file mode 100644 index 0000000000000000000000000000000000000000..5b286e04a3ffd9626f3a85a26b48adb5f17749ba GIT binary patch literal 4483 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K><$}$B>FSZ*M5(&5o34 zySOpcV3PA`Bd%_dR&lB6Gg6r&UBWNARxqckH8b&Oi-sM%+A{UnC57s+0N<#m&(1%d zv$^qmcCLH>yEmU+-<4-zIPltR{x6{A5B_tOGca%n0G%qJaEFmW!C?n8gF{0BJ3|A* zLp}xu#zV3|PqbJwFtBipDjW@-(L^zt6-G;nVNgD9nDL9DVfn1}*N(5ufAB@7?Dowo z<_tEi;saO6>nyWlkjUQ`CBJ;%L(4h&--72)_*k%8W?$j|9~L!_Rb%GP<^5j^a_9@* z2VW`+2dsuVko1cA!P?otkh>`TeD>cLoOK5ezb*Q4?C;~pA9{m73jGfcPftHw|GfQf znOPO{jA;WLq;=P8w%YmCIv)i)@@JZTP4n{K|Nj2|(A(YJ{ZM-OqkkU@e;m7d^X7;B zoe(Ggu+$&8=0Jo`EyMCmU@CCWzw`fxQB_lX!Pj?xKlFY+Tla&FVNY1xz%^1pS>}NW z$W=9uU)}xv5ET2KIW;@>$?g02eS7|4b3Hx1wtR+=iUCfW+yDN~{c~*o^~dIZN4;z0 zY;J-g{qfQY|gj)ZO#|Akb%rYpl0Y5^8@)a!P)5h{~R~}IX$cQ=e6ep zbN*qV!@;Tb`QG!*&&xN<{J(4aX4~e6$_5Psn3>M#?Z4++%e*J*^VMG#UwK7O_y1n$ zf8s`c6yNX?tN|f{aLf0{&+9?p?CnZk-_diRpwuLKP)>N{`&D1bDQ?3$NyeY|8VHr{At1S z4{%!pV|rzN!}c@X1J}|L3zlcdzni#yu5az(;v0}UGIj2$a`6R+2G~_|+79Pg&;G^6 tV39h2Q8?OD9I)2MFlc&GA@%%Y-qhJ(AeW-G95{x-;OXk;vd$@?2>@*VQ=R|- literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/bird/orange.png b/flutter_bird_image_server/public/input/layers/bird/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..8c265ed3ded04154eee70295db64fcc76832fde0 GIT binary patch literal 4477 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 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/bird/rainbow.png b/flutter_bird_image_server/public/input/layers/bird/rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c8444c879d95644a837ef0a52e481daa475ace GIT binary patch literal 4538 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`L3d9V$B>FSZ*Lg(%?_1l z3(VQ+&~7u3!x@iDcyFu&rKjitA2*>mgO8)JI#yRM+YT-dw}LcroVx z=ZbST5B$!2vr+Eu&C~qv_cJjt$Zh|5g&k=Bf4?2f3=Rzi>e+f3V!byxC$x3@GIkoD`(%EProSr`*P-&Bc*$0{%UC7Sob~W$FYAEGW!a( z*L~a`1#<5B^I+#1=;{w#O&Z}-%TTlO=ig^WUwK7er=M@jf3x43_x_G9^Y9xL=5>z> zEO_omtPMMCo_7@F_>FOT?f=#0mEXSkg7?Av%EAF_8yrY_#k|88lt#ZC`*;4noBs#< zHS_DOYm)!J&iui~U=tQMaHa8v8NV1Fn7#S`C-=v(Uq81WHn)@aKWx5l*P&ytpRRr= zy}#yVn;#JW{rd5b-u3al_jib1|6!AN1bPrssRV-MZA^z2#+vnW!*Tm=O zEe7VK=Z`ag9J_n__7975_PXu)Z^D78;`QOgA8h{TP3vwiJT<_s^}h>r;45J{P-3{E zZqwm!AD8^pq9(C6g75x~^}w>ABIa8A;VbF~COmdK II;Vst01=mS2LJ#7 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/bird/red.png b/flutter_bird_image_server/public/input/layers/bird/red.png new file mode 100644 index 0000000000000000000000000000000000000000..86bb7385875e7375b15b95544ca71df73b21845c GIT binary patch literal 4482 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`L4Hpc$B>FSZ*Lf8MQ2L5 zJ)9U|sIXnLd3S@y{Gd{U6`$GClr=X^yxCywI76%TRO1xK(iui;^?g*&avf4p+`q2> zkBxMNeU7)?pYHJacK?7*vdKNYlOJgNzxf613=Iqq`4|`&56J=@++xkZz`{|^z`!8@ zbiaVY9YzKPhaJoe4h^FUM}ucHQH*AV(UM{~l#i={#s81E({JC|eCLgse>rjgjNfbx z?;jo=xHV4dN>&_jX|8wT^{XY7F zHz6)=;407!vwk!Dh=fG3==axOKlHX|O6@!N{r9J*r$6-GzJ2?l^z}zSepu8b7Z)4< zvHnARI*j(wbO@9rN1 zwUk)mv z?ybFk*u1a2{II#1yd4kFv6jFRYG;1K@>AUd*N_e?mS;GB_jl&3-z<7>g!X?v+s+Sl zWJQ$T$8y%1+2RA&z}JbZ{bli;_rn@cHos&3hYK8#J2sTR{(48fAaVKOIzyoBoPo^h zkFGB7FTT$Z)A+QkeBN(1z1P5!@!3Ac2bLcPHghvve+Y32!@8LR7=xp|!_hwRKn@u+ b{AX~S&^l@V1-XO35ex=TS3j3^P6M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K_O2U$B>FSZ*MHjo1HGv z_VA|Bj42nGnl*KTOypk3G)5+z?8{lQ;Y^A~5RWcv*ukp}j+silH?5m8Gq38`=RM!$ z_nQ~;SM8%g2N7G z28V_Mc7_IqhkOhSjH3!igJ(2RjAn(=l43ZNk2=fj7#=Krw)$(~D`^Yc_P1$fUwIky zA08dJ+Ms(SKf|%v>#rSOng2tw?DyX*>M1e$(+``=&7aqnzo%{W=g$xK_a81Zmfp)a z$4-CXs;LN{T82I4pRfM1s7l^`zkl8XYlJiBbY1_kX5G2-?f=j5-#(l3h0Q>BfL;1$ z#m}tTIltPvUOz4RaV&4Y{Jw*yYybW#{c-H*(W4)FgFpWGVp8+?)t{Ol^^X#F&+NU& z@Nc&Gz%>Mb$+F?HN&MRW#pZJR-@5sKkX>h|)1Lq4+wX_c3?ITO3kR$@av!ub=)n|7yK{d|Q4@ObpL`h7}(k4Om;L;pi3i1N^_ApZ?JsUoXGE zP%G~7?*~VLIq3t?nMFU?@=w=nwd=cQkz>C3qIAI10nF-~Pq*)0ncpC91c~VX|BAmH zIl1H4+x~~ryZ_exIJR;}oL+l=ODckvvmZ*&pFh7n|IWO*y!RjcwFHJQ&~w{Qbq`#lS}a(e;r-p^ zzkjdve=v3LvGTg=V&j^}pFe;8z>9(%Zsetbq-PFbNpwa}{@t>Dj24WblKw02o^`;g2N?Yg-;WGn zxPjtzP8-A}3>K*am>WjBhyzv=jrPewjnsdv!atgJAC>Al0vyI*@O1TaS?83{1OOT= BP5%G@ literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/eyes/3d_glasses.png b/flutter_bird_image_server/public/input/layers/eyes/3d_glasses.png new file mode 100644 index 0000000000000000000000000000000000000000..b41545f7e482908479ef6284b41c657f70653ae7 GIT binary patch literal 5408 zcmeI0TTt3(7Qp|;O*N&_Y;7vWD4A`uHceu+ULqQ>yQXV1+33!uX-pK*{8tz+5%3Ze z1d^t^#tFy+lSJcfO{d=QQkPY{px6+hMufz~3ksrQB#MHlARx$+&d$Ep_vPWtH}lQ+ zaBkl@zjI3ek`RCJ-6QV;0C4d9SLgl;0Q+=r#q%BKjUj;j%y}Fje04Ps0K9~6#Z8QF z{G0RAFaOJ={7ZOjJ}E6X9UzfN!5KMOd0-kLJs6*htJIx60stShoSS;BH=J~09$S8$R5yF~pOx;v{TkYMw{epevi>K+?1|MU zoZE3HK6(7DGl(I=CvT{kdy**sy zsi|HRTcl;R(Qp8`l{GWn?CaFF{s0L8JP$cdJ9JFp1|0jM+a37g7Qq9!1EXZDVk9eWqxY+e8vtQK-9 zCzC|Ou1aUSRwCL?KE#-xK-D@sSuwP>RwB~r`ge?c?VvX!bfA0XcsH`>vJ*!3)SZJ< z_Z^!zQRq7_jB&icYsSF#A-2Qp@vsX+-VNZ)g5$F^^Lm`1P*aUh8Y6Coin9GY?6V+i zEoEA6*-fw7e}zr(IF`0~P__NQy)wS6mCTyFegoVLQ~#j3(l2_}ZxH!wNCEH-(`CIO z_e@JGf}DZFjb{yh-0lRWUjvFcO}BfC)K>(h_pTgA|3n2DGbU{sx6{}VnL|_eH1#BV z1xz6c>IHo=x3h!W5joKy?fsWMGqTw3MW0mq);RQ?@gI(^=Afdxsmt0RQ&vOzj&yXC z9;o7fuZ?%3Mk~W)ZVrA!u6l) z44_Z^S`Cd%cZe?Ng9My>J8h>MkFZ1a^+EkxfoMOk*Qg~ZxXr}h2DmBJ=dA7mM{q( z1{SBnZdx#6FDAYJ_4BEu@VxmSh>Hua4RQCdOQ0ke?dP3<&<{?R3oPpkJ=Mw%(`skY z`IkN*L!b~UN<>gz%4<|xSu!5w?;Ct-_b87yDSkboS2i%`ntgPD4JJ;kwy~QkxIsFH zp+h!L+o~tZMl01*k1Lo)!`#paJAQOm%TW(B)y0&RmE^#~b=6RcRSsdxlK(DtVzH&~ zQXDQ(;oyFML>JE*z#T>O7A_6>!eAKd*zT(P&LHRWU#DaH_&IpfR^w)x2B^qWT zmB=8bXJ)bnc5pPixz@fCds^M7Zb+cXUP(}~mQ6vZXlru8-8;6JkhwGvhQkU9bc!v^ zqX(KB6hG_z_`nJ(H7hG~^{E!)frjlR%Ku9{{)a49DDo`4VD9;6iOg)2ZKG0Zx5vY( z9_?)XQA_qmz z0pZD~l?^zGxkUrocA+5kg+xEV zG~yoo_&)!!+;A!AO20cW*~Ha5)O0^k!DVpE915`@H+A#pj`XTdRgL+c$|kuFk?|=f zN=C7I)Wm4hNd9CZb$tV>{>NoK@vvRFEU+&owvZ1D^zW(I`i8g>j1tj9aq-!R&`!80 zD!Sm+#1O8wQlGtc3fEzeP|2?qhQ8pX_<>a_VcLaWWae^B6_ZF9zmRgek7CK5`!vtZ z2RK<^veUO9paj{mf@pKAMeJ$>rjI!2ecdM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`eh*I<$B>FSZ*OemJ>($Z z>Uge5cZwr>$m=-=EOjNl8je`W&B{!u|FPxqubLPJhKBpw&d33cu2H+g$e`e`gPFmh zp@5yCf#D$^0|VnBS)jXGtQijFuFm<>P3rKxw6U z?Itrr!m_7j^>b?<-`HOGjrYO-pCh*xK44YNz;LGI&FvX`86Qa7jTW+_h3se{J6gz6 lTF8!eVMaS{B=&0?%#AzwSY19^8v}dC44$rjF6*2UngF`9Gr|A> literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/eyes/heart.png b/flutter_bird_image_server/public/input/layers/eyes/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c397c55a8218210d06ac1dd0578b25053eed44 GIT binary patch literal 4400 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 If4}{I0BLa3aR2}S literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/eyes/rainbow_glasses.png b/flutter_bird_image_server/public/input/layers/eyes/rainbow_glasses.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6fd267ebd0945ae56b7553c4f77dc64e8b2bdd GIT binary patch literal 5691 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 UYg0I8_kq0V>FVdQ&MBb@08F4s8UO$Q literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/bucket_hat.png b/flutter_bird_image_server/public/input/layers/head/bucket_hat.png new file mode 100644 index 0000000000000000000000000000000000000000..5d61e0dc1404c7d17adaf94d36bed3868fb9a3b1 GIT binary patch literal 3549 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8!4cPS)MMAAr*7p-Z0DyNtbB5 zIP=EQDOXH56wheI>?nMidSMgSERzc^i#jfCX4DGau^^c>S?RQqYgxh4i9tT6rZgO_ ze{b__4)31%wiOj$)`tOY9R(va1P(Mt>en(H_-lkSs7=Q&r*XrTh)?cYoeY z+y904%Cr^?icX*@Q60Chtqk8gwyaC7{kA-ex(@KJpPtvUX#qHKd<-x zj(w8*4cogfPhRT(L-XF=N(uQBWwStmTA(q2f%>50CG&#`wzZoi_Z3!em)=)cYh065 zT3BUNm%=7*S1Y*>7N%?4`xy+h_34;T&_X%_n33;XzkR*`+hX&)_hpOK!>*ejRu2I%>rldfey}nK<6DcpJ#73Gcozckyr2Q_wn5S@#9~{k7K|HKkUx% zz@f5`hUE)dxSe6KTvC1U$f~8r~T30=H`dZw_VP&tzlu1IMqEM*BvJdhP4~mw!2;v+eSe_W}$*)CM@seXjmmv{`=d$B%z6zUaJKHcRfv{`;Rd zf1H0@MsIx?|D(?g4bD#ou7jT4 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/cap_blue.png b/flutter_bird_image_server/public/input/layers/head/cap_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e006621614d2ff4e9616ac2a3e1456b1851ea3 GIT binary patch literal 4252 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`0ZmUA$B>FSZ*Oe$nw==o z_VC}Ng$s^9nDJ^=bM(UO1?-OmEBRurIQqoyT(&%0nPMtyE!zF%{Bzm$uUYP?D>lx~ zk6I^h540=)_Q@BF3=9WOw^%bUuyB+!FmMO}T`8b&hmk?SVFxpVLqh>OLj%J@J_ZKH zL$W~kk18Aup3y`xniZ&1QgmNrZg{+5@4nmp_YNfLUf+KC1uw(&hjiTd8@}gN z*KU{J+xWP+uFm*(Z+v)s+W)t8zkVjq`pxFhI)IMzIsNtV3*HZDx$ED5TWlT@Gso^s zUGnDWvvtk&+wa#)+bTZ(^d{$<^zl#sBi7|FzbO4+?WacrR&X~QeZlx4>h|m1e_!za z*?4oUoBx9Ydgsrj?Ju<1zxt>B@t;4>zA?9}+dnJKp6Soj0Sr}8lwaRvQ9I-Bv9#^8 z{<6J4uUNPH_@jt@tDi6bo%w}r!TIiis~p7^vmeOLEn9sv9~|3{1?E2%=zF@`>d148 z7Krm0{^{!vT$Mdz+Uw)Mgcj;&SAVzvUH~wj)AnzSx$n1Gp0T0)%m4=5vZucazW|$B z4_M@z%#3GU3}#+ld=1#!XYh3Ob6Mw<&;$S| C5W$!L literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/cap_red.png b/flutter_bird_image_server/public/input/layers/head/cap_red.png new file mode 100644 index 0000000000000000000000000000000000000000..8a38d0bedc23eff749d899892651ba11543877c7 GIT binary patch literal 4246 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`0cB4Y$B>FSZ*OeOjrNpq z3$$;(S-eb6#UeH|LGv-aTP@SMeUnkYuI0#!`+vBCcI0B4kF*=wcW zTI?SQ%}?H+dpLj3J{$eT`8K_F3=HpQ3}CE6vIzsj0sV@?(I(4ii*B?XJKB05?c9uZ f=|)&b_6Ps+*G`)sw?}CJd-x2Vu6{1-oD!MM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`Zf#E&$B>FSZ*Lgp-F6Ug z2-FPNzCGaR@A++0^EPh1#8M!6{KKSwXR5_#TohVj_pOW>XznN&4FQTmprQ0#x<14I z-MKyAZ(4syoL~I2{G-+na|HH@7_w*QDA`HzbkhIdjS-fHWt>=66IQ4nqk;vGicFX^3HrU^xW`f2VJ~;EzgTil2 zF_+Db{eC06W8PoW^KlQO-xS|Fe~+<2&YU(Gju`jtn7^0dPs(kH_nXUC+<5-Qma(CA q;KGQaa&J`gXb6mkzz_|A9S!&Q9=E6{veIn@`M}fF&t;ucLK6V{sCtY5 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/crown.png b/flutter_bird_image_server/public/input/layers/head/crown.png new file mode 100644 index 0000000000000000000000000000000000000000..e59019d1799521244f13ae0c3a3c8aebd374e43d GIT binary patch literal 3237 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`9wSc|$B>FSZ*LgpMY~J5 zU94oZuH+4qW}Niu&C%D7+myt!-r8=c%S&3qDWLwKpkn^Hn+Lvow;bt~WCq$W3g{97 z4gA^BwG0OL>*RjF>3!S%U;X=$biM+c{cG)j*8eC!BnwOqE!GSSEF9$w3>*T$)FGg7 zhmk?SVFxpVLqh>OLj%J@J_ZIxYAS5F{EE3D`NsL=`Fl6kO5T3M%djInj@Fjq_C`Te zEyIEJx9%Uat4^*4I;S`KkIduqFS!}+%n+wvprE^NPMAD{%#qixnAauOOaFc)z3vg) z{NvjV|CfKYIA&JOyx>qbonsBjfqtv`AI$jn`Ns18J$~^Lw@=@Aw*Jlm-n#G_oBqcN z_3{jY0~nhdfGPXm`oA{cUMjD@EYA1%_vu&M>mGl;4J4mber3GAF?Zi`hPqFWsGX>h zf(L(oYRLV{Sa2Q|dJpzj>^peux^#}rljk?$YWx}hJUKcLc@pCM+pm}(%&V0KX3UR2 zbH5#uc>I%1IzE5H!S%ZjrvLl$GV#~3-%lS^b3M=>zz7Cq*E^e!8*aNP{aXT9s2#4D zXa5oCwtpua_r&X6{%^z`MT-G@y GGywp0=ln7N literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/cylinder.png b/flutter_bird_image_server/public/input/layers/head/cylinder.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1f8abc06cf4e9e863ecc226b6f1c4c055db03b GIT binary patch literal 4217 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`0X9z;$B>FSZ*OeOy&WLo z7C8BV+$$TGgbZfi)Av{(n)#YtPzpJ(MGWI!tKi)mRp?v1~>9=3-7OaP)k_X8H7&#*(bK;DmhSV<%4b`8@ z_V&&D5SZs~|KaVgWUF7jKWi-iSbxj4{bS8w*EE1BcG^Ye2YZ3Zq^~a7E#koE{*j`;{PM&6GyeYkAL|)Hb_{6dW_Wk=_E)Paru~(cbKU$OOn!UYs`nm4fqu-u z75*D~1kSQ*ST~C{c>^UP8~ZAzhK)m0lAmp(jCF=#d&B zK#<-NIsrnG9l!nVG2Z>1^?v8y`Eka|7|BeYG4dpt&wbBwUDr(1b3OH|m+o9*U|_ha zsR1x#U^qqmeZO#yeq@_7v6pTxdTChrGB8|g|9$@h?O9?^Kgi~%YVK#``N|Lc(#L@T z3nL?E^7bP_3j;m=3l&Ln5#Fl z>2IxX-n8*YLS%Lir;Yp{3w(Z|@M}L*;c&TK*2KS@NC?LdT8uWZ=$@i~#o5hF-v&|o z6NXkQ)6^eyd-?i5<{uaQvkLy%2>--_f5PE^Wdr~t=`2GlzUJrZ?Xkx9ZJ948T@pa6 zW=mnX6=nYeF|$(Dug9*G(}+MSQI@o>>|k-U zwxqxR%oLvDVU|XOSTuN@aE>gUR5wWZ9eQm_E0Zlss2By>i8tx^SSW!oBeYAE)PXRx zCdARtOdE&-L`06~K77w6GR$_PpR@f=cc;#P|J}rTpWjMY(8&(Vh`jO$s+%j}FoovVx3RP;uPE`_?XfpY zvl~xNT}Jw~Usa<;Aj2*n+52dwQB~I0cd69r>1k_Jx*VAqg6s7=o*=U5mWrV%4}JCI z!C5kc1!C_0a)>`+PHQ62&R14mwd+ml?^p4Oddfysc>-Z~u@@O$(lbuz69IojWR{JU z+!j=4$Ae=NNQ~HSx?fZiq)|K2I`*F(B z*AIHz^#nmt$TZWvhRqN0fWhZL$bB8lWR0vs)!11ZujvV`h1~YNO(TQtGNET)=eNGT zEV)8=z>7cL$p5?PYB=3`Z|>G5ty-c0)VZ>fYxjg|=BWBWN-G_egDNd8HYR_gXj|O> z%mp?|BtM01LkjfLOlT7~#L5=Hw{F3)DE zp!Vc$f1_Hol`s#CqtzigQo|wWXwy1@evQF1ej_0@7+Exm-CZ*^Z0WJG_1MVcl7<6H z2+=~CFlwZ-ue{!Nnf6UF^)bJMv}@Rh$P>pjD#JJBE6KkX_M<<&&i_Bnm##`DxhX8e ztV&9=L|#Ktk^)mW%ssv?|nJo~(uSX^)&8^mZU*Tvkk9NfQGGNyWtI6_3WUCl7HAVYGrYGx2mIBq?J}3% zk2#^_hOT_gc>VU=z9_WO+S+|4N0CB5pPVhAJ{m0)<9ZYyFXilh6$=?HNs3mBWAO_o zb>H8l?xmuh+CV@06*yor}BRSvj=+Aa>{js7(Uw6n7-kK{11GSVs)!v`|7 ze*7vyzkGk4r7xy`GpzI1IG#3nI{rLTFQYs@f(J>7vle z>E?R7{LPa^Eq|Jw$n9;C=iyH3w7IVC7b13MJcTl}w+q|GUcTYWP2v!>v5Mj4xmej! z9~U8>JPNmYkrm{`saNxOv8DA$J4z?Mz`t?x#9$0fQ!*L3KeW=bo>S6bc{t+19yHjMLDAF?Erc1kWb5gbJ@HG9>|Mxs2PHbi3E$d)O zSQ2xGYa}y^^UnzIovkb!z?%j!r)61Kn-Zk1Ks}XzxDK#fG7%nGqDOq$Atx!?PVOmm ztgbTTuVQ!=9ZOG7lDqAj|LJ5gsyk`g-PQ`Bo7aCy(oE}l_dB}hRx(5D?C!8 z+K6{~6NDcbxv{?SWU>i?cpdZ&$UAp585QX#kh~X)5xn=gbbCxNdCgGk?D2XiQbm=A zoSl^+ykMB9pJ7gfiHcTqJGm=im6F4%ufAQ6C2zVA2nUJ}n3(83X{NxZ*m5g`F^jRj z`>swaH$I|O5cy3ET@>r4G{*1`I1O5=f-rj!4&sr>PS>)$G zjzXIcxipc*XyKtJTms(u+N*knazdt03K={1|M-@Br#^4h3v~Lg_PbzGg{S}@Xge9( z>ER)V!;hzjQ=bh52YM5fA=F)xzS6IE`W!1q5PBfNOo!1ZUGblR>#D)qC;G`UG;$tX z+_!3VwOHufHP#k@hejm71KV z(!{%TCR6I_u&=Uw_3qkV(k=S{}v`U?v3>Po34^&ik!|e03Yq>Q(O?sDRAF1-+!=HR{#7RAr_ajR|rj;n?VG)VY$;8 zj`|m`$zFnEmR7hzV+txshGt$#cCL(5esXgX=PS{gcK%_b{mvKD>rvSOlS2trc6fTG zm~cDJz*7T0q6nc0gUXSt?#kh1Zbxk-dw{n)_SI_B>WJa|rm|&0jcG^2%(3@;aPO{hu$wtvP4k_m94(PLBy$G>c85tK|)^eih zxaMXD&(XeoHY{tI4O0s(?QzX{(j)Wg`|c&>kfrnls@=?CGEC?AfKboAytc8{TL<=I z#p1I!dKGD%`e%uK^3zRrg`4R*Q!S0lZ{&$$o6Zgn)h8h8qCJGRMsQmKU}hpDKR z1!*Hkkdf605LJ|_u$xUUIyfvY5L@vH#@5!n89h3eCPEugvke|rNtebz{$;2R4`-mm zO-CD0uyhFIqzxf-BH~7bh_>BXsz`aeT?d za8F@s%gW@6%X-b97FE>OhXqENI0OSOSuokbKk1nPjo(`sh1rLg+Lxdp`Q7BVfY>ox zo+v=fW1ofZ6@M~6PcKQjce?BRGmojuN+UUggS~q*h_0i{%>ny|xg!vv+j!LE!Ho&= z@!i-uJy+LaTG~XY5+ZP-x|KN@q|ci)FXPY&Z$gIktsNgoPWt=%cVawAr!c{A4SY*v zRhbT01e+Iz(Y*A&lF#Pj%HUx5XAC=Ke+F@xLNMk}9Gh^Pl`RBhz$3TatDmi#(kSaj zrYV&VMMeGfPrC>T)ko2e!}`)r9j?6iPvzo=zW&P(WZt)>cNQYY#)jmHExzt)#BzKX zxD{4BNPXt*KKteAB8aw=s%R7SlX7c zzkd5BwswA{8Mz&oc;fC$ultXjo)}uWPSiZ855h^!E7-_c{~UpVW=YuY`1l#)uiw5l z6an@UCqwm;6Eu!n&|J8=P1vRPQPc$5OvKf&6HI|*@){*ZBL+n~;+cr-Zkhw)zpCKw zo0zCU>XAw~+!RNkev$-bo?G+^w|Lv3jvKB{_~5V28X=xJ;T+n$82Zc$(Kqs5X(i8I zetx(wnO|hQmSs`%OjmCM|MPGT1|eJ8g&YACkR}1*KQEx=TNMGy#dqbJHesf8ZXf2KQX zu_nJgZwBb?J$D;xt5t~dS+9H@^+mbmVA4pC^TD@CU2_$m#u^2t`}XoYup^xR!9j0* zIE}nbU)~uRC!g6puY|I>1X1=6IE75lm}atVh(>n*pdTGALmdqe?*T~yP>M}yw+qvJ z+K`pU`h+J+v8ChXX+M3;Hq~)hcxT3i_RfH*(Y(Ooh`+ci;;QA%%*T#RDEB^g&v&wj z*mQBb9)m=FT>+?MeeI*L*$2w$7J0JYIc3_!jejG(-x$7g{=2c8dVPI|G_VHqVg9K& ztS_5)Us}?A3wxhlPTa&wzB+Y{Td@hMZ!$)l1Nu8S=!Mwu^h+kI^SswYbJ*>1%Q-!V z9kl4aJVwuNcZ;iYyXycsBz+1}`g@D8suTq)j-6UZC1Iprc$Lt zCd%Dk>y8!rL`8*`aXhsZaW9>|VkRd;k@eUX(@I6Ai~jm1L5;WBrTSMk7k6`-L%?5X z2k^4yJQa3QQ=QH6sFa4C_kgfQI9cuD)QIlc)j_fis;uNkS@ke$ALya>UJ=Rdr?3)Q zD%L4dEl+&jYQk+?lQ(u9Y%T3Oyp0yx-d6Aonc1C;b{%r6eX8k|idE5#NtzkbF8w4Q zmYkx;8w`BRHctXRVqT3~+U@ccyzT6H>*5B7ynWh=Q=@EZUX7}s;|B}vXx@CD*O>I% zAHiz1dMwziwY5kTCj-aBH}cot^!DijdpgOk#j1WC(oA}QjvI~Isytm++Vuz1YYvX} zA;&j&8RQy|R*OmGvrhr`vjv*+T(kktSSoPc+A=3xZq#&bUnL??|Ky;)YoXU&KEQqu zvG7>}g4?tS+lNK~c>29nDrb0jcAV^RB`o>1{L>3X7HZNTBn3YRv$_?&Uc3Yt zRctOeS~oklsqGU{Ag8XS>RtJ%+rf6xdtS0pPF`$SLVBy_xb85y^2YHsaU}1CRfCvU z&JLA=LxrF@^C|lix2-Ti2-MTVc;5x+SLhFf9B?fmiC;R2qV=M~kK;8Z_oj~{)DA9q( z3kB}y7%p+&2@XD0{$?dx{xqDCr!Hvsc=RzQ_90Z&uBzHofTiJqFTk)JK4WNA4t&s# z1@Ws53`9-ceWeRnFzYKsJkzAjO*S;RWi9%%-_WdCT(llEF*_IF6!xUC!ILy&Gv8?S z#P-#0?aE5)nE^uu&d`Esda0^fK%#qDPt?F@pzV1G$rmTON_&-blQu6aCBAO&?-}Od z$!*q+U!8QV8$%2ag}HB?q?0!>+D}|+b*;jW^ok)gf$!r_?+?m*Rz7sl(WCCR1aZ># zJ8pDImA|+0fEVwZyo|p%+f9dIo_Tq=xCq}6Z&N2W*K`r=44P3FMRQ?2i@WDr{BoCr zUPHWn6-9?9##qdscFK2;DNWw6QT6OU2{OtVsrs(C@GjQ?ZIZ}#`dI&OEqjvq= zo7}-=Mvqm5j@lx4L(H_$AnX{B%?v|5E6B@*ID8gKurk~FM$yVHH`_4~2SFNdN?kb^ zyHsk0Z1PA`4$%t1)iep?oJEY%^i|ub#$e;Egs$OLiT~;XzHps@$Y!dlv4zhSG1{I3->gAj|7?>L)YI@NX-(qZx<*4Ffws1vTw2{~C~A5?1A_a4}7d1j^%-gOW4 zlet=07^eBeC6*4@O=qL_SBu$C-1P&p26wCmSwpOHGzx|%DynuJD?TRbG7g^U;!TD7 zze*~O8^XQ?+8Yhn_@?}cGz|_Z(w;qm1c{g~9|agAX0v>I&&6{%>i{ZXWm<7=ZciM! zWa4jOE?*fVrpZfZ+aQ`+8tUNH63sRB_0R^>>)v4A#B3_HrYnA0qNHh(HH26R0)1_6 z(v!F&IL0LV>zxUex>*TKj$ZKTqTqywk-8l+5Qj%8nNn^)FF*=)6G3~N{6#P(<63Msrgo5a~=Co?*W#HLuhv}gf_Tas3YWiA(Uk3 ztXUtuofEId<1n2NDej?k>to0=KD1_AP8D#Dk*&JEtZw}9tzjKvn&9riweD%zYf108 z#@#)oXCAaq;x3yY5b7*gL&@sJ&ZugWP>%-dcxdHqJLyS2OkcF>Zeel5I67f;HD=KY zLhEoyrKk!D#)izrvJQbd=Wn!GLE0C3E_X_kzVKxeCq~8`S};hP@#yC?vzKi{IM6anlFM219N@)dIP7kCy-N1Z;*Hvo;laag^eyZq$jN-$6nodHyLm}#npQrV zvyyS3Mjym2aU#Uj{+G5blIo;HqrPXCKKEvwWdxF4?&>6VY8s^!(EM1`Ih>7+$KS*k zvTyiem>8Dc-;<2Q0=0kzW3(&)fQwReB?{0lY6Lt49LwzVY0-XzSDom%7cl|z(+pw$01FCnPAC7rFFN&IKDR_A5rel z77!!aS@?8?pf`ptt$)}cYb&kT8j4;%e)Wh=F}$TpaG-?geo8nw1fOX-cl``__QHQc z&(Z47Lf1CFLJePg_ZGIKY9SOoR1>SpOX%1YQ?GPR@Ir~f{JH)0dhAL?63KK!*v=;> zQX>}$HA~iGb5CTWueIC0Z!CB}%eu5jv@YmL`mJ~+Yp|lndhBCx!?tdh3T>-2><_nE zWk8B9( z7bx_Px|)>H+&q$F*d?B*wJ(V0eqyV&Xsj^9(NGc{-MT({^{TjlkmbB9R+xDz!Dyd= z6STH&oC5+19F3)1_rQS3VIJA-i8_B*J4>@v@f?I9`trQsdG`64e8u-}mT~Mq1>Fn^ zXBP3s6@|@W`S~{y{p`spx9dc0`aeJ!T>pK~k%L}MI zlyYEZ>X99M>h4?wCIDeZ0=r=|BO@asJ9^%g>IKC*1!gCohiz6;bi7N|G(FQdeTUTx z!fH0tczEo_E7#*y^W8fo$6z336KiW9MiGX?FXkraxG%a)W;G{`n|*L**DrqX%Jc~v zYIJOLg7INOOpI%)wNKBCya)2=Pz-&t;qC}WCeApAdau;02c%SrfqRU3dT@ZU(^$X# zF`;~QZpFril(4l@RpM~rNE|i3ru;-6&$h6M4$;p|lN;HrONC zD8`j@Xr(#Cw#pk>1O%KaFT0sES*{w}lWu1P#(`@re0>TG2`pedXWBRN%WkEUt!Jcc zaIE8J77MV0YG*k3^mHm9>?@zI8?k|zrXAyHH~QMu!FpaT-Q3D`MYJzm4%DCQqx2UJ z$!1M1elI@XXRm6J9`3$9*P2?&Lf`9T|Aa`|(fbtSe7vMwrX-Z!;T<+3$P(Z#L3PI)66S-OU^BZF$be^ZGmw4piL3VcvQFR#Z~dCa5HD$f=^Y9#9aeaW8Q@wV=A|*DXjiTV^AAF|CL(pbz@+9$Xei#S{09@iBP^s}6&yFxKe?t?q^T(-Ll@p;wLIMIc zMVHI)vj(sKToibaV%mEcG|yt(@=4mve^pbfXEp(&6*vCM>tnRvJ{?s)Uh@*VBnPZt z3N09;ppKAZ+%j&dsS1kuP3h@Q7^L>&ytZ7KCd83&MO zZpbD8X2a%!1O(s;Zcj4yQjIOrFV*^INzokD={=)2CATJPz3X(Ybzy);1Ez*IB$%g} zv?0D(YS#)glN&Wlx{mBh@E%b%hVDj+`bP4Hs%Zmdgc!tZ;KO zAvxYz%dvJI)4&zl;e5y`wD7OWv2y$mpt744Y8=--u)yF|aIc}=CVu2@4!95%I_Hf} zmW{VNsU}P|cpH#2BuCmf#{H-N{Ia6Ue?y{s>gCjc{i#2W-bP+w6_fBGHr|hMt@4vQ ziZTOTrE?Kx_71=f^YlD5dxJ$@aT_Dg?2SnQ=AV}+j}rXb0bT6NuyRXQWzy7hQo+sQ zJi(;`&Up|a%RFxZlN3<74h&5+>PvEA=e4bn8lJf?G!9F-aY7Nj(W3@nrZ(lSjTArL zaP2+$#po{F9Ke>y-?vLZWJ*^&;pfLDne;8bMQgLN#KrYgBf}h7RWUf^$EEX&wTb#U ztWkj222Yz~JvP-nxT-L7F_nA)Vs$k3gU z+-p;#>*0I(sR3ZWGf0`#n^%!zMDR4Sy;e#|*?ny6eZ!`2ov5Bld+AFm+hl23ndrU} zdv&09%`I`$@*u2t4%z=vK+=#G`dUKB=2c%!9v;-Nc22sb)!o|D+}3|fqqnkxTOFOk zD0QJh<%gQ+aylgwPmS;{R!K3ZW9((yAtUwky#uK zMNg}X`Gka`UF|+zod3|1KmgPG}#O+xkH?l3ig`(1SBcsZag?cK%|&O5>7U+-PL zYJC>-ILFsL$bF{VC$?(O`@x#929!~USHXQtJo|Ln+D<2&7^;-GzG7};<$L+P-&pJG zul)T14if1VFo>_Vc539iVE*%cY!V&G_B#V}8H0<0{vx+MK0ySu;4;a{^09VmJZG7X z8c?eZ-{0=?RKJ9L=x>IOr0B%&U@t$&`Y~p0<1soXDS5t%GJ1YwIm>rk9>|{SJW(qk zimN-y3=m8hdl|p#GF?qGWl$2lK>Q1X@oe~YgF0zOq@%=e`2beS+;D1!YZLOYQ&jJu zewwZk`8sH1jto_ycHS<2=Ny9GEP&Liom$>0FHMX9DR5hL+Ku>Eiy($8_zsAQ-hoDm z2Do_{0lE*xQh8~Py~#%q4ypb_w&Af!V8d**&?%vBC**ysV|ia+ob{{6%9PbRp5)gU zTx?d*E6dR1J+IrAZN;w!uT*I5?!orm(4QC<@cR8C11!ndG@9iqs<2&>R41EEJC z;AaK&%fh4XMBvC@Y$O)c7Nj9CUzq#GYHsNej5fxarP({(&*!aMp% zpB~X1SlG$@gj{7Di#AVjPFcQVHp`mTGTtBSqVH;VHvPT6f_Q28%5yvQ;r`9Dg-I z!T1)8<7skylc@c|46&DAcNu9fDmKJRFKRdpfuTo^~bQ_N!fjygAGMT=IlkIS6iDDjaEL z7Th?O5zsQ<;tQ`D{?UA#-Bg8_k$Rw%?0Ve7xf*{U45f>^-sBkfrf~wT4aC3SII>Gy zhq1}-jAkU7B~wh_4<2;K)4i0dS4~EV%P>U`Qzo}XQdJk|~06+djFSt}&jnTuBZx42A z<6SG~)o2>LYln5_W(kq=O&%qmY@&U#B4y$yP|v$lUDlhJZ{Tmgd8T&?rWuk)Apigh zoNns?p3fx}3bX52Ai8$_j<$ka&hp`AVx$K0xz`TTaaM4@{^+)HA>dhf`myV7Yo*}s zj?FAkksu4~ZwlZQ)QVl?P1YDqd_gmoVvj5E=_2d65=<(bB;M3#ct165X}y$5W+rda z+PWhYSMbsK#>USSgbIz*BhQ#7GgZFLy?7BxB8B~-Hw6h_++rMIpoVYVxcKiJ!M_*- zyQyt3I^AbxfI5916)+z+R#T*p2U@L9RON?|_OT?UTy?leAP;+ttC1;mL&jse$t-U7 z3TH+PtzEhQimz^ZsFE0$xd2O=*WuF+pr!NzKCnHF!~92+SFRy~T8DPYE@KvlLI591 z6losghML=hHz(#cY1JBKX7(`ees`Q)k@D7GL!hy-#T&WQy+8CjaM(w!O=V?z(wT8L zv9`j(ueVR$YjjMr#wc>j{K@}#_fMEJXeMxX;H)QoH{zpW8r`JUoheWhm-9#a%ZOf9 z4AD5SdHS6Dh9~T?;ZiN&RP)R&{w1}>If4kZRKmXnjH%$hLr}Wsy=t&|NQRKnv=o^B zD0Bk9&n@r#StnOwaf1RUf05#6zN~=fhWLq?3CQhP{dg|d+?1lc*L}Y$q`tV`EUG&Y zg3G0$Ar+oZPGU2Tj#)lhSnrxwgoAqF#U5o^V;Ct%kv-bgQ9sv)Ror#FoV;eV@e9qp zxw5h%77jz!1Q6JB3>oQSp7F|;@#h)B&wx)T25UM@;&u7CVgVaXOe!DrM4>_c{+oi8 z9}mEuOwL0*lvtodW4AVcoIBQEaR1d$?cSx`i;w~3*ZZekJ+Y;oG3?RWdaCbnYcoaf0aU|HtTUcm#J0fxjrL~UWwrtvy+&(H;54fp- zVJ&NMr5uNEoA;L#8kG)O$J^;h#5^oSAM?MAjx4D25WX3jI364ld}*S}E+pFZEK_~3 zx>uT4URjxLP>%Rh{ibH}8Xe26hXRHTL8xIotz&SoV7-a63m)xvys6pd-J}m}dLrfx zU7Y9MG>YtuUFVkb`a+a`@z*x62D(n1K_YN?$l!z{xOmvPhEVMgk|8HY=ejb>vu=T3 z-1DNQN(1Tv@S|OqB?EPWJFBGN*2zhdVNT?`JNXr=bury*a~b)@AK8m`&lfr*m{vQ} zu4)_Q83GI1DtZifBqVfb^jM1b-aVpFudQenP6j9(EqrFCxfViv^L68mV2T(gb~Iix|xFNSGl>$Am4XS zkpNLiX;G&b&PU9~xAP}!T#0m{+<;KnK}XT-A3N1pu)%fimJM_!i!K!vrcGi`p($uf z4`%~pPbrGYqV`$G3TOgHUK-L@^lw4YSoom(DL79EH4H6YSB%>DtldOxI9mFXW*9IN zV5#pyoGP0GF1Nn!f#4Ci5Y@MAR!WR%`?kE`&RmB48=Js!3meLhudlJe&y#{p zM1zmnyCgY>Z=BF#dMvY=e zB3(Tc`W@-n8>BpTTsT1hFVYtT#>4fSl-|UT|^k@>v^t5_}p0^--K>2!efq zGh<{><2I$(FRCm_PQIyws5<%Cdn-0kz5WrQ^OisZ4{E60@)%fkCivNc3*Ph5r*>Rc8pP@u!q$i8GXp?qZYE(Eu-?%ZyjHSDm$1gz);|do>=(~=_6_IdS>|4mbVfItiiWO5(*9u0 zmLuEiFVIzxu%zIgFozlc^Pzu?ELkl$QQn>=!baQa8gmcDSt^6qnZFlE|4S}yn*9Bx zQQ`oRC?a%OC%Bm)k3X^sQt)s)3pw~%bwrJ#cuWcK@Eo1JoU#Ii26_)nS3A_ArVs5p z$R~W&Q=pHjXCGA9kRX@ZMG>v;B2WTQxUvuV>q$go5iPRQ$6D*E5R`9Fu3T&lNv4CD z9!i^aP-{!hrL^Ld{>mxN18Dnt6qjj*3B_tXvaw9J za%OF;DI^YPJlV!I;+>UyyOuig+9ol7R4dc$(?y|VjfxmYiStU0qu$Sy6Af*(5GkaV z(@LnF7S8j&;S4gLuTOdZ^n*ERMQOY+Nmtg-4vUFoeMe2^T9!HB9+*(c$9brLp(~tQ|CDhb}1Pis`gj*%>Q~xDu7}k;8)C?d=2! zyJ90`7oKWg;m(P?$`NSm?f$3rba1ik9a8;({$LPu0`+{bh+`zOm%J3CreWseMO!d4 zKODWoWa0aTf}lvt@^pZLtBtfm2dSnzF*zQ$5|$`ZQy)IIr3x`zi1}O2kaa%3T`gOz z{G*Xgcn*rHkF~C^r(+OiR_q3r<*Fap33ucvdnCG8gxm>l%aDA#N1X1udz9jy2MT$9 zi;h(8Sjh4*iz~AW-RkL$+tdVmR~D%^MI_15(jCvmTQqxQ*VhbW&6^#rn-b6MV}<8c z!bIjJCE10}UwgtI+jJDl+vq)C`tlfZU2yZsYRT;hkbGsKO;pw|*s`t9SJJda7r+XW z=-^QQ#C@m!ECWL!6W#p{Q2=GW9YqKw0uw$ShqhJgCQj73zg)+8evtFnTS#;~bQMf6 zPs&ur%PcMJ=TX1e6dmJiyx;{qEK82_B;|w|0{cK+n5qrUa2BA29+bK7)o*Zg65|^B zU9rq~7SvKZPQHq!<-7d+mMwW-U5}Iu=9Big5)%1iPPB`AFGZoo0YbP0#>g3zzo4sy zr;0-1CHLziFVM@{zdrpZ?XAq*ieHmGG5vekl&Fr)eG(Rk564>RWDBcXslD2_$eXDq|SdPY0{ds-S|$Ow=^El-$fozP`)x z7e^pNpZSg;O^3FSZjWu7bZ{NYJ?)1G4>LJ` z{lRU}c;i*FNlGgBI!r%Tim*Nu*n(^bpqQ8y^2c*47c``Jy5gFDwOwBCTrPF1tH=7& z#r_mP-BlJgQ!8y_GiiOg!uSVcu_6_d%I+@Oydg?wC;dC&{nZZgMi?depV(=# zL6m66ZDZq&oVya=8g4buMJrNZh=79ajGZ77bQ6N2-(&`%&qN$64u;335eozsAuhTI z@+!yAWjl3l%D|sAW;r=Io1pap>17tI6*1#MrVzw|fR`e>ZQjhmr zsBLq7Akv!#EE-_jd*-{VaZ#l-h)VrE=X(1;C1VJ<))4YM2WxI+d9akJ(t9K7cC>2` zr@TbS{RBEs|JK?J8ANiLSlGF>8t>*KIZ&PJcY?F^p@H=CqOvEHPJ#pV_*jDknuXahdm z-`ZOM!xG)wEMS0wkMqYHp0n5V+4eR=Vw$FDr7uAZy||7N}aCC%+R|U z(nueA;`)2UZo%06yHT08Ga)zf&JDbpHV;qLJr&^nc%z3{{G;e zf|QCz$me)1V5fh*fwA0Tn4_uJc*T89VP+YRzfzVMgAw$PxpoF@{uCv#xeQ!bR`WhS zO60_lYfyv+$6R+m4s=@9B;0$x>p;>~X`%ck6FQ;l_lg8TQKT90;x;-iLs|ia6#IJp zXQK(=7Ws0{XCY>3Nnu65+w=)+xAy;;6+0Umkqe%2DKw^QF2G}D_M`*C1J2%EKtNaB z+V=a*_F7#&2kp7%IUMw+tT^$TsgC`}2RkYd%EWD(Gz0q0)QVj?@Eb0$?c(Kj4)FG8zSTG5WeowNv)^sf zs9FM)9U+)KWuIQaBT4}|!cb@Q5xd(W{TIdGbeW1SY7e{GdT&uDn-USZCj?cb;_x16 zPrT>YULNPl_%1cg@RAvz=k>x^jGCpTWx$Wt*JJ_=KAtyv3t}y+Co$ScpN%?r z-BWs~@tj`o7SjSCXr<*kBlQ*=pf4jH-HAVfc z?1~ceT-8sCjR>hv%-t-ipzFwG$b3VjXPNsa2*j7?d*1Ioy-cRb)8~-r_R;@HeE#24 zd;foY74?U!B?H5`l;8gg@Y}gq56(}&+lULtv?k8i(CgjwaUjfW4Rj{&eswY>D!LOYX2*^i;$x~M}w6ae6j%M139TugvA zx5PSo$9j@OVrk#S1Opn4h76A+Qi8sV3PzG+LYXT2tpFg(4x_)u#^p}*1w`PfMh_=n z*mhJ_7X~x4EN`bX=)_dR)rIR!DNTlpE(bTXunroeZuUzz3}V1G8{Cg;yg0em8voJP zdS^r%S(XQ!)+nRyM>1f}=TapVSF4SPn(Y?#$5O{_dh(L%dd8Nr6*h8iePzBLl-tU; zg1`y_0A$vdPUwImj1BPQo1vi&QHd>*yw`RADhB{pB6#8P)ZJhx<6sid{H z*$a-^zzCnqPIqJT+HFelFMK~^N(c5@B}gq)Mn1*N{mJ?L6{M$i0lcSwV|nL{lN`wucsA7?d{?E8qmdkN*CxwH2&gI@K{ zfd7XRolyz{@P#;%=RHFp6Jvq`1!k?6+&w(J9oAKGIUepIP$n z(r|cp3DWJdslcgLjD?vU(zKN9t|~80aP2L%HEft4<)%H4#HvSwU!c+CrLOc40iknt z@vB0!TDjdZuI-R^m_dIrQ|E4mLI$>8D^G|Xu5rxw;fCK(4%Zd2$zLX|Ps!y&^4VTp z$+D7Zjtl=pon^4Z=cRb!`St}mwyaRaaro4|E3f)?c4Nb{x=?(AU}U(qzMNbm-J`kg zf`;r0y*Sn}H)4ZRt2$}mQ7ik;ueZiuRQy{P{U=ESPDGdR%@)e09BLclyl|n{BKdiS zz7_TZyL#Ki&Wg4OMvh<&=v_y9qOfXRd#=n?X!j}E|DHp$AUWR8gS$n(xzJY?P<#QL znEY4ChTn1K*Bt)`CO)R}t{m%HR;kcjX+z%$&k<0245E|EGo%EQcP{WWvuEvo^aWwt$hj4EI_=BSiRZ{dftK$KxB zJB?MIvW%UrF+2%LcE9AknLJXH1fp^h8r*02ayN;RrkMY>t2PEF36Znm*lT{mTVdHw zQyQl6g-K!Fx7^;U`Mw=J5%KXZEg>gk0vEc+IM>bVkb#Mcf&K()1DoI}ZddI|(oLy9 zgW6d^2~kdViWig}0T+wz6%#zEUJ;it9E+rr5+Xh^Y!}`niQb~jolSlw5rgas=BEC`7qU^=-VkdhceNcdfeAtsTZf$+m6-tBtpT3YAt0NB@r1b!HGu}U{Arec$w zx@Xl$z_kl!e3#(i zG{gXFxO5SbOG5Nuq}q|?yhEJ zo6jZ#n+yP;|5~*O1Fl)cR5BY^8O`k|5SQPYF$PVms|_Z*{IXiT3FPm@NEe`fDk0ap z`gVw>rU4IPLh2jr&HVY()2%^1xPk)U4Hp#*xPS>e0AMym0Bnx5S%D+qzLPmAc9`R0 zNB;M%;lx~!ZWtagkei$wl`+lNV|YswtM2ahUNVdd>ATAzlC-hri$=)K5$2z?q~OhE z@cG-sFMZnOB!q9DI24iM<~F)I0g11b&$#KUq(Q}g%RQm+b^f_1tguv4$!xcAK~$S_ z>AwJYHLMwOYv3t-RQaADEs`rpoL{De4W1-Ejfrk<_uuQ4m!pv+Dl!QP3Gb(J`ui5I z9>bwbDL%9TJ z@{;2(P8{KXCJPizcV4zq!{a;F7$q2JetJOTJNm_bUUBenE1%)K|Gj@0ZZ346Dd?i6 zO?l-Xe-!Hs4xo@D51v1GT;IcfRtQ6?C+}vUR}jMDvfInzz{h09<bm!r>o zL37hoH~hOQcvlhQ*- z_&b6uU8Y#ZFuQw zD52l!6XUAGV1Vh#=aLc1jUYh|bm2m*C`sCiGo+32j5(sDg!fMca|9a?Yo{X6IO&>x zDE(ps!McuMd@!g<&m>;)=hP2;vK0p87<6R9p$T?Ns~nwSGuE| zBkoukP7&(@Y>^ke_*xUcNZ1|xBE|#oFVGVwTEQ$C-Y_p;*S==Pk4(j$R zRJ-lMsmK)hcbNq<~_$*@_Dgd5j!TY)?+Ii(h#r zWVq5>Xfy}%vtFO*o`z73J-j0(){m4GDq`W36~(rNg8jMM^1qld$6K1BJZiUIHZ)}I zp|*9Uj}8q{YHw`>&^**4-fVdPN{s|VlN8;8AjePypWD$?KL+2Z3C3bGO=82W*Fz+^ zVZjMZz77E|W)F_#$erT_8{ryn^}Uwm+x3TI<%_8z*7?efbBBhprd=S=U3K|+35m}Z z8%A@ZM~52|gaO8cW_K zOjsECHcn|BYPR<&8*@@)q)#iWtH-d-Y^{mEzG|eR#|~%CJo*x+lkR${=wQ>peRW_MXknmUe`UY@U4igkO-!y^PtB)WttL9+$ld&YQjX6<|OzgYQcWzw~QO|20oUn7-$U; z;ds168j1fgjeeB}DI9zI)9xMIol}!|Co5yFphY`~+ow>)@GmVr)ksO^F<|4A!tO$0 z0TTuEPOtH^`Ic?RjASl^C|eB`sl%*x6{7DtlgswODLomz;y#(&VVAc#f(7Fzis?wkadAB)*05>GZne#$L|wACAKAtJLe*<9doDG uU+U1Jw$OE^&D-B51Dg!|Bm<`@Cg1q8jFkg#(m%8`ha5c~*znQmKmHSOJ@!}t literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/headphones_green.png b/flutter_bird_image_server/public/input/layers/head/headphones_green.png new file mode 100644 index 0000000000000000000000000000000000000000..fca81f3b886390198e12588dbcb199a5a1d5b1ca GIT binary patch literal 4149 zcmeHIX;2f^8oe<}Q0npqmnR_x>w8rwMJqfI!e-ggz++X}m4<+%Boac{LYS&hz-LR@ zDj_;RAttg|kOv`bVigcbz!XA+5K$lvDTypGECya|f7CyH>gZ4I%$+;)&AD^Gd*+<; zW&Yd4W$PBbEdYS6Zmy2r0Bn%I+S*#0$}A%Hq2}03a6Ll=VB5V{8`6ot`K6|~H_qvF zoDV)Cj(j#21IT2uNmNWUG5jn6V}g&x(&W~90BrAYb3E>wP(1TE6c<85bk2$`dHni7 zl=;tJUDeatQt9XHh&D6$=(3Lf`L8WZ5+GYL2XuDVTDbnNWvj?;&svtpV<8T;SZP9QxByL$t`lbB?|wuKGcZYW=(_Z zYn_3020)rlRpc^A(=T&y5DfY$efi|)t68-#)x%7m5n3xWj2US`0rpo}EUm24#wIB$ zf$HZjD{6&=85+`THT)$|I}n;c*r7><9ccs@NCTHp0BkfEg#ZIEz6}6~HW>hI`$j0R z2Y*8CIZ|j^wxFxMJ)aaRCU7G}yJR){TBousc29p|QY_E(salw;rp20LYAo#Hmlsax zkaX?8>_9|%+)~oT3^KZ%o%t

2^2VrRSYoO5k@>m)TxgMqPzTICA71@H*LC)#v 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 a5Znjov((I_*spgk)E;nlcVg`g{_Yp&-~q4z literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/head/headphones_red.png b/flutter_bird_image_server/public/input/layers/head/headphones_red.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f6851a803b5f80236e31336556a81d68b5700d GIT binary patch literal 4140 zcmeH|dofOXAX!O_6L|iV!wBe~dr6o$315d(L})=e*}R@9%j& z@AG`W*Zq(lI@^r40RVK4dAgzicu%&rwYI8H6tJwP>W?3Q0lI z09=UNzCY%dKx0>_x4El})^$HU!siy>)#~}Qc(#0b@6b*7?gLt%y8Qi?-ly(2wY4pt zKh(JdDY?Isq3xb8J#?_RqS=dz6y{3nJH>EGEdjIRf$!98TZ(dVGUf70o^2MsKkI#U zew%BPz$O6zc87M(Y5@CxXl~^Ooa{EGa?^+wPp9W2ghF3yie?k46Q=~J#%T21PB+C@ zCGz1xMs|-41=55<*;3T}2)KtZwI1lHML{o>pb1jJmv8|7vUgAe>;)sb0BC5D0nl=; zg#c&pd#E!<3Q6VlKH_pGCNR7nNwjTP(v*%}7+Lh#Mbz@Em5q~#;o%`~>&tEsFLT*! z(RPx)bL2zVIq%L3s=Id?rjlq@I46Fx_mlcV^?r7j6q6JQ?Frs#`Z25QM6jSFJJ7Pt z4OA=!sAcM%lUrAZpEU*Cv);iBTMVN;+i6dY$#k+M^uowx?R~Sp$Scc>PD#pX)=%30 zSy>J9na1ZO(TV8prB_tENgJh<_Uy(_R#te44D5TN{A$~OjwIK3o(~rc^X!J|iNcN! zT5!3sgLRIssfnP!<7>28u}|qqi6H7mHa8#6c&Yq8`#XYWj&-40V%MWvm)##x{w*}U z1PXTL-h@Er4M?gG8BQ(}wT3Wz@(X-a(>zXknx>s3Ix4Y&Qq!n>=_e++o}gzl>bSR3 z0vMLV%p;S9d5eNA^;3wrLti# zhQO_(wUFJvR>I)8<8BonVQ2am76f#65BcNdm+~cS)PpD-*z34qc7Ljw*Ol<*7nxGO zz~lSLcgykjq#q!Tp$$Z2$vEPIQWxZyjOe-&{V!Cn^v(XY@Q%0C`MC5^i5#4fDt_Ma zC+6razy7CaR-@^mVMxX3o}Ulk`9|GybKBztZWXM?l+llynIpHwYs`hNN;kJ zZJthIQ!x$Vt5C%9p$SQ^G_H;r55Jg&I?k*t@LpZ9Lg3v_B%9B}!01MJ+@~TyP?$25 z$zAGUCc()k?^yq!3M#d^tyChTViFsW4#cR#O9z1#vKF%XV|lkxqM|4C6MjU^;Agi@ z5{6l2{2z}-NQ-lKjhld=mSl6t|I+HW^w>ICKW9e)1j9Xs!C8of;hSar>9HB9ILSA% zv6`~9+dsUVFV<+<_qV~T;|2Cs1sNv%fjEZ1(Qz)Z&k6(`*l-r_>O*g? zZ4K>SuNsa+%+N~iq-c5h(U#h+z|wF;w*`fs5N5z8s0awKwArw{^!u2C0y;w((v7Q$ z{piR5XI`^3=OAYvw(2rJUmpt971PLrqw_PAC9&gSn`(0`arG#arkbc~&v+4CLNAFj z9e6MmCnlM}@_tBQne)=@sYL^-{cElDzD%!W%{bZAB39$+t~noj>KJD6RdZSz+xK81 zCj%C`D(>o%#M%xG-WzGzSsI8@Ei2(P1&u?-HmG}*6rRb2!dMBUt7Gl-_4VCq2KdTg@AfuhFOrB)DLuf;B-(+n zQ@{JxE|N-8BG;O1;^yV;p(5T(EpDZM_J7;VYmH8Q?Pgwm6R@(U)7RH7Pf*+2=Gr8% fN#KtNcy%>`nJbxM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`o+M8f$B>FSZ*LfONvF%S zC;HyV>zd;@x1=d&yKA0;$AKj$cLpsrWRu>;uh_a<;!^b8Z!d#<#AnDT9{ce2jJEB0 z*1CF8<+y!^8G#lKD$r0nYnvUzzFQwR@!hYe{MO6Bu=~T=YwSQb{`cR(%;3;az|PRX z@Q{yzf$@+mFg#nV85meN${83q1c1RSpm2wgLBWBV3Jr2=8QwshBllnS-l_Kt4c5<& z(#3A9zPWsj{Xn>N+_i_&`sW|-pBVj9mf=7^9M%1e)oyG-4hx{Zc|YFWoqbWb-M`=d z$2CTUbKSI#8r)7?wwAxawz}S8&0_O9n>aUr8Nd4fW;Ks@>HPC&NKnwHO-jM-97H0W z0ZiQA-k6+!{i65$Y5&FQaYrlbticZ3%&;SRpkwi7=Dh0{rRUr0EmqGv_A^s%Utz4+ z|89milf-G5!3YGKO-?Pto!!Ul?RoD1`10)Thu-TO>S};4tD6OM>h;u_Zutxa)qAL! z;|Vwjt*}YB^^4)g=F2wg7n|?<`}q1r;WuaO@Bg;}$LW2>yq*CMI(zy0`@dM?ZdTs= z#l+AxfFboD@ip^H{F~2tWtI_ zFsM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8!4cP5}q!OAr*7p-dMO!CRL*0 zp={8VEWL*2$YPOs+$#>9QGHM?so;_2;Zeoe?Xd8JsIOsmm}tM_+Eo%foIAdmSpS}1 ze(v*~1K(52%f6l6ewz_!?Vti5EPNM>H~5?DFE-!NxA?vy!w1Lty>UP%{xEpR$H2gN zNER5BE!GSSEF9$w3>*T$kQGq4!^oiEu!EVwp`n1Cp@DJ;i6F>cF>bIU&~eRlqhQ=fA+tSv00w*Lt@ z2@&+5fO4BL{i1Zt@r$2-U)=U-ZhmXJctd;fz&Z&WcLlP?d;hp?`&65AG;E$WL*B`w zbWTM`p?LWPYeS{vUdHH>FLmrUB*f{GijnL`WFQ;qy$m*`?SJ!EpSOsgx89DKA!2$r z{c;w%o0eVVX4q~3%J*&i>+3fE>XEPe81*OO{{Mf=`MDpo4Q#$+0H^H3HRUn2$HL3w z*V#Q5tE>Hc{grXt{~t$R8Sne~^7hsAJBMC=xm2$>;lZPUD5=2V*^v2#>BE(?<-1eg zNn4F1ywHqUPGZU0**x%aT?9DVWq xf(#D=3kIyfA5;yQQOAsiz-S22DFik!{%5!t=5;E$hBE_XrKhW(%Q~loCIFi1XypI^ literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/cigarette.png b/flutter_bird_image_server/public/input/layers/mouth/cigarette.png new file mode 100644 index 0000000000000000000000000000000000000000..79848b80e2518e647154bab074b87f09b3484903 GIT binary patch literal 2917 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`u1}sWjv*Cu-ric@9}_Bb z>|t@eNv^0y(AM2K5joBR7E&&}o~rc>ef5o37J9k{H@hhagw6=$Winyhee>oOhgGk3 z-JNOK5oR*Ow<^Et*u~uaxsNf%cDr(GVC7fzc2cxDeP=9s8P*f#FU6<;$1* zj~D*QIo12NY`2x2-M{p8zI%+e$uTe-_$Sf!FmLVGi&Layuh#~83BEIa9nBAP@;bFU zj0_451?&tB42NWa1ujQ90|SQwIfBU$M?}5WKWtz#w`lSE-}cXMG1D?w4wQgBu5`s;MmYxCf|D^c}QZ4VFL-giH5yLfP2{YsGe z`M);2-c=pUcO^<*Mn=YFW+wmopCQ0nje?*?#FPOfc2{i8+qG`@3{aqdeDmhbF`x@_ z%)UN(l5(j{^;Hx&D6YN!IyvanTu$|Qva+(Z2AAg?{jidUBHyD0Uc<((z|a*-5A~|F zdieMA&NkAb{=k3N>s1U46JEEkx2t{sYiqZB^!puuzn0hU|9??^d(``gru$*5Ki>~u zy;#%y*WGuw+xzAJn_gCllLp0f(cL|Tm9^V-zel~lk*ojz#jbZ{uVuXpetvqoe(99+ z%kQjs{Nt}rafS1JpbZQKrqqi2hM3vn&TrSh)dO1l_EoCp(w}{*FT8F}S@}P8?e5BJ kqy@mJ>d_FORtV@E-M=rdFqq%+dIrcyPgg&ebxsLQ0PBWlEdT%j literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/flower.png b/flutter_bird_image_server/public/input/layers/mouth/flower.png new file mode 100644 index 0000000000000000000000000000000000000000..db3d81e585cf762000afab7bb973e7864df74517 GIT binary patch literal 8137 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 R;6NL6Fe+|8d*9Ko{vD$|r858k literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/mask.png b/flutter_bird_image_server/public/input/layers/mouth/mask.png new file mode 100644 index 0000000000000000000000000000000000000000..a9dd36e4e94063db9ebd34749b4d74c9a28c1b7a GIT binary patch literal 5299 zcmeHLYfw{X8a|Y+L3aUX+;UAqJ9cGM1i_Z18xpXKgVaJ?p_s0S#RD>O4U&>;ec|Y3CSLIW@q;QHvjVDn{(#- z&YXGQXP)EbLq_5E4-GrHb;!qQs5P6U!N@x6l!)_z4})_ZHsYVi~ghl@k-FF%tpgt!|gM|K+LM; znR2k!E_xQrxiYbbGYROgC-r!D4wpeDWi-rB)6A=|pOG0BJ!VQVe3r-qh4V(SSAVF; z-C+Wq-?8}oyKtjP%ucRD)lP|-kExGDUIgun>)zJNOGt1g-HtJyx3U);T#l6*bJd_; zpN5JDqAV&TG3Z$R37Sn54X1EA_4$8vT?GpqBkF_o zW9O^Nh3F_}vWBZ~|DF5X(o72vNEpc{)(=vfcyKP!EU2)~sQ30%#%lXmq>hYLhi_^= z7?IIX{UrV!zs7EBW|Nsrd~3mP%_Vj8-wPiKDhP$`kfirwm3`m@$Esg>IVhQX`J5+s z72a*qveOx8yJG2F^-5T)y;T+GydY%Tb1=QnUk`Y@S>hvZw1qYCyn#KlD*MwE(4cSL z$?RZMPG8MxS|fM<4g z_Vp1Ozke44fM@d$rird+a>^R~KrWZ@Ek<;7Nu!I>)2a4-TGZ|UwQq? zrTag|_zcG%sNt@E)(Bq?^cxz-F@IyaL>R8EtWw8fek=m+u$2P~`I)K^!@cdps7`oR zPU-JmOUEs_yR3KNI33W3T6CQCdKqiWsHR04#&GDSjpRRf394_&dqSqi6oym9b0L#q zI-*3vBXm-`f^#F^|72Aaqxq3m~+0wMbm{+p#4V}+ylI=U%` zfT|7{NvWi{|M+c}5V_&#(Wv{-Gg;+^oALtS*RJVB(-w85j9EC+gd1aJ!T|gyC>_Azy$5pDrsbu+RBBf23P)u4vDLvR4Y-jDq`5-swka zQP=lGMLok@_g5+KXO=-*n;as3MPN!8t|5O$+^h;KeNb5@98AK&jqDJ&m;;Ei2V2Jo z($pJP)e9V*$q9wwgH0=g`(!pxy!8Yx?0tRQkNQff+O7}-4=?HcIvJg;%q~#JVD(?G zKW!8<*qhCHI{NIupzR^fORzz6`LNr`)bs;9umMIes7u2-r8TNpvaWrqtj^}LWh}>h zI;P#&h`0YVULr?r=~#y*NJp8vcW2>oa}rrg+xSJ^j?e{&x&e$pBsfEeBIc#vF4ofe zSO0~_uMRT!xAt}mTv`}BSG9<>^`4f#SmcNV)3Q)q^mfk8Nel>)MKRd(wc%lZL68qO zeP44uN(*-1om=`Jg`7DH-GgsK{0byEX}O_|TxlOZBI0uqQqoevWW4L=Aj8vbNg}9H6o|)4BJ#w=}1sqJ-nd(S<51-)y$;VO?JKq1~(|-fQRWUjM literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/party_horn.png b/flutter_bird_image_server/public/input/layers/mouth/party_horn.png new file mode 100644 index 0000000000000000000000000000000000000000..2a928701984bfe48fdf61472ed537b3da3d1f550 GIT binary patch literal 6602 zcmeHMYgAKL7QPl+d_r4WDWG7-))uWqk*K_FtD;0ifq*;`q=-C%fCLC|L(pP%ECQvx zl;75>B(r24(DUS}+QfJx%x|{OdAI5;raRM8 zHsHTyM<&&L#FwiyEgf%HkUs1Vx|jH*;5(s~xpm(rU$US62^uRfvcU66?AE&4IY ztzNQ=xRGT|sjeF7s}>Qw-QJT;k*2u`Rwju?E@HooXeZT72WE4e#LL6tnZGZ0S4wYb zP#4&Vu$z7~TxkOU?;g5u02~6wi~wNO6$b!V{YvBwJikbSOFSa-W`%5p=aU`e2xgsS@!t(bxCwQ11m7xY#coUeeC6uXF*nBTx^BPu4wB=rhe!lX_=m^dx^_x4?E{KUQ(?& zLCkABci%r%sm+$y(G&#+e7=-kiw%RoAm&L-G*Rn2-k9#Y(2eHZ2V@)Ifmd|j?M_oc zG~p-*VGqmjdzr%PI#Nn(2e5ucXx#t5^C`i>b8jyw4Qs|Dm00Lk-|9Ii2=kg zl@}W^Q*6DBk1r-Y)qM5u8jd|^KKoueix`uY*) zhB;m70E+)5TK6Nd*uy@Wod#~@I_@<1Z#VoK*I!#C=;YhL#JR|*sL0r<{&pG5|Jsfr zu9Kh|w@_q`!gs%9F06H!pz~tErC*TBYca*4baA1N$LFBT-!E~?)T1JlTdjb@0En5g>!ngf-0^Tb~vP?(I$5KNxI2G5vY~85*ou|BuuuVAyv8n z?T^7uc+rqKwkhjEnG3%y`yB}Po4KC`9B_Y1od48Pj~2x(zY#x7wE45Yga41C#PWVOAjq(U%yv12c+gaZ=vm0+PxfHPJujn@>0 z)td=*9Uk$hEnaR`B6z!V|6F!D2i=}F$8c`0mWc1`Zifcwm(p3i>N;10Y-r~2d$#(m z?yH4|D))NP{2AKDGjQzPyoJYe$p}=H5fw3&!l|&?BiLw_P}!_nDEequWv+2Sbpjdg zb5!ETi-fy@b^M>o;vQYju^FNAD3OESwKCm}^z>ZOqDUJySVePX3ATF;C|@ME5~FF7 zvhvi9#?F`5S^LFHO_p0DPBse?IQ#=<+=dR9oh~0kJ?SX&A6=aFaI^YM8AARLbD%Zp z+|+D6N9h79?i6*l^EyS22Qu@>9}kZL{T6UV|vdkku7l-x4HIYAWI;+jn%m z+6VUT-s!bzAoMOso{BqOk1ah&S20xhU}c^R-#<SXnLhM ztbH6&Ej9DwP1^ChE1snAs4`}Rh<(0kI#slR_(2*M0&w*oh~w7+r$N~E`9FS)dunLx z+-`}<{DMApyJCXo>cA=vty(&7Iy5M8^1!sV+V!KE&;ch5Wa#EZdQ ztEz;N(l_*-vmk0j^ALsOG`lrn@v6sUShGaa#a0|;w2AN74RTx|sp^|9t~ZAfg@f7D z&E(-&-r1%)85|deGt~8{x_`9rGGU*Pp?%NOd1hAQs;t7CGX9tB^9h4KobWIht1NRXQ)y)@_-(+mPOQtw^j0XpSpyp54NPrzx5V%=(+_)n486R}H8 zeEBF|S>}R84&bvbX2Eh5~;cjy?A=1ungPs&Mv{m54&9qk=IQ{5Q9k z#|d?C+rZMm{KzBX#qUME59iouA(hn_n)&4V^#vJWrcK_kz(j+2o^ITl3GLg@mWg>F z=zb&5Gn=D|T_uDlIQ9yr&M(dV4r!ORf!7`gcF|5cguZ&z!emmqpA8o3nqjmqN09q` z0Y-R{S4QjVnOGa0-_p{izKYOZqRnlkT0pbudNE3nP!b3k(T=e!eW=ZlCrH1)!Fhb<+mvN?+K*4 z>{;dp2G=wft3H94_4%3uuaq$9F5(R2kr@2Cm;#dh9V}jc2Go8L6Jc9Slqfw;!X-WI zVRD}#jz(AAA*GA%W$K6Rgfh&MUavFR++Kj)?f&6MP?+jzCmzak!=IfBPN(5ODqnR2Ta=HAMCkeP! z=4l1QD91pphw+9j^RO^R)7Rhq|8_eSGEuzX1J__2vKo literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/pipe.png b/flutter_bird_image_server/public/input/layers/mouth/pipe.png new file mode 100644 index 0000000000000000000000000000000000000000..1a5e896f97c3958417c8e71934106c8d3e5f98f8 GIT binary patch literal 4866 zcmeI0?@v=_6vv+qvoaU!uWTT!;ERzao3cAF<9U=m5H37#2SyvlD5b1>rmeNkf zoTFNG3JL-)q@c@yH3C-c4>PqDXIr%qkhWB)qgK|7wQz6omUh?dPmt`z(ibOBa`L=6 zPrm1z@8>zXBQtf;!l;D+fJJFrw|oh}TgdAOf1Aj7s6XE&j(1A8?h*h%x%oOs`U4lg zC6X&3b`Hcjuor?0%6I^VVfwz3A_2Fclt({M#&1TFq5xPXOWU$}XXSbKh^hWbIaTj5 z!Fva1^gkTFB%f_xptzG#M}E+8A$bRSe<0<^bJmZ~MjzGgJQ9AGvh0hcONX~X7vr-3 zUTI{Xetu%xz9tsuoNZV6gr#jy4g9z#Yr><{PIy~4Zd#!+uTG?q0eCUiuRuuv+`yL; zB`jHKC4rU6$}o^DDJ2657^46{`h!Xo_kAJ&3&LRl!k2_DhMp%Ricl+rCPipIhPFaz zX@;!A|HB|jy80FaFsM+7{7Ag6xX7-!m89c%FD)16;1uNv!U2AehaHR8^r1`Bw{!jb zV^WlYi@u$N>7566cw=ycu%nY_^}eySChcy2Scj{VD=lis&=+CV$glhc=A89UK3#kW z_uWj#qPhMjY7Q;X3u!wHZbyEL-iMCBA7+@t$TB}-Dr!@lE+tD+3Yq2O165L5BeK3< z)|MA|1)=?uGMfgP8$36s*G0l~TddU6EVuMg?|B!Q*V?Y5RJJ!MSm=&6)@AX)yllAr zT_OPPLyr-Jk9A)we83`guHkoUgTL_Ga$ce98e?0uf~kzoMnoKVrq#~AL_M*qZ9Roe z#!Ge$*4G@XcC|NF7q|jb40piUQajreXMq=^`Mx2sDeua(d&qtWJIcw@D%4Ou%}SE6 zM@Kha-Ee;Wl*&0hY*j(7z@B?%cCLARF6mfTypETS@lq2ykL`=94_2fe-yR{GegGqGy+8;tk*j;Rcm!hkt=Y< z?Xdf9a~Vt}Bp&L@Rt07ldALiC3p_d`(G+|tWBlfsj^s-9LC*xQxtV*$-Xd^tR?H8z zSWSk}a_^ikug8vJX~ z_}%vGo|y#a=R_eJ$ug#Djc$0?HE{{z8NHPU2hfM@(L(#Hm*wzkk+9gLu9;9^ z6y1Y3OI52(8sE(_(Wp^`2sS_y99pY2)-fQ*uk_1;mC}QbQ*IaB;cV341*H|iCme4Q zQ-e~EoSfH|Nj8ikNLM!9Pk#28t1nRz4FemojEK8~I_UOrB%csXjM+}N*wjK-4PScs z%6U^Q{S$&%Uyye93d*M3brzRVh;|qZ>Bh;;5%+~;ZzOqAwMkZWNa%b@h^DMpHuhQ@ zTi=Li|DBo}wkIScpt?v|k0|wF5^GJ5=;luyxfPk+qA)@;%<7MbBg9N0W}26c@*jS~ bNP?sbC(vNc*&zk-e+AOmnOnL)+jICIpq)V? literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/tongue.png b/flutter_bird_image_server/public/input/layers/mouth/tongue.png new file mode 100644 index 0000000000000000000000000000000000000000..816ffea6d3862a6ea7ca5a62476831c553f867f2 GIT binary patch literal 4930 zcmeI0>r<0Q6vh`(0j)r_)~bXswWXy{Xb5AlD5!;kEtghQ$vvdSpe7Dtm%VHk6=9Dgd?}E5o9TeCrglxIH!C zcxpH~J{5{fAp!`3+!K<|QVDSsqB}W-#G2W=1Axs>5BVQBlE$7M4!Jc>M2XZ&IgWJo zqsH6nn(y;JyCJtO^~c&DaQbr4InVlX3f}r*|3OdL)-m`|K>o+;FJ}M!LkT8nDw8awa|kG*UXt@DNz67$;`ehSwPiOm z#&g3Q(nmGKscgs+@se9zT}K=S-j&gJ4J2xYytu&WpubZFskS zBBaSU3b7XJd`OC(#DbAzbc>GJt#@RfK^$(H>ld_XndULkO(vCQ8ct1!BP4!&;R9ho zSdlbwJR1Y&PV@#7mf~E{mj*;fx36x5mx_GAk>G(?IFY7oDXpxme8chZg{0L-w^g<( zuM7@0GN^tyc!pWz$j~QM&GkOjycdgM7(Pr(A}29UW{{Kv-9zg>M`HVwkA5&agMo+V zG$qruOVmC=dfQMQ zhV`)Fw4`%eZ0f7KctLGBZXUJ_mbl3pu^}u%K_wkqygaS$A{z`z8_~bY_N2|Wx4N*; zoCsZ)r7PcJHOt8C@A=WHmcvbmdUEGhbab@QJFi}IZu1BWp6Y}$tBuhWz3wqyyo{H3 z3y~{eYC^oP#ay#k)q9I(?^}u%pLxLsLP5lD^{TKi)PwUQRr#@%IG(b_E;%NBOp#OU zjFQUF$1w{Y&P=xl&9M!8|Qb}To1l|1Z4|JqHOfq@q*b$iMwA^ za1*Zkc=giYPv%LA<4sq;Ys)A>SWHnmZ8f_vS6$I%8`El(aTNN|>SlouS}YUnrs12} zWo;SxcRWobv$tRiD7n|z*r;3R$hC8KV8eqq$Gj;rgzub)*SX!rD4)!Q3STRBaxKEL ztFhoHB)7;4Pv$=~$Qtg=)df)Ngv+uE5(%z~gX4L|lX~NM^GxX5(+D_%6;3+f?7PlWGcO`y=wxwAG>Ed9ORl{tty&1J|MwGyGtunLp>cVMmHJDh&|AkJB9$o5fAEjVE RTWN}cLjj@wwFggT{{sgcQTzY^ literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/mouth/whistle_blue.png b/flutter_bird_image_server/public/input/layers/mouth/whistle_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..9628e92acf95a3a08f781cb72db68a767ae8265e GIT binary patch literal 6147 zcmeHLYfzJC7XGZQ*s9R3+p1{9UEAU;7QB#f2^X34x z2-a3$6Ct{+1U@doMgjyAj8s@85HUcA0Ro~4AJr@p#2CaL`@ht!V)*bvb@UH;yn(p~py$Z5S!@hd}{oYLcG&%_Y?AxEO z6`ka&4B_0(x%5;i{Zge&47Oi>={Xi{BXXzVLCvsrVg)b+uB@KO*eE4A{hEel(jbFUj7C3)iaybaP%A zW5xxOOisx(%rZ>k*!jlj7Hsee0Js=KzOeyv8N*1l19E_SFzAA-QvqQ0w&4}Pwwz_- zazK`oVYv{NnPHg~mla`I4VTq$Sq*=qh6Qf3uK{=Iab!Zf0Y$mDUqAhcJ4!OwM7Gt0 z_s&%!7Q<1Qx*e?B5BJBULtXXT`+hOft|B=* zXYGM~T$I{vBavoGxx}zMQ;+(e{IEo*{47Y-JR;+_E_She_dJmPU7VHqjK7|lr8}v= zeYucoE6*?XKhym&+F)nWTGY@{v&tl9lcNbbKdAO-Bd2b`P(ObWpRKu1NbeLWLxaF- zPOcjR(%MdnIS0F*yKb-r+cYJd`(4aEzs2AeVD8rK0q%aQHf{yMnAVP9+}3o_+-e?4>AW!OZZ9V0FGzoXnb zPxx#K7p$+`Fu`I5%o9a_h5XFY?ohMQVBl4HN_tn)qx8) z_kz|R4~!Vvnk#yz90*^0pW0-#Ro+6W^G8GcPtvF|Eq&>qY7Om@I6E4pbfCjS43mR3 zuC|fzl+OzwA9gA2y5hldG_8$L*Gcd{*3=0tN|fD zKeYC$X^iZ2QjB+>FB!DoDo~5a^jF#AfmAq-N-i-mkVx|WVLx9=A7DbB$*#?p@Z%%LWCHst@Zq;`Q$X&8-IqL zicyDqhKB53#5MuJAy~N>@nVcbN)8EQY02`8XARQ+b@X1fG2J1V-*n2A1-kLa^EUkL z6~4R>+xpzsfvCU~-x%gdUk$ZY5rH2VUz43>Ud;2QBreE_Jv;R1Js4_zDOiR!C~+Wf zqIHC7v@`0$M`KU}a~6g^gfz4_0dbP1q=62pWw4sZQhh1RFT>mgeZ6dw%yv(;nf$na zcNRqkFTwQjjEn0bI=c9;VAepZF0*!Y0M78PNpUT!O3LqvJT#bF!B0JV$NtVlb9$I$ zacTom#w((TiXJXRYS zplBI~1qC-l=`^WlR8M0+%y&BdVa=&x3d}dHc`mF_vZfuEzlt*ET)dXSE1xLt7hbQc zBxa2rHfe%ZmFcy{IN!sl5&xp-*^UleWcIj=a|)lbD{ZR2#?8z90b2}#ol{ZEvuyU@ zpgdA~MCIO7)nK}%K^lyYv$8~GOD(;~KL2by`XL-SVSa4wY(p%zu$XlOf8M!4b_Bc3 zpSl3+rrEx{(N^G2YOTpOc?=f*Ac0a?y((9bgf?(UlE{Iw3LoU9{|4Jqe26$!!qLve zvp-<@%=Er1mnC0UYlLChlS0lW{}V%+`x2Get{fy)Xl^ehqEK}@T9H0GrSps^K`NWi z39y8r;2RMHI<7N8k71u#m_SkXcbX5&I1H6H5`mbTOb})5eFs9+P}`9&P6 zK?A*$hOU!jvLfCr90 zEBq)IRITk81&tE}?!k&PH$FcL$G?9w@(5GH!*t!R4sZnk&t?r_T`?A zMQ#Fe-VaG4irwYqdI^VQVHm8THfKno-#*@uX)vzgtz6Uo^346WbV~wW19mY76Rz=V zL0c_xRBf!+m@J~Tbfd+}OKLpo2pxC#8bLNk3K3s}cP~znB(YqgU+QPC5Y^|N0i#zc zPY)$ySP~>ofcy{Z^L7bHB^$ZYvVOrO`Q3`m3a2Y`S#it3)U&?3mvEXPY?^1M#QkV zW(CM?A@ZT<*9(p%DjK3$l2#r#*fVhY;O|Nf?0o=O1D>LVMGkyZI4y&sX|vR`a|L4y zS|^@H5YMjOjIbVINi4|{DMvM4d8&RgO(&41U{*tuyPP)~jo`($$M6{TnRGM?Er*k7 zib~MYQHP>rpwNEZ((Wb8`agF0ZlJo(u6fZTMeZ!5cEa2V^|*N#!F74{bt9^ z=0}2K56`9S#>{)taZm^f&?5yj3_ul)~w-LHBIU#KE~ zB+wMyC}Ukbn?quhDJhEYq3#J%rr+a@Z#va-vM{p8f4C>d=vQeUI$xfAgOnUq7s>*!<<)T3Kn?6a$7GR{PqLPBcHym zGda)x_W7TbUtkt}p=Gx_|Fx%=%i=!!ApI>^Rgw7EF$WLkN{VHz*Hp8M>BITyX3KG0 zcbj=cO^(nIKHyeiY6>JM1`>6-vdsWcDpxi{fSb-tYTXH*ZYv1@w(c4+19qKDF$c~8 z8^(=*Y=B{d2pg4QqbhDF!iE}dsNseh{z46(FjSj?bEIZ+a&ITA=)xqK#=qgDs2*(& z&++aW0;&PpWp}@&GjN>+`6z+37TIm=#+Go^; z2&nU<&O!F&!@NdLbDwmzP7cAi7|X!E{Qdtpb(Y~my{%~u1{(R{_uC|_^O)W3oVdJf zT!nH$$#Ga3;iH0eEzgaRE3UFTRm4;1xJuL!bMcDdCSq;Mxf~o`4gq790ATia1OUAG z4mjDobLj3S(8vc}Q`ObwPOO<^JC{s0Av))H&i%bOSPi2wI*miW$+UynMM@C|Wkba~ zswkAP=dHcxG5(GI;(*TsC|RWpvLHfZa2_?`vD)DFNWsK|A?p&ph?bN5;?Pz5HCn4I zSoxLzK=#CxR9sL%%P}nE%B=B8W2Ecr6A3}E37E4CreVnqMQJ^!H6KRW8%y$clr?TA zV#h^EIPZ^9w9~Hfa7npGt@er7wat@soYdoNS2HrWLP}p)>JiYqP0t&zGqbu& zPD|l69t?@VE7I$uE}k4oaoY5M&iqp#Qb3#>7*|qrVx}{Er^vLSry3pg_DM;N6(K{h z*%=~SypvQ3Vync8;gP!X!1_F<(D3-Wro*Qf!K0XXtLEPPB2;xq>ZjTsR|uA&Atw&d zsl5=JNg1++FW_a2x7?dvMeC08@B^B9Mz|2$US5pyJ`f*-mgpCgWowmfGcd?oBp~V$ z(xCO(t}B0o#c79!BW8vkZhKGYeu_r@4om%^EC0O9B_V9iK~Lzxuj~eYrxT?V$yb$& z1^qX;T2#jnA=6+^=jceqh4|D(4yq$>iv^t>O0`6Y5Z=XRzhLmsrac_!imKkZmvzks zcGGW}%FBpR?ejA13uE3wFxt0>=XoKkajy0mg!{}-=1=Cw1lFo0 zFp+uQSv-^l6O5Mk$CL$F&~=r{5OhbyusFldeK6@N5{dM3^Y9oZ*C)`E`ej-2#Vhl6 zS(=fwu+@HEAV`L;-PUoAK@L>KTu1#f{lb8~{Vm^WTUgjgI3<2ipP^D;jlI!HWn+!Q zb~UqJYaL_#%kIM;i)QW{o5M+U7Tp1axy#*aFXmBxVWlN1ok)6 z>qr~{T`5dgr1l6J?ZP+a9#otO4LK6VzQJ(@CfU4%GdLr8o8XGQcT1_NIJ?10ExmM5JOeg&$5LhBd*^;h_0J((+Pm^d92uEtOuyF{6 zSkKN{MC5}7v@}*Ah+OTgANrOES$^{||sTYKtr>WS^*32SRNiFpR!*gF57dM~TW78XyRye}Z(h7L>+50bqg$ED1>qNeJ!nf1Jr^(YSKE#W>09My+JNBQh zr%DTYv2m50l@TVl%*Tx&HROQ(Xp}=JsByxgr?wY$!1t@Z@HLApY%eb4TCW4 zlzy~9@qMzo==+L~{wGDRLWB#tnw&4mcm`!-wTm4riH@l)dJ!cZ0=LS%{qWTK<<)4h z2SXf=>|N{lCKQc!gfxy{QSh3c*8Wy*ex`u0Ec>G@zBD!x1mIPfCYcy69EOPsv0AFo z)T|QDDK>*TP*_;8Xd13yG8$&n)^~#G1M{SDVU5V)ksuZ?Q-#9BCsoxdbAPBECXv7A zHFfyqoN?FkkH9&1G+Gkp5A6(lqzMK8L|)67)vuB?s|$`+7WDN<_$nKXZS_1PG_R7= z$W=7NRY=e7UtfN5eR)$gb{#hstfG6;Ni}T`7npN~Jt0=6(Jxc|CAzV7Ib{}|6 zbk>Ve3k4qP=PrR)smKd#p{ybK*?k--S}4bRAs{uBYXNmDEg&q+0N@{Yz}4_YC|tY^ zgz~%~tePpx#(e!6u)VxwRDQ&%7=!Y(3c-W~kUStE#FZA8 zD$p*Y)C7oKYk(U`kVi;DlYkVkA|OJDkQbN=67nDff=PhvMQ3;0?#S%S{>vYC?#%an zbMN_`@0|1dom2Sd$b+u0d%g|;fa~Ey`~Ly}zcDU9>(@amX7AE_(Cf8~LnpETz^#4x zS<{tXeFj?GL^u#bh)z!-kWZaU2FPUc&a-%I*6C9j$ve}}p_#@|PXO@19Nz!YvFvh# zD*aX^IljwmBC4vYR7vz*ft>~K>3&~)hWUQY#ua@wX$73XZx5^zX~Q z{@S+CR``cUj~BL0Cx!g!@%oNGtW`9fj{f}1*xmD}$!+tBkP9hO2D2%7(vS!z4_t2LMz$N3MBCA!S0WxNH6&HI%*# zrxAYbr?ij;Z8NCb5M}-pYY^X9Y=H}gBEJ91=0OI4_3tUy0Pmg8Z~@K(cf288z5d^e z`x^o9fAh8!? zBz&MWKN~D6Eq4@_xz3w%=N{g#QKNTM@V^yFscAa9#C8BlPe9(Gy=prKDgU3@`D^1x zU;HALFXb`V^RT-P-nEhzw|Wk2m#3_uv>c~^iECh-^rd3@BZAXC%kYTRg=Bj8*kqSH zd|N)9>6i$OV`>PU`_V1^U)yJJaAgP=2J@8VY8Hsim3jIfs)zmYLxDYA1&;8!r9$gt zg;MJV__?5 zxv$~DF+@p4(I-cxjkT!oD{KDy23{b;LtBvvitrd@^IVZn7%cn8$> z$Cj9Pi<}3?d`p^`RyVn@xItd;>iW$@2-qGRFJG^2E8~!=#fX5Vh1jz8daqc3-O6cMZy>vZ&nb z_Q@`c|6+mKc6+PK)ZH=jynuBX-}r6uW=SJCPkq3F@mIllC-)XMOC?we9TjZfjP|Pm zgNnTf@#LYy`bOikmq)AsxehqrM5+TLFM9!zjPE*> zrjJoBOB7+l?r!g;{$Y=b+x~h-@^{oT1i5khwi6fycX<238~vp;3wMfJ4fY{s^Z_e? z{Lg(}*@LjOai@AW2RZJ2J)X>3D5-I$p~(xa4-e$C6T(RXe{y6PEmgBW!nF(p`PL#9 zOubp)z~&3pmK(+fWKXKH8p~MQEv7&wXt-b&wewQET+B1+ll-#@LNuHO(Z+dXpmM$j zKE+gt=WtR&-&l=C&y+sd*q)D0drG;p_{c_ldTD}nVWYHtLK^rDRRhQCT^%=Vwr0MI zb$02Fc{BbNc&XD>#BHHzib8nh)55;({}Vj#oK(CqJpoBPsaYsuW%r{Q>}_IF=4bJ8 zRc3D9Qk7$TpfvGSVaiUy=moMjjPO*YO<@M&U|A3vEe*|N+gjCAJbUXs+OJsRCInh}^V*1JH4#~KWK5>xgskP)J+zLhFIVX?84gtXN zL8xxYkI77PJqkWep0RgfL@=DOw>-8+{BZfy@ndo#ItXFWC67nxTQVoMa)iRA&!^9ZZ>UMX{Rh zZQs#dwd?<%QoRr^qqbU{qN;`4B25qXERr~Td~DA;GaEWOI?zUY6V@kIXgK#A-XL^O zq9zb;V5TefIPRtfh*Fiea0&%Sckjx`j>4#9;3Z<_1(kC1UjdR3P%@}N7zdqeT_%BH zGAY25mg;QbQ7#@mDFi3+|{L*{cR)n^%GYbg1YutI(TQbUha^E4Ue~F9=Ll`Osy=^o>qHWi&$Ag2_eNnkx`_b5Ks_VTmoSU5R(8QpkY9gVQ5%hrp3~NFN8j-OOP$8y}4T?2{tSliwws~~UnQ@jf{b&B;kKcLc+;`qP z_uk+AzVF_9@v|eLuvc7O0RR9Nb};1k0Puot^=xv0EVJ%ke-Axg&OCUG002&c)w7`= zf8!Kn+;(>V(X(j$nX}}??9%|5Ox~T6kxDq3n0b0PJ{!x>1-byh)|jx6;K-b-T3LEy zjWMo&R!_7>L^$vGbMeQocgOmr-Fxwm0}uNij@};kUrw4$)NV>I`gGY{!!)?6f<@j%O9OJI8#}8J<6AbuxCOt3dG8@&=*{P~85!3{V z5Vz`@oE^%oQ=_9Nsq>-AXSV#2J3K*!R3*HR)B(L=sST`Y&~^iFyH;FWH4d_)vg^^4 zhtOzvc(x9EL9h|==2mQkF{nY+3hF%S>N2JoHSxwO%noVQrHIqOntib@%Mmyd!_Ad= zihOwD;Gn(mtz`F8(Zo}c#_!+5NwK3wHG^bN$kCj3Fb9uJBaGGjD-4erYL$GFvE}asu`o zKog%OTwDs;roc(qJt7|^je(T-D85;`Q*@_!oTMSdqb0O5om~`}?iQJ@v2PUSqkWMi zKbQU1$L&$ekJd5m)`$IxgNqXaMEQL#!afdD}7*xpg$THREzLSup8dB$V8jhof+GN6tn{ z0bj3qQq8rsf^uZW6CWYkoY6TW_*&EYCNyv*jCmFq_3xV_&hLW&>K$^DLj@XTp zEMAkF{Dee|Q6=UXKAgSz+L}P`CH@HjQXjB~ZOJeP=Y=7!&V-iTJvkQ34=u|ayY1E% z9$ChzQqK)I8;8o>R5Oz$X44GEba+7y&Rh_nQm`HTzzjbeUC97b%|lM06O3}Ew6s)l zmC4j0B}7?YY=&Lqj+}~KRJ2aLYmIFRgqWtea!^em~uYjs7b{&p$GoaQqSz6kkiksEeYKUt;$GKl687ZaZesbD zplUq#8$YSNm_N;s@qe=N=Xys+@g|`H;kG@XR(-$3+|a~CI|t@Pa0S; z@)G&}a8u9Xgj^o)e?kzBA=)~F#YB^apVD8kCCCKptKa)ea`g8A#lbHCjqj9uAQs8^ zrhr@c0+p)1u;nIwVZ84mG0t>-iaepL=Z2nk0q)nncT1FH(a z(QA@@IL6-4rrfhX^JPJ2x&);`NH9pbk1#ZkiQtb8H3UOYZUz@+nIgraaP<;SV`SrS zJpCCPf7Z}^*Ak{liUU|{JD#1vM%*5j8V>D1|sq8I@Cg`lnUvriovs#Pv1f`ik}cwO+P3pYKlMHQs(_2egU@!uB5tVeL!! F;&0ZJ-_rm9 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/neck/bronze_chain.png b/flutter_bird_image_server/public/input/layers/neck/bronze_chain.png new file mode 100644 index 0000000000000000000000000000000000000000..cc36b5ac14c2d617eacec2e812734005330cf702 GIT binary patch literal 3717 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 literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/neck/silver_chain.png b/flutter_bird_image_server/public/input/layers/neck/silver_chain.png new file mode 100644 index 0000000000000000000000000000000000000000..733a8116d2a99550f393f8201418f43838b2ee1b GIT binary patch literal 3731 zcmeHJZA{Zg7{89Wq7!f~nLsU=XwZrfkqSx`aH4=nYl;g3A~dsfYfE2%@?t5}IW@Xf zw?L@`p<~#Ak`^;4wLpu&7{086;9BHm(5ucuMz@S3 zr!r#bDH&OWG$P2#%JTh|MoIsgz##h4(?}(T1Mbl7Esbu6_d_Q{n%$>ryo0@jj1BFYs(v}!3vBv0QDf#y@KLQ>DOPWx$hhH{7hyD~1Zz zW&z;1WdH`Ya2asG1+7RZJ2}2D_;GL~9kRhc&1pi!UQc@OUkZi)*Xg1HgvRdk!EJ3_Ak=`yKLcCssAeC^m^!oK=aWw>8#xsJcqR$L~enP_vkx1>gmYw1$5D2t`w@bi0 zb?Wx|_X+iFPL4v*r{eIG$)xlc1W9F_N?KH%-ysf(2Tg>is3>C*-rlvZ-{X2mEr!|I z|BJqXAFp>w2;gX!&gJA-7BH;O?{A-e$0saf2(?6^#u9uW0*`B0Mp-c0-@i7)^6yx) z)Bs$|7;x9#>;v|2lnB)-C@M;!h$|Dc6AShe`cJrumX$mI&CQLY9oKOlA$f}xnj5~E ziDpI7A+5PNAudin>rS7%ny!12cmrFRM80`&mk4dMk;VC`xei0TjRtVu_e|41AJJkH zOT!uzLZIRUq-vKa6gyyGL78+%npeS8^EyWP$o-DVm*-DHmEMXJb^jYk)4g9A1^8g9 z+h$BA)zl}YXa~#Lc6uOf;NIR+ta0xX55ogLfT?ok0Ko2_)oZlgqSLO{Yq8lRCUg2p zS2%c$7D6@V%Jkvt1RdL`d&Kt^3QJ2A(e*wzcc;U<=$ZSp3l8qe2AlJj#wxCdLa!J$I z7vGbTnK{>9>`zknOT5Qks!HGi0RhVH28W2P1F&q-ct%5hP-&i+SgTMdlv3&6b;ZTS zaYAUIH%baQ3v-;V23W+47`K&1&E;s8OlR8{Et||nZGJV;KQPcdGBe&2T{4~#Bxjoq z%6k2=97qC!gg|fw3TQQTa=AqXwck`vE5hlX2hYu%e4N5&vu!OG;HGF7KHjU~AzX~$ zh6VFsD~#Z~-JxtSS8uUcFeZ~p?^7a|%XK(mur20s%AR5>&a2?%QdGgi7uCzxv?95& zLCldqdM;kPXsn~E)oNOeL{di1CEK3Yl1w}VS9S?U1S`xaKVAw3+`$+Mr`v36D^fwH z|DZH_${_z~cZlj}!M>uuWK{bo6Gd!fnx-jD4!f&@pal0iRa29cUsISyc!fDLT-x5= zjydcJyW8{s{3GN(#!w{!foR@ry|y&=;ODKlOG?-WR|UKUXeeerFv04*-`XboVtFa@ M2sTXeW%76b0U>rKx&QzG literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/neck/tie_blue.png b/flutter_bird_image_server/public/input/layers/neck/tie_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..63dc28f4999456a28a7efde9727421c1da20e21b GIT binary patch literal 5556 zcmeHL{a2D%9)DbB$6h9#>Xa{mwx?}occ(!~3tv#CY_d*GHd`~A655iIqXI^X1cKGn z(PBU3+Vq^-I0&2pPFHDDgDG^bFXF3Q3D#-gj{R6qb?pc1g_c`Z2_j&I9 z-tYZ>zTeNM^5B8gRV%_*006LR@19+M2Y^4A-nC^PLL(N$m1odnIc3igDgXrazH0#r z@}1+*VA!cIGfo{M=bfS*JDCg6Xf$L#senp2M#)8zPZH}*m~a4Cw`1?F9f!*rj1&9r z>4`^W7SP9|=E=8muWSCYx#;JEKUV(y;}hA=6>Fj|{&o2o?!F_H1%1_zqERPs!sp^Y zfAY!BohQ1U?9N%S`*IWRaQOHCYOh^?dq2pE2R)Cs7I!l)%qJ1^Bq}A*g#qcTIb@zB zW=`qjntawqX!n%zESw<#04hFP3t9B>Ms)zN@e45w_@aUm2vh)5K>!fYgMe)PJ`n&u zSVjYYWgq(|`j5wdDg2?}M+!ea`m=&RY5GeAe}VKrSr*FlZ4rR>mmG)9F3BrkxHO(l zLd48V9U+)az?uQ=tJNkTy<2ay1?o}B4_oR6<`jxh^WTbP$`3FI2bkVY7vB`e}}EMAUjfb*fNviw=xsMO+PdUzM&cxeTB$8dF3Q-T@e! z!sN!_OQ)+^;;q`0$jr86<=j)lRFb($Bms*Eyh&y=DE_JMq~ncI>6r)-EWl;eJH#;c zMtyaPy^CTet3{^xRG#;T;Cq?%x8E@4LPs%bknUZ`=S+5uP;pN?Gu)cc6fum^b8G8+ zxkP8s8tn=aYi3-8L?oRq6D5U&WHo~H1@qmxe-w1suNb>@4~4BUMP2t#_QrA(=WTY) z$#tpDO5~QHEpm)`I~ckl(9XVWT$w%=O*Y!-+{v-ABN(Uf5CgN0a&8UeG>Yx*l$~QV z))?DCOP$o^Kvm!R3=J1=vtSz$!E!8KKS#Ug z?F^pqzFu?$Yg*0cn8w~l`Ox`IO|>;#ww2oww@{76w@K&@E3KB$S<1cuBgIx?_W;mE zI`Dqt^frQ4QFnPf($}Oc!X>v^?cOW>#c!r>&@kn*tN0!F>92oFAa**RNHNiaaQI2j--pwBTm;JW#8z&4tp=3!v`)uD5P4X za;vqYG7)GV7t^sc*VsB0&&tdB*KT)Q-f36e{tuZPecgV=Sn2O%bv9fmmUQry&B9C$}; zFSm2jyX<#ME-k)PcA5v|w!6JeBm6}7BgZ&RQlLYqI;qoMFv4@bByVh`5>D4H-sRJE z1>ZKO^>eSZBo{MZ898R(vs9_5{P%TsfjYWKEtOvc7?9Hs?^huRuQCi5o4M3a(IREU zxb7z(Pcdy8?kC_2Dv}EL@!869zrcp&GVJ;U7ud1G~1Gv;BP()_f7=Yi&EBBb$ zMM5e|=NgRSy1M&{olo0Lait~~5m`9FgrfR3N}A8*^U3e3sl{Owi)1!Q4b(_``_NQjgbFj_yWe#Ro^VMVq$gJ?CiD9_l z+B#CWvfT2O0gf^@c-)_36C@*H1WwwPNXFt!0Z(Wyy~MWG6F6i6RsK9M(rHA=Gx?)8 zo11A|*Zikx0_umdwEm@WI45dgu2B(-INHX{ak;M#Hdkf8RIUz!mV6#M^Bme81oVv9 zp%QY$%sy3UqM<>EpTV@oMX+LhM;!P%6otVjuEswdk7BF5|MiJpRwWYzs4(E-r+?1uLyIlpH0f3DQ| aR<`J$r$0J>JQGq}fxTZI*d^GRbM`;YV$Ze! literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/public/input/layers/neck/tie_green.png b/flutter_bird_image_server/public/input/layers/neck/tie_green.png new file mode 100644 index 0000000000000000000000000000000000000000..08c1a6bb0df76c467ef2f72fc62d9890051d2ed3 GIT binary patch literal 5508 zcmeHL>r<0g8h(dBwRvJ${W{&q}}XtSs(!-iE>E@i3vdxHr+n}{kl8(@XVQW z`EbrN&+l@cs?W}z-u`any8r-eKlACyF92Yh<<|)Mjc>(<`u3S`2&R8}p%?%{hJK9z zCGFlHeTxw#r_xK#(eg^5+@ebW1VJ$c)WTvgmwqXRR+QglAw&YeuAOI29{-YgdwDwX z2QhSU(6(6|gEMvs8@tcl`RS9GmT6?t@5PsqH!F^-Z|)fH`L0$r+WUF^O}|y}8>IhDTbLPJ7EqCPO%8Epk|+E6XmL;3 zYLK9CJqIb|r)+?341y{aa|$8XkR4eQ^&;8i4g;%0Q7?#qESK;;;>|YDB||J-w7MH5T$4o~NY6jctTTxn){?&}QM`7lAtJIr(1$a;wo7$-kLLr)OIF91%e6~fi)4U)*9B0wKS9mx#-bx! z3WuuCCBd7=4VO90iHW1hhDN1qc9x{IW0JuQn6EcxnD~4{6c_~MP?%r(zC~Lob5-F2{zr{Ax{8TT0n5R~V? zFsND4$~u&YnYT!kc-9?kl}6g0?HSc0X{3hvip=CW%zFU9d=$2|1okUYGpWy?i>N%R zeX7gB-ke~(dZuX@>s3PNf4eJH%H5|&8*MO;uwGXHMR8gvWZ@oriuad0T1l_zHM*y$ zh;+olYjFWG{dN4{gQr!Bac^T=y*Nyz!St6h^2{H8^T@(@X&JUnpRk`;R5vKgsgb%5 z&~#Q3#4UP#42E#0nbO(U$tX$a zcYMuKXX15fbtqbPL_LgjwRH}0<5vFx!}B0J(RF(_Xr7Yyk<;U!yWM~8_^?icJPo73 z!hUxxE%>40I{w%&Xq;P<+KLye*YuvW^UY}9)kU?3$17=LXNB$;B{-blrl2y)xbp&c zBTeC%TRW8#gdRwZe#5>0`!gM6PX)YBinHuNBem_gxmNO8m^oIPEXCkA zz1Q&eSOYuvB~d)=c!EfY@=TOo9S_yYFPYUnW6J{t6Yef#zJY0a(e)=-hwgI-r^ht3 z^s>h$W)6Q>fKx~hyw?B|!D9K&$?(?B%y4no2NoN}4zJyx4>Pgk+nvg}6~cLIyy--^ zIMobJeZ)QdQJMyj-G2)>^xq(CX5uN6vZIGM3U{q_dAT}&v`<;pD%DU1K&v_dCuWr~ zg%VMXz};h*xX?2+*S*V150nK5LltR%spsX|G_~Oys<=+7OjN$`^W<35!%!+(muQ{j zDEZll95U-IFsah(H4WnMw2Mc4=&-}->s&`c{y`IKLwjTA9xzf#u?fiStlKD1trD~f zI~tTXh%VTTg`a8X%Er@^(tPvQ;W!>&%jT(#Pmo}Tqa52V@PYIwYC|x1=!6WBHKfl+ z^U8h1_P4@lLg{)XSdFh2l3#DkkJu#_4ieE&ja5KVgv@$*<}(}722UM2BuKh6DJ zsqfSf0dLLeOTZf?Y9$(~XnL$NYHVZ1-!4{exILzt9CZn5_Yv$6tDZ90jdx^##_)$|`0It7i5UW%gbHVz0f<3@X_E8f~ zc0?e+2r9=SuosacgP``OMtiII{xP-wSB*n^m?r_#1Rcl z9eyheVsf_0LIjs-ufzdM^BXU@!-Z@zP$ z^PJ~>pZC3bDn4%eJO1wg0I>bo(IbBXfVcE-hP$g{#TZoi%rR}vKl)7}0C@Jj84wBa zR)%BI@4{zaUpP%Xe}R`I-BO-{I@^NPhs>b^O?oPtTCA>lD~K z)1+jP(O_7*{-Q{6t~2e-#}#E|zNa3c{T`okAIZ4&!C$>`hkC%DJcuV!KTP@d(j0I9 z>>>VHaQly*yi40+jt1UCKi;wX%kkb2_o-~mWUE?fGCjNE(Rg|$x<%Jb<>v{9Eetfh z?z&)D15@H3s@qE)2=eKP-J>p!(_%i9Lx7NjJQv_#NxmCU0?c{>0Him_0rd(30JgZ3 z0Knbbf!sU9`JwZAoR7jO1!tsi#z$vXa3)QsRd5=l|4Ca|vP?h$qT`R|bcTln9A5p> zjUq;hNj_f8xu=(rE+vFGo=ei(S_Hz-AmMEs^r}^}%iz=WzvF@YA@UiAd)~|inRzbr zm$|1~f`f4K&K%qK%JKC{Lr=E4_VV>vv@|HjxYiQS#8shG6#K%uCBd#^3~dqFcj$pN zP%ZK8f+hA8(e0`m+=9grx2OWLQ3n@)!I8$ClwGB8RFG6AWs^f_Lm+wHZBhG`#%kg; z^8Pa@o2GuA?9~`U-{@GTG!7?wnS0v!%MHW;(|R)jC8@d-`W{DN>1`2^@2Y{kZM{J= zt_2zN9#t|)-*f&Y9ZD;<@drkmvx>8!U|s1Na@bHKCU0;X!7o%?t``e_1#u6C-0P?( z{(EK=75xRky7qt^CM4@cygSdMQ5Z6T5M&EQ=K>7N;1-u9bS~TItrCYOmDr8Q1sakk*;G zcAOy)fe2P;4=}B&>$UpD=ZC5A%mW>JT9ccKv(_Y%9Koy#E zyFY3uP#YDXBtjM0+99zbIm$`x?qhAK1gH#6%LPwT`6{}QXM0?+i+L2ntNR^%?U*vH z4)-JX-R+QQ^QId{IhL=O3H1d zfI$dSXreNSRmike-IS$JX-fhhj#X2y!ocW{!u8*z9VwyjkwgC23{QctoEZ6tYVX&` zJrZSCGqnWSs`VccjJyf!Kr?6nJ&F{&ZW`WZ~x} z!Ql$i_~Ef)*ODGb5ak5mVjZUG2^w~<>IF6U*13vCp z-XrK@s6Z@pBE`%>bIGeaNl?+Z=)Y-x(YQ6kr-jd;=8egwJ>_|W#H38N(E4J;RDH1} zvHETTj+SbkO`wsh!T>ubE)&?)+buv&0At?|H5eBqoB*ujZyr;!iDA_Jf+>ew#b!xQ zO*M1nxd|4J^^+}CGzAQre%ST7Jdz+=GMjv{=Q7y|DEcZY&T}a7_I$gqEKVGroYEPa zAgjDR@3nCG3PMzriigGt84P*%GbkR$jKR8f;ZqdE>VbJ0{ zmQnN7N=>uoXS%=oVIh0X zf?xXqNny|`$fgYwk=rMbq_^WDBA`5)Wl$&gizVGY0`iHcXz<0ym1ppxM;HUeK0Kh8qo3-X0Xvd29b_9B?rF{A&6##;U-Yh=} z`MXol=4RS~W3;2>TpInvSpq<((@}Ya`BeM~3IRnvOKdP>!T?~?>4W?C{qaKM>}2*` zEj?RgwOB9@vSSss`;zMd-^XNytWG`k;StIw!97oYBOk81aNy)uS7Vd2ne5;FgZ@`L z4gUfTp4zI~u`T4sJ#~57@f5&mY)ZNeKWd0bLLP_&r8Ia4*LL z!0I)009X?Yp%32bd(n42zNGL`!B;7K_0iWAd`;6gD)&!Y5Z!;Im-2Dl z{Q|e%jlmLN&1MElQ#YL4N+B~UDGAw(d#gopGcYq9L3ISM=`4m>X z2zf02yz3~QX+&i*lnS!jnNHF!_qZE%)h2JTT(%|NW8YRfW^eB8Vc_i#u7-UpQ!ryqkqLmrf&r#kv(v(HFE~D$MFyHW=Mf zg&^{aaS$}Igs(2*C6;Vng3R``P1n5Cqa0ia#5Y^|exPQJOq{gpW?2-gzD&U%s=PfCRs;a$;oUda->W3M*+D%g-N-76+R}&2!(a zf2&|n?pu}hm|8I>eYP&8Mtx6}uQ2#?B`5~Bka=ym8ODQsEHOwQEsJ{D?J_y-ywKKh zn@w%Czp90i+IOQkhh1f$|iK54R#Hvp7PO>b9EQ%HIx@j9LC8Ba-1<+44Kj34z>6tlP|2FG6*iYPWqpC`4=SXotG zU9Ae#>xhm8uDE`=7v_2-p_e}E#MxVnh_HYh$7eF2PklLFbpQLD0^!moZFAb>1Cslt z)Re9spsEfL)!o$5>q)j-8J*n{2PUl`UFI^$SnK5F4NKZCRlcUe8k$HwonRk>`Sp!q zwm};3m!}!gxo?1wQ1LK>AIFn*bW3Jcy#1d~zRPsKA;8TBX7 znEu5V6VHdA9X3APfg%YgPN%S6h1A~Ql)V}u zYO=n(C=(R61TKmK!GUQmPwR3-VFN_C*Z&2ZM^1L_YMs6_iTj8(d?)WNS`guOy`0#L zcUZE86$N4P>z|8Vnz2a9u?BWK4jxJu!w(y?n8Wqa;ttF3zwcoSa<=ft`eVfP#q5P> z@eLuUBoqT7niwbD ziY8TEM+728=!pWG%VA5}2u8HDroDxV5nAnzNLU4F+5rb&>2(40ax|(cr3S%J(kKs$ z*z7It+tw<+xkx$APoz>3>_2^OxS-WJ6}_$1v8YUr*gge)qX>}_ zJlh86WD!{D5%w3dh{jm--EPUwR0~p0s~C4+Qd#ZYi6S}_zl@93c<0<86D`cG#ip@h zBD^AlGh+hJw9>0L!Zd?=q_fcY#6Jg)FFR3-6_(7{RT6lVAgAi%SO&=|gEeLmV3n5I z75DW>t82y0dV-sAn`_haW@~vh=NV@p)GN-Dd4O% zu1AoanKN2`;Ey(&9WvH&P0SBS^JPqfb;*wu5JO{&FOfv?0~UYm&#nEt=kVh>&pFTg zoaepo>%HIWzOJY2%ao)|>pxx(0Kldb#}mH-fHn5j5wgy|;zWJ_)IWu?j-Sl~fUus` z5u{@NnCV}P%s=+~{8Z-UeCWc}O8^8xv01r{JlX};rC8=wdW{|bF#vqzJ&}0icbrz$f2lrkW0AalOZtzYLk(YIUMJk9La%hL{OuoX#nS&-TS$LJ;C4QoFc&H6 zv0LrD30%15w!zgY+XMhc_rn4y!XImHvOF00yqJXmih;>600`Gibg}B!1KyiG@Gy+|C9%_>N z5;V6|3y$gLQv^XR9bj2PpyHbI^rnRcJiJ+T{TIA|FLW+6NrIGnOlKnBFN*Ohlrbc` z4!fiWVV-oD$Ysqi#k;o<3F^p#N+llC*WFQ(f8OFl!8A7M~ zbonl`XBU}PdsrQm5?i%b1Rh+>AI_?_*NOiS15{L!F9GjDofG|u67}*qUSZONg{gCX zRw=TX#F>HH&8P0C*PA`dwwc=b#_*!4K~NJu@dlfl$!J?%d>KVu9Bz~Z%j5j1Z6(Eyn&z`_xB<+m*9#&_BUamiZw z*R5VJ0+Q+TG<^jl+0R^3+OzrRHn1}3@F+NnGO?HvLDLnUq@mx1K;sJH=-2mXkz{Q( zR)wU^?;K#Sth2a~?Kp-(_SyJ&DVe&WySXD~gZyYHR2(JGpPfpAFFM-_MvC6fPNy}1 z_OmTs^)Eh_BxCnOGhsm{{@c#?|%9^@&dnF^*4lsXJuh*}@y;&^=8xVw)&f~YPGb}y z*m!yK>N!+{e#KU<&3F7X7gt(pHWYB=gOLtAzQg>0%XjQ7%+|PW_F_6GN2qAp;;h}? zV|l<`UYtW)a~4jnS3aA1Pr1e*LL-`xChAri#gHl1miIosn>9vm>58TuzSZE6r7QNs zKY;LS(&dEpdzm>ob?LEbYHp6OWP-Ar|1ej)!L>YF2A;7u;b3yBiZj16Z%y>4lVK6g zIxtp&fgS$pJ38{9@toiS-K^W{o{v9dy3FxDDNB+N*%zl5$6tBw39fr)$Ef>;`G>Sf zlb*KhI@*nri{z*M9{YVNOT$L|iNg_UT}WSBUyQ(8*-Giakandt`s|M%FAtuqIwN7{ zRA+d*z22iW1FVk>5Q}B^_P+f3w51$W3$g@)^j6h98HMY#xr%&0%{79C<~|{iM3M(5 zCexP3#y;esVpFu9Rrssp_;`^sN;(Xgxdzsa9Zf_HOl z{(YgVj;!e@D|%@(mZmjiO{ab;+f#*5jLrzr4l4!ULXnJTiv1r{@coEG1PW%2=WQDy z8TT8U(so=P+)>uyn3)+Yu=qf@&5_N4UAt27KTmFnYG(*v2bcFEa_6Ffq`t=e@AT~W zun&#Dsq8NSNwWLxnK7nr4E)r5hl)0_giazOLvcXF)~rkI$}kJKI!61o5^NQX5>30$ z+nf7MFXkLN{#IT_^I^Dp@35~21K)M_&sz_mD%iaHg^GqOn-Ea^RvxTV&bHmFkD+z& z^att*d2TaJm?|CiS>6oUAXLl)3K0vRM0bTwdZ&=4v1%-J^u-IW+hABl(&MM$#?^P3 z)wL_n|K2*E#E8YtLGh!erv56y-{Lh6eP+d8tAmM7){dWPJVh%i@K{sPV^bT8eg88% zA7ot;rV^1Ra*dU}k0iq@+6yNhF*2fQl93|!Kcw2XJs_$6Y};czRd@c$j^+a--#)R^ zMshD0$~L3NYs`!qD@fAPVa&O6Er(BOT{YJ58R-q2GRMdguAs$EFUid*5Hk6fAm|PO zMp7w~!dX|8oox-%5IlE4SnQ{OU34}7V)lY$qNROla+&;23jz5Y&#*cYT*3)$@aH*bcdg2Gz* z?rYa#J&cXYx_=wTKwqp3k6yyR z)4|DroTKqMCkW?r$Y(E}1IT3Z{)}uq344}!Za?87uF8ns4glL4jvqPnx7>R(V<~+K zTz-#9Prv=__}x9V$irW6#Mfv4iTkhb77k+nupuyM+h5SNhJXI{h|k)0gZE-gCD3#T z<_Uk>&Z_7izJCV$hi_f&Rg^L-0G1iZ|7Lx2#%;BW(ndZo*W+aBUFhRoGg=bWMM~+G zUzx0$6km!vlU-3E=1sr=YywL3%}h;bJBJc>d1KO1E}_4wa|hK6&=#LQ2Yl3NVrh5} zDt?5fD(&@0R`ThiV`O)4TBjBhmo>S`y*%}xL)k)}Wgwe+b5Jg)jy&6q?L5EcjB6da zVBW;V7FP@;%G>a=hA*;)FWUbIed4_R6+KuOKQ)@LmnAalP;WeY9OfT3eUPKe4y_R! z6fA9P$Q{Pbwqo6%(w4@^r7aG|=bE6Ywn2Y>bR_Pn46P zQ(-qvKCHT~9#r(hYsfJp~`%E5J1yhD?!IRJENpUA}RDe3DxvRhDl= zCXdnI9WBJw$L(dQ0>PKM{WMI1XwrROR9-H;6Q=dYX10xA_2yvhR$ZGOFVU3`hH+%K zVyaG6z#WdVONdRmhdwa^IAUfmlgwnZ8^kotQ?fFjSlo!0I!>NWt6oG5$kJ#tkK*XM zuYwtH{Nu+_5p+omM68Ks^eOYK51j5iaZM%3IMk@B)$=-x=8_uK6$m`E3H(S>M=6}X z2(!s4S}v}hkea$I<_D$ngCriv1GgfNffDP-*bghFl_)9do8j2|ZA`RH-mi4J4R`Ue zgt0J7qB-(a3}ShXyuZWzs=mlz@^LP78m%JMC}*}bl5QBX1|yt9J{pYWU0nY3xulk? zj%j<12eElQxxlZi0kmnb&<8HZ;9Z&|!kGImo|iCH{Fv88l`*TsZTp&fH4h)|wsf;{ zy3}g5C{lT$mv5=DzwOG89Bt1UUBdZ??wmOS!CO2W!z6etuaiOQFroYGy7h zzP*n_jSU=oFlRgd2KTcTl7a4T1_zo6cscR_EhS2JgR!slCKU77KegPJms{i%VjIx zr6b&=83 zf5o#9ia@v0q>lIR-!neT8p#>1o6j0;j`6ELi%Axcw0A1#%NjXgpYL~4%T zjx|tgwk|VvZpTLBKI832HpFrzl_XwW-A)*`-?eYxhFZd{(7tJFZ@QSHaQI`R_XIQA zmcN$htV21dlxlvLKp;SC@>5wNd4LCZhzH7OU-bLO^5?SvOlrgE=>yQ z)ZE3N=Mj`$t`J!o!*!$3dCeyxG?o*AAu$m%%5Gf^GViR$;jel-vfK7%<#2|arpjUk zDI&CGl*qy$p+Bcp&*P-zn0}=BR;p&RyC@Qqs+T;F$SF3hZ0f|81p~{aAGw$RHCt8? zfinJ6?THGsW9mU+l`H7Mtq%QAVfmDlM~h&}EDGLYSLbhM{-aggzxfz79ci_OQ7E z@0`Uv>w^P~eZK(csdr)#aF&Rd@LCKHC0eH@UPO-dZGkR1Wa8o=cw%~~DBb)LRYFo! zF-Q&$;c-R?2&n|8x9QLVn@$-z@|LMEjaOARf$>2Cp``K2Wj$-+O@L b43C$8x3f*$Lw#V!6gYk~_6YCGGgto$iQpE? literal 0 HcmV?d00001 diff --git a/flutter_bird_image_server/server.js b/flutter_bird_image_server/server.js new file mode 100644 index 0000000..0662607 --- /dev/null +++ b/flutter_bird_image_server/server.js @@ -0,0 +1,35 @@ +const express = require('express'); +const cors = require('cors'); +const { mintRandomSkin } = require("./create_birds/create_data"); + +const app = express(); + +app.use(cors({ + origin: '*', + credentials: true, + optionsSuccessStatus: 200 +})); + +app.get('/api/image/:tokenId', async (req, res) => { + try { + const tokenId = req.params.tokenId; + const dataUrl = await mintRandomSkin(tokenId); + res.json({ imageDataUrl: dataUrl }); + } catch(e) { + console.error('Error in /api/image/:tokenId route:', e); + res.status(500).json({ error: 'Internal server error' }); + } +}); + +app.get('/', (req, res) => { + res.status(200).json({ status: 'OK', message: 'Server is running' }); +}); + +if (process.env.NODE_ENV !== 'production') { + const port = process.env.PORT || 3000; + app.listen(port, () => { + console.log(`Server is running on port ${port}`); + }); +} + +module.exports = app; diff --git a/flutter_bird_image_server/vercel.json b/flutter_bird_image_server/vercel.json new file mode 100644 index 0000000..523abc1 --- /dev/null +++ b/flutter_bird_image_server/vercel.json @@ -0,0 +1,9 @@ +{ + "version": 2, + "builds": [ + { "src": "server.js", "use": "@vercel/node" } + ], + "routes": [ + { "src": "/(.*)", "dest": "server.js" } + ] + } diff --git a/flutter_bird_skins/scripts/create_data.js b/flutter_bird_skins/scripts/create_data.js deleted file mode 100644 index c907a0a..0000000 --- a/flutter_bird_skins/scripts/create_data.js +++ /dev/null @@ -1,21 +0,0 @@ -const {generateImage} = require("./generate_image") -const {generateMetadata} = require("./generate_metadata") - -// Test data generation -for (let tokenId = 0; tokenId < 1000; tokenId++) { - - // Generate random metadata - const skinMetadata = generateMetadata(tokenId) - - if (skinMetadata == null) continue - - // Create image from metadata - generateImage( - tokenId, - skinMetadata.attributes[0]['value'], - skinMetadata.attributes[1]['value'], - skinMetadata.attributes[2]['value'], - skinMetadata.attributes[3]['value'], - skinMetadata.attributes[4]['value'], - ) -} \ No newline at end of file diff --git a/flutter_bird_skins/scripts/generate_image.js b/flutter_bird_skins/scripts/generate_image.js deleted file mode 100644 index e233df9..0000000 --- a/flutter_bird_skins/scripts/generate_image.js +++ /dev/null @@ -1,60 +0,0 @@ -const fs = require("fs"); -const {createCanvas, loadImage} = require("canvas"); - -const imageSize = { - width: 750, - height: 750 -}; - -async function generateImage(tokenId, bird, head, eyes, mouth, neck) { - - // Create Canvas - const canvas = createCanvas(imageSize.width, imageSize.height); - const context = canvas.getContext("2d"); - - const outputDirectory = "../output/images" - const birdDirectory = "../input/layers/bird" - const headDirectory = "../input/layers/head" - const eyesDirectory = "../input/layers/eyes" - const mouthDirectory = "../input/layers/mouth" - const neckDirectory = "../input/layers/neck" - - // Draw bird first - const birdImage = await loadImage(`${birdDirectory}/${bird}.png`); - context.drawImage(birdImage, 0, 0, imageSize.width, imageSize.height); - - // Draw neck - if (neck != null && neck !== "") { - const neckImage = await loadImage(`${neckDirectory}/${neck}.png`); - context.drawImage(neckImage, 0, 0, imageSize.width, imageSize.height); - } - - // Draw mouth - if (mouth != null && mouth !== "") { - const mouthImage = await loadImage(`${mouthDirectory}/${mouth}.png`); - context.drawImage(mouthImage, 0, 0, imageSize.width, imageSize.height); - } - - // Draw eyes - const eyesImage = await loadImage(`${eyesDirectory}/${eyes}.png`); - context.drawImage(eyesImage, 0, 0, imageSize.width, imageSize.height); - - // Draw head - if (head != null && head !== "") { - const headImage = await loadImage(`${headDirectory}/${head}.png`); - context.drawImage(headImage, 0, 0, imageSize.width, imageSize.height); - } - - const imageData = canvas.toBuffer("image/png"); - - // Save image as png - const filePath = `${outputDirectory}/${tokenId}.png`; - fs.writeFileSync( - filePath, - imageData - ); - - return filePath; -} - -module.exports = {generateImage} diff --git a/flutter_bird_skins/scripts/generate_metadata.js b/flutter_bird_skins/scripts/generate_metadata.js deleted file mode 100644 index 55d64c3..0000000 --- a/flutter_bird_skins/scripts/generate_metadata.js +++ /dev/null @@ -1,89 +0,0 @@ -const fs = require('fs') -const traits = require("../input/traits.json"); - -function getRandomWeightedTrait(traitList, guaranteed = false) { - - // Calculate total weights - let totalWeight = 0; - traitList.forEach(function (trait) { - if (!guaranteed || (trait.name !== "none" && trait.name !== "default")) { - totalWeight += trait.weight - } - }) - - // Get random number - const randomNumber = Math.random() * totalWeight - let weightCounter = 0; - - // Find trait for random number - for (const trait of traitList) { - if (guaranteed && (trait.name === "none" || trait.name === "default")) - continue - - weightCounter += trait.weight - if (weightCounter >= randomNumber) { - if (trait.name === "none") - return null; - return trait.name - } - } -} - - -function generateMetadata(tokenId) { - console.log('Creating metadata for skin ' + tokenId) - - const filename = '../output/metadata/' + tokenId.toString() + '.json' - - // Check if metadata exists already - if (fs.existsSync(filename)) { - console.log('Metadata for skin with tokenId ' + tokenId + ' already exists') - return JSON.parse(fs.readFileSync(filename)) - } - - // Generate random metadata - const skinTemplate = require('../input/metadata_template.json'); - - // Clone object - const skinMetadata = Object.assign({}, JSON.parse(JSON.stringify(skinTemplate))); - - const birdList = traits.bird; - const headList = traits.head; - const eyesList = traits.eyes; - const mouthList = traits.mouth; - const neckList = traits.neck; - - // Prevent default bird from being generated - let guaranteedTrait = -1 - const randomBird = getRandomWeightedTrait(birdList) - if (randomBird === 'default') guaranteedTrait = Math.floor(Math.random() * 4) - - // Have a 2/3 change of at least one trait being empty - let guaranteedNotTrait = Math.floor(Math.random() * 6) - if (guaranteedTrait === guaranteedNotTrait) guaranteedNotTrait = -1; - - const randomHead = guaranteedNotTrait === 0 ? null : getRandomWeightedTrait(headList, guaranteedTrait === 0) - const randomEyes = guaranteedNotTrait === 1 ? "default" : getRandomWeightedTrait(eyesList, guaranteedTrait === 1) - const randomMouth = guaranteedNotTrait === 2 ? null : getRandomWeightedTrait(mouthList, guaranteedTrait === 2) - const randomNeck = guaranteedNotTrait === 3 ? null : getRandomWeightedTrait(neckList, guaranteedTrait === 3) - - skinMetadata['name'] = 'Flutter Bird #' + tokenId.toString() - skinMetadata['attributes'][0]['value'] = randomBird.toLowerCase() - if (randomHead != null) - skinMetadata['attributes'][1]['value'] = randomHead.toLowerCase() - skinMetadata['attributes'][2]['value'] = randomEyes.toLowerCase() - if (randomMouth != null) - skinMetadata['attributes'][3]['value'] = randomMouth.toLowerCase() - if (randomNeck != null) - skinMetadata['attributes'][4]['value'] = randomNeck.toLowerCase() - - - // Write metadata to json file - - const data = JSON.stringify(skinMetadata) - fs.writeFileSync(filename, data) - - return skinMetadata; -} - -module.exports = {generateMetadata} diff --git a/flutter_bird_skins/scripts/mint_random_skin.js b/flutter_bird_skins/scripts/mint_random_skin.js deleted file mode 100644 index 05298b6..0000000 --- a/flutter_bird_skins/scripts/mint_random_skin.js +++ /dev/null @@ -1,50 +0,0 @@ -const FlutterBirdSkins = artifacts.require("FlutterBirdSkins"); - - -/** - * This function mints a random Flutter Bird Skin - */ -module.exports = async callback => { - const flutterBirdSkins = await FlutterBirdSkins.deployed() - console.log('Minting a random Flutter Bird Skin on contract:', flutterBirdSkins.address) - - // Get minted status list of all tokens - const mintedStatusList = await flutterBirdSkins.getMintedTokenList(); - // Get random unminted token - const unmintedTokenId = getUnmintedTokenId(mintedStatusList); - - if (unmintedTokenId === undefined) { - console.log("No unminted token available. All tokenIds have been minted.") - return; - } - - const tx = await flutterBirdSkins.mintSkin(unmintedTokenId, {value: ethToWei(0.01)}) - - console.log("Minting successful\nToken ID of new Skin: " + unmintedTokenId); - - callback(tx.tx) -} - - -/** - * Converts eth to wei - */ -function ethToWei(ethValue) { - return ethValue * 1_000_000_000_000_000_000; -} - - -/** - * - * @param mintedStatusList array of boolean values whether the skin at that index has been minted - * @returns int a random tokenId of an unminted token - */ -function getUnmintedTokenId(mintedStatusList) { - let tokenIds = []; - for (let i = 0; i < mintedStatusList.length; i++) { - if (!mintedStatusList[i]) { - tokenIds.push(i); - } - } - return tokenIds[Math.floor(Math.random() * tokenIds.length)]; -} From 47ab529fe8c80de414dd77c1287e3c251244af7d Mon Sep 17 00:00:00 2001 From: shiki-tak Date: Fri, 19 Jul 2024 14:59:13 +0900 Subject: [PATCH 2/5] chore: remove flutter_bird_skins scripts --- .../input/layers/bird/black.png | Bin 4423 -> 0 bytes flutter_bird_skins/input/layers/bird/blue.png | Bin 4499 -> 0 bytes flutter_bird_skins/input/layers/bird/cyan.png | Bin 4485 -> 0 bytes .../input/layers/bird/default.png | Bin 4478 -> 0 bytes flutter_bird_skins/input/layers/bird/gold.png | Bin 4525 -> 0 bytes .../input/layers/bird/green.png | Bin 4483 -> 0 bytes .../input/layers/bird/orange.png | Bin 4477 -> 0 bytes flutter_bird_skins/input/layers/bird/pink.png | Bin 4480 -> 0 bytes .../input/layers/bird/purple.png | Bin 4481 -> 0 bytes .../input/layers/bird/rainbow.png | Bin 4538 -> 0 bytes flutter_bird_skins/input/layers/bird/red.png | Bin 4482 -> 0 bytes .../input/layers/bird/white.png | Bin 4485 -> 0 bytes .../input/layers/eyes/3d_glasses.png | Bin 5408 -> 0 bytes .../input/layers/eyes/default.png | Bin 4027 -> 0 bytes .../input/layers/eyes/heart.png | Bin 4400 -> 0 bytes .../input/layers/eyes/nerd_glasses.png | Bin 11758 -> 0 bytes .../input/layers/eyes/rainbow_glasses.png | Bin 5691 -> 0 bytes .../input/layers/eyes/thug_glasses.png | Bin 3371 -> 0 bytes .../input/layers/head/beanie.png | Bin 3365 -> 0 bytes .../input/layers/head/bucket_hat.png | Bin 3549 -> 0 bytes .../input/layers/head/cap_blue.png | Bin 4252 -> 0 bytes .../input/layers/head/cap_red.png | Bin 4246 -> 0 bytes .../input/layers/head/cowboy.png | Bin 2974 -> 0 bytes .../input/layers/head/crown.png | Bin 3237 -> 0 bytes .../input/layers/head/cylinder.png | Bin 4217 -> 0 bytes .../input/layers/head/flowers.png | Bin 18209 -> 0 bytes .../input/layers/head/headphones_blue.png | Bin 4126 -> 0 bytes .../input/layers/head/headphones_gray.png | Bin 4116 -> 0 bytes .../input/layers/head/headphones_green.png | Bin 4149 -> 0 bytes .../input/layers/head/headphones_orange.png | Bin 4134 -> 0 bytes .../input/layers/head/headphones_red.png | Bin 4140 -> 0 bytes .../input/layers/head/party.png | Bin 3285 -> 0 bytes .../input/layers/head/wizard.png | Bin 3467 -> 0 bytes .../input/layers/mouth/cigarette.png | Bin 2917 -> 0 bytes .../input/layers/mouth/flower.png | Bin 8137 -> 0 bytes .../input/layers/mouth/mask.png | Bin 5299 -> 0 bytes .../input/layers/mouth/party_horn.png | Bin 6602 -> 0 bytes .../input/layers/mouth/pipe.png | Bin 4866 -> 0 bytes .../input/layers/mouth/tongue.png | Bin 4930 -> 0 bytes .../input/layers/mouth/whistle_blue.png | Bin 6147 -> 0 bytes .../input/layers/mouth/whistle_green.png | Bin 6163 -> 0 bytes .../input/layers/mouth/whistle_orange.png | Bin 6109 -> 0 bytes .../input/layers/mouth/whistle_red.png | Bin 6093 -> 0 bytes .../input/layers/neck/bronze_chain.png | Bin 3717 -> 0 bytes .../input/layers/neck/gold_chain.png | Bin 3673 -> 0 bytes .../input/layers/neck/silver_chain.png | Bin 3731 -> 0 bytes .../input/layers/neck/tie_blue.png | Bin 5556 -> 0 bytes .../input/layers/neck/tie_green.png | Bin 5508 -> 0 bytes .../input/layers/neck/tie_orange.png | Bin 5566 -> 0 bytes .../input/layers/neck/tie_pink.png | Bin 5595 -> 0 bytes .../input/layers/neck/tie_red.png | Bin 5489 -> 0 bytes .../input/layers/neck/tie_white.png | Bin 5666 -> 0 bytes .../input/metadata_template.json | 28 --- flutter_bird_skins/input/traits.json | 232 ------------------ .../scripts/update_image_url.js | 27 -- 55 files changed, 287 deletions(-) delete mode 100644 flutter_bird_skins/input/layers/bird/black.png delete mode 100644 flutter_bird_skins/input/layers/bird/blue.png delete mode 100644 flutter_bird_skins/input/layers/bird/cyan.png delete mode 100644 flutter_bird_skins/input/layers/bird/default.png delete mode 100644 flutter_bird_skins/input/layers/bird/gold.png delete mode 100644 flutter_bird_skins/input/layers/bird/green.png delete mode 100644 flutter_bird_skins/input/layers/bird/orange.png delete mode 100644 flutter_bird_skins/input/layers/bird/pink.png delete mode 100644 flutter_bird_skins/input/layers/bird/purple.png delete mode 100644 flutter_bird_skins/input/layers/bird/rainbow.png delete mode 100644 flutter_bird_skins/input/layers/bird/red.png delete mode 100644 flutter_bird_skins/input/layers/bird/white.png delete mode 100644 flutter_bird_skins/input/layers/eyes/3d_glasses.png delete mode 100644 flutter_bird_skins/input/layers/eyes/default.png delete mode 100644 flutter_bird_skins/input/layers/eyes/heart.png delete mode 100644 flutter_bird_skins/input/layers/eyes/nerd_glasses.png delete mode 100644 flutter_bird_skins/input/layers/eyes/rainbow_glasses.png delete mode 100644 flutter_bird_skins/input/layers/eyes/thug_glasses.png delete mode 100644 flutter_bird_skins/input/layers/head/beanie.png delete mode 100644 flutter_bird_skins/input/layers/head/bucket_hat.png delete mode 100644 flutter_bird_skins/input/layers/head/cap_blue.png delete mode 100644 flutter_bird_skins/input/layers/head/cap_red.png delete mode 100644 flutter_bird_skins/input/layers/head/cowboy.png delete mode 100644 flutter_bird_skins/input/layers/head/crown.png delete mode 100644 flutter_bird_skins/input/layers/head/cylinder.png delete mode 100644 flutter_bird_skins/input/layers/head/flowers.png delete mode 100644 flutter_bird_skins/input/layers/head/headphones_blue.png delete mode 100644 flutter_bird_skins/input/layers/head/headphones_gray.png delete mode 100644 flutter_bird_skins/input/layers/head/headphones_green.png delete mode 100644 flutter_bird_skins/input/layers/head/headphones_orange.png delete mode 100644 flutter_bird_skins/input/layers/head/headphones_red.png delete mode 100644 flutter_bird_skins/input/layers/head/party.png delete mode 100644 flutter_bird_skins/input/layers/head/wizard.png delete mode 100644 flutter_bird_skins/input/layers/mouth/cigarette.png delete mode 100644 flutter_bird_skins/input/layers/mouth/flower.png delete mode 100644 flutter_bird_skins/input/layers/mouth/mask.png delete mode 100644 flutter_bird_skins/input/layers/mouth/party_horn.png delete mode 100644 flutter_bird_skins/input/layers/mouth/pipe.png delete mode 100644 flutter_bird_skins/input/layers/mouth/tongue.png delete mode 100644 flutter_bird_skins/input/layers/mouth/whistle_blue.png delete mode 100644 flutter_bird_skins/input/layers/mouth/whistle_green.png delete mode 100644 flutter_bird_skins/input/layers/mouth/whistle_orange.png delete mode 100644 flutter_bird_skins/input/layers/mouth/whistle_red.png delete mode 100644 flutter_bird_skins/input/layers/neck/bronze_chain.png delete mode 100644 flutter_bird_skins/input/layers/neck/gold_chain.png delete mode 100644 flutter_bird_skins/input/layers/neck/silver_chain.png delete mode 100644 flutter_bird_skins/input/layers/neck/tie_blue.png delete mode 100644 flutter_bird_skins/input/layers/neck/tie_green.png delete mode 100644 flutter_bird_skins/input/layers/neck/tie_orange.png delete mode 100644 flutter_bird_skins/input/layers/neck/tie_pink.png delete mode 100644 flutter_bird_skins/input/layers/neck/tie_red.png delete mode 100644 flutter_bird_skins/input/layers/neck/tie_white.png delete mode 100644 flutter_bird_skins/input/metadata_template.json delete mode 100644 flutter_bird_skins/input/traits.json delete mode 100644 flutter_bird_skins/scripts/update_image_url.js diff --git a/flutter_bird_skins/input/layers/bird/black.png b/flutter_bird_skins/input/layers/bird/black.png deleted file mode 100644 index 22d571ce5109da2b21668b67a1db0d6611627c6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4423 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`fh(Rajv*Cu-riW4cRO6B z?cqP&W=~GjHHWlZAGRJ-P21TRdoyprnUoa=HUuS##_+bOU7E00d&V_aTf54+&v!Q7 zUv9B2Ztl~=+x6cwFf?4xHLV6({Na9!H3I_+M>zunhXBy60t$B+85A6LFf%wb6tFWi zFg)aAU|>8X3-raP!qMOvO%$V9VYH+e4&`ISc{zp;o5OD3&HToucmCss__Tb6AChqc zSNd<5XUiawzxD3iwEPF3Y;0`L&imkfCoZ1V@=l>})|95Pu z#qs9{SATkW?)&4lk-6o|FPitY|26u>7BY|-{``hBX2I{(s~>{h`iFz(!O?+hQ@*~*{9q|K%#OYN4RWsc#vHTF>M3*N zmJ_Seg6FU^c{z? zi|R{FtC{v>4rIct`SC6F8(YO?aLL#fpLjDT&Hup}zkXnrE=W6mxNhcN#(PEs9)953 z?T09&_&)bK=wCUb)}Ddu;w0EsGZaXI(qA<*L(D)1&uEWtw4Xbmz5D+RC*8B;o8$K! R0FFg4c)I$ztaD0e0szGeFX{jQ diff --git a/flutter_bird_skins/input/layers/bird/blue.png b/flutter_bird_skins/input/layers/bird/blue.png deleted file mode 100644 index abe09c14b772fcd2b29a5836ab2324e72b030ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4499 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K?P42$B>FSZ*Lf8-AbGCmi&;=jvw^%bUuyB+!FmMO}9W9`6hmk?S zVFxpVLqh>OLj%J@J_ZKHL$W~cj4B)rp3y`xniWP%is4W`M)=e+9QZy`<9qKZ~|X?=1v6v#RO;!*|b;ejI!I_wR?^+K&?TtHDnF3~{Q@>F$B6 zVa0;w8SJz6#k^g%Z{Z`bBTxRk`hj=f{paWBx9889H;?cB4e{;YzaKU~*Vo_vUo8)q z4qos+xL;W~V0Hh2q*u&0{69a=%V#Aupe-9u2z{_|3>BWm5z^=AqVy+m#)cNM=@z*Q! z8`QI*nd)};_Tc#wKE64<`=RuEdAYXy7&%$q`wu=qO4I|vPX{q82M%mV0JnaSGQ;0FE)z|P;URqYkzpVc>Z#`M)z;P z&;&U-7hEeHQ2hL8z&arfN3XCSSa>_{+UAw{KP2brf~w00g>O&)*K=qcz>tF!M7PgY snSJGD*l>Q&Xn$?AmpVc_@qd`D^=rc&b{?7n9L`|yboFyt=akR{05EY=`v3p{ diff --git a/flutter_bird_skins/input/layers/bird/cyan.png b/flutter_bird_skins/input/layers/bird/cyan.png deleted file mode 100644 index ccb49c9931f3d751076f31961730b5fb52dd3a6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4485 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K_O2U$B>FSZ*Lf8MQ2L5 zJ)9U|n2?)Tke+jCdB`o3SDP61RYJuk@h%BAo_bJ=J%(*HZ}76IiCURq20g-`e*f|~ zzq#@I;YYI$+wZR0@tc={q2lhdV0obBf9xOfF)%P5k_9@o#hQVEg`=E-fkOc3ash=q zj0_46JD3?98VcAM8W=_ujt0+Yq8QBzqb0>~C?Cau#s7zx&sTq0eC3@p?{Jy%>|bmR z&p$jGu-c&E=oNN`$7jP|KfYrAhimuWzgN^#V)XCx-mkdxzCC|W%j~B`KfV{<$V*#n z-f;Q((SfV5x>xcy6r0Dd?O$wO_WSom;Xe(ppYDDr-T(XVhu+|iLiMXbE-kNvxHPk} zaKP%$14*x#AEZMHEib&Hyvli(X(}m)^@58aHswI|E=N6jY?=V zM^!)bejJ;=eECD^IrI6&#SfeF0n_FW4xR@CnC~~QZr{B!zacz(UzGgveG8Mm|9lK8 zqVCs8?fdxjW#*4#?cLoV_d?3j0Z*$1@5<)e`_(e(zfrCG%)fnpTYgPtmDIk2uRlF} zl=MpY!J2_Anclp5nD#rSOng1YFcH8WmSIima2M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`L2geM$B>FSZ*Lf8-A+6?1 z-+AEsbPpr>dpGZ1KAg|MaNxDs{9i!3AN=PmXJFtE0J>B_;SM8%g2N7G28V_Mc7_Iq zhkOhSjE7`_erT~~U|``GRX7?vqlscPD~y&D!=QZJFyj|P!}M9}&6lstfAC4B{PxW& z<_vpU#0RdB*I8!AAd$cC-kfFo9){nrms@71nEW-*vL^ZeADf!TGGXTChwJ5!-z_t% zV%|{`H*j?oDCBmOeg68)q$>G;g@o-v{)oNNeD`nI+wd3o2L|a2 z-h`+DcIl5ukW0Vvimom{{ZRV%@xvc@)gikHQ^h{tPaLa$Qzg7+$xRutxG*BV2kC9>h)B#SPJ9vKQ&u`CPb8nCA zzK!)ZF-MNQ`d9bk*!}o@Jok6(-7C9~G2r3Rfom~!ujFr-|Ly(skJ9_^_k$CoO~uB) zj}w0!dv)*q<6CF0&%XSk_i>)J^j^l$0Zf+$yQ`~a{9^l|3C%?3;}@&z9edSp-=6yUmE=TT(Mu~|N95OAO-1x?56{q3bMEVubAbHDc1r{rQ9MGlb{D3i^5*pIWB$ZNE0m0XY{K(aZKRuA4c4`TWegd2&EE>|lTt zoO7-hZlCL0%Y4A}M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K`T!e$B>FSZ*OeON=}z+ ze`wj=J*AkDnU7`8p}Dt8RxK+vY`m=V#B9njUzfbZ)r}_XW=FRKue^Qf)t&T&8&;`S zZ$))H+3Kz8o<85%ct75wV|xCsN{c;A3=H$O*RQDsy5ht07Hb9u7LIZT1`YwB!vz%X zFfu4O>|kbaXeeN3Xkd8A$H2gNNEYa&QH7(yGnyzyv%+XeF&xUr9Z|m-8un*xzCG{S zzQ)tVcjT9C&1d+by=UM`{s&oanHxTu?S7m2R(jr{Pj@BV_E{c2CV6Im&;1CyxFhFZ zUHwxg_0O^I_hFMN<{dS016NTQ+_jOpwvRDx%h|kYsl6L(%&Q*y?2G)}u-x#!QC;#+ zi$Cc{?;Gr&+ms1Lkz%Whx3Wgc?ozvTXne~SMci>%rGjnV({<>mf| z&DX78-<}`S_4M(N{i}bzHK}>B!`^4HdBgwn-2>M!Sa;2?;q;c9x&DjIr}6hMR{tUW zZ1?Sl(x?3ot1~>f`RUPswMiOQZ{=suJN)Tk;g4fA<<>RHmG$*)y$^-gKa<}lx9{WU z{dLm&3Tta^YnT@t8rbk-*mpy||FQYLU9$TNHP3yljp@4nzRh1p{#gE*@_7FH4=QiI z*|z+m^zpxmQhOOg2R<|HJCU~Cw)bAdwEF&eJ0w2;`TL>w>0clbzW#pieT(Lw@5+80 z`&9XdP5=C#XTZQOte?@=e}G}&-92wDun>s)-PQ$k?T?Aq-yh4La}b;|e%jO}*L}9A zX`cQZn4_}qGn}6)K5(t;z>GXOK44(!-vTCwwY7(XBkXMYQ@MT z?$3@tuv7MXJFuR3p!#_L3xk)>9&Y%?dw}%@Fe`1%f3OEwHEsFE%b?#mfD!Fu&fgBK t$r%{_wG5yuM*EYaz371)J81aNxW&Hi?D477_5!m4gQu&X%Q~loCIEWHX2Ade diff --git a/flutter_bird_skins/input/layers/bird/green.png b/flutter_bird_skins/input/layers/bird/green.png deleted file mode 100644 index 5b286e04a3ffd9626f3a85a26b48adb5f17749ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4483 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K><$}$B>FSZ*M5(&5o34 zySOpcV3PA`Bd%_dR&lB6Gg6r&UBWNARxqckH8b&Oi-sM%+A{UnC57s+0N<#m&(1%d zv$^qmcCLH>yEmU+-<4-zIPltR{x6{A5B_tOGca%n0G%qJaEFmW!C?n8gF{0BJ3|A* zLp}xu#zV3|PqbJwFtBipDjW@-(L^zt6-G;nVNgD9nDL9DVfn1}*N(5ufAB@7?Dowo z<_tEi;saO6>nyWlkjUQ`CBJ;%L(4h&--72)_*k%8W?$j|9~L!_Rb%GP<^5j^a_9@* z2VW`+2dsuVko1cA!P?otkh>`TeD>cLoOK5ezb*Q4?C;~pA9{m73jGfcPftHw|GfQf znOPO{jA;WLq;=P8w%YmCIv)i)@@JZTP4n{K|Nj2|(A(YJ{ZM-OqkkU@e;m7d^X7;B zoe(Ggu+$&8=0Jo`EyMCmU@CCWzw`fxQB_lX!Pj?xKlFY+Tla&FVNY1xz%^1pS>}NW z$W=9uU)}xv5ET2KIW;@>$?g02eS7|4b3Hx1wtR+=iUCfW+yDN~{c~*o^~dIZN4;z0 zY;J-g{qfQY|gj)ZO#|Akb%rYpl0Y5^8@)a!P)5h{~R~}IX$cQ=e6ep zbN*qV!@;Tb`QG!*&&xN<{J(4aX4~e6$_5Psn3>M#?Z4++%e*J*^VMG#UwK7O_y1n$ zf8s`c6yNX?tN|f{aLf0{&+9?p?CnZk-_diRpwuLKP)>N{`&D1bDQ?3$NyeY|8VHr{At1S z4{%!pV|rzN!}c@X1J}|L3zlcdzni#yu5az(;v0}UGIj2$a`6R+2G~_|+79Pg&;G^6 tV39h2Q8?OD9I)2MFlc&GA@%%Y-qhJ(AeW-G95{x-;OXk;vd$@?2>@*VQ=R|- diff --git a/flutter_bird_skins/input/layers/bird/orange.png b/flutter_bird_skins/input/layers/bird/orange.png deleted file mode 100644 index 8c265ed3ded04154eee70295db64fcc76832fde0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4477 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 diff --git a/flutter_bird_skins/input/layers/bird/rainbow.png b/flutter_bird_skins/input/layers/bird/rainbow.png deleted file mode 100644 index d2c8444c879d95644a837ef0a52e481daa475ace..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`L3d9V$B>FSZ*Lg(%?_1l z3(VQ+&~7u3!x@iDcyFu&rKjitA2*>mgO8)JI#yRM+YT-dw}LcroVx z=ZbST5B$!2vr+Eu&C~qv_cJjt$Zh|5g&k=Bf4?2f3=Rzi>e+f3V!byxC$x3@GIkoD`(%EProSr`*P-&Bc*$0{%UC7Sob~W$FYAEGW!a( z*L~a`1#<5B^I+#1=;{w#O&Z}-%TTlO=ig^WUwK7er=M@jf3x43_x_G9^Y9xL=5>z> zEO_omtPMMCo_7@F_>FOT?f=#0mEXSkg7?Av%EAF_8yrY_#k|88lt#ZC`*;4noBs#< zHS_DOYm)!J&iui~U=tQMaHa8v8NV1Fn7#S`C-=v(Uq81WHn)@aKWx5l*P&ytpRRr= zy}#yVn;#JW{rd5b-u3al_jib1|6!AN1bPrssRV-MZA^z2#+vnW!*Tm=O zEe7VK=Z`ag9J_n__7975_PXu)Z^D78;`QOgA8h{TP3vwiJT<_s^}h>r;45J{P-3{E zZqwm!AD8^pq9(C6g75x~^}w>ABIa8A;VbF~COmdK II;Vst01=mS2LJ#7 diff --git a/flutter_bird_skins/input/layers/bird/red.png b/flutter_bird_skins/input/layers/bird/red.png deleted file mode 100644 index 86bb7385875e7375b15b95544ca71df73b21845c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4482 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`L4Hpc$B>FSZ*Lf8MQ2L5 zJ)9U|sIXnLd3S@y{Gd{U6`$GClr=X^yxCywI76%TRO1xK(iui;^?g*&avf4p+`q2> zkBxMNeU7)?pYHJacK?7*vdKNYlOJgNzxf613=Iqq`4|`&56J=@++xkZz`{|^z`!8@ zbiaVY9YzKPhaJoe4h^FUM}ucHQH*AV(UM{~l#i={#s81E({JC|eCLgse>rjgjNfbx z?;jo=xHV4dN>&_jX|8wT^{XY7F zHz6)=;407!vwk!Dh=fG3==axOKlHX|O6@!N{r9J*r$6-GzJ2?l^z}zSepu8b7Z)4< zvHnARI*j(wbO@9rN1 zwUk)mv z?ybFk*u1a2{II#1yd4kFv6jFRYG;1K@>AUd*N_e?mS;GB_jl&3-z<7>g!X?v+s+Sl zWJQ$T$8y%1+2RA&z}JbZ{bli;_rn@cHos&3hYK8#J2sTR{(48fAaVKOIzyoBoPo^h zkFGB7FTT$Z)A+QkeBN(1z1P5!@!3Ac2bLcPHghvve+Y32!@8LR7=xp|!_hwRKn@u+ b{AX~S&^l@V1-XO35ex=TS3j3^P6M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`K_O2U$B>FSZ*MHjo1HGv z_VA|Bj42nGnl*KTOypk3G)5+z?8{lQ;Y^A~5RWcv*ukp}j+silH?5m8Gq38`=RM!$ z_nQ~;SM8%g2N7G z28V_Mc7_IqhkOhSjH3!igJ(2RjAn(=l43ZNk2=fj7#=Krw)$(~D`^Yc_P1$fUwIky zA08dJ+Ms(SKf|%v>#rSOng2tw?DyX*>M1e$(+``=&7aqnzo%{W=g$xK_a81Zmfp)a z$4-CXs;LN{T82I4pRfM1s7l^`zkl8XYlJiBbY1_kX5G2-?f=j5-#(l3h0Q>BfL;1$ z#m}tTIltPvUOz4RaV&4Y{Jw*yYybW#{c-H*(W4)FgFpWGVp8+?)t{Ol^^X#F&+NU& z@Nc&Gz%>Mb$+F?HN&MRW#pZJR-@5sKkX>h|)1Lq4+wX_c3?ITO3kR$@av!ub=)n|7yK{d|Q4@ObpL`h7}(k4Om;L;pi3i1N^_ApZ?JsUoXGE zP%G~7?*~VLIq3t?nMFU?@=w=nwd=cQkz>C3qIAI10nF-~Pq*)0ncpC91c~VX|BAmH zIl1H4+x~~ryZ_exIJR;}oL+l=ODckvvmZ*&pFh7n|IWO*y!RjcwFHJQ&~w{Qbq`#lS}a(e;r-p^ zzkjdve=v3LvGTg=V&j^}pFe;8z>9(%Zsetbq-PFbNpwa}{@t>Dj24WblKw02o^`;g2N?Yg-;WGn zxPjtzP8-A}3>K*am>WjBhyzv=jrPewjnsdv!atgJAC>Al0vyI*@O1TaS?83{1OOT= BP5%G@ diff --git a/flutter_bird_skins/input/layers/eyes/3d_glasses.png b/flutter_bird_skins/input/layers/eyes/3d_glasses.png deleted file mode 100644 index b41545f7e482908479ef6284b41c657f70653ae7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5408 zcmeI0TTt3(7Qp|;O*N&_Y;7vWD4A`uHceu+ULqQ>yQXV1+33!uX-pK*{8tz+5%3Ze z1d^t^#tFy+lSJcfO{d=QQkPY{px6+hMufz~3ksrQB#MHlARx$+&d$Ep_vPWtH}lQ+ zaBkl@zjI3ek`RCJ-6QV;0C4d9SLgl;0Q+=r#q%BKjUj;j%y}Fje04Ps0K9~6#Z8QF z{G0RAFaOJ={7ZOjJ}E6X9UzfN!5KMOd0-kLJs6*htJIx60stShoSS;BH=J~09$S8$R5yF~pOx;v{TkYMw{epevi>K+?1|MU zoZE3HK6(7DGl(I=CvT{kdy**sy zsi|HRTcl;R(Qp8`l{GWn?CaFF{s0L8JP$cdJ9JFp1|0jM+a37g7Qq9!1EXZDVk9eWqxY+e8vtQK-9 zCzC|Ou1aUSRwCL?KE#-xK-D@sSuwP>RwB~r`ge?c?VvX!bfA0XcsH`>vJ*!3)SZJ< z_Z^!zQRq7_jB&icYsSF#A-2Qp@vsX+-VNZ)g5$F^^Lm`1P*aUh8Y6Coin9GY?6V+i zEoEA6*-fw7e}zr(IF`0~P__NQy)wS6mCTyFegoVLQ~#j3(l2_}ZxH!wNCEH-(`CIO z_e@JGf}DZFjb{yh-0lRWUjvFcO}BfC)K>(h_pTgA|3n2DGbU{sx6{}VnL|_eH1#BV z1xz6c>IHo=x3h!W5joKy?fsWMGqTw3MW0mq);RQ?@gI(^=Afdxsmt0RQ&vOzj&yXC z9;o7fuZ?%3Mk~W)ZVrA!u6l) z44_Z^S`Cd%cZe?Ng9My>J8h>MkFZ1a^+EkxfoMOk*Qg~ZxXr}h2DmBJ=dA7mM{q( z1{SBnZdx#6FDAYJ_4BEu@VxmSh>Hua4RQCdOQ0ke?dP3<&<{?R3oPpkJ=Mw%(`skY z`IkN*L!b~UN<>gz%4<|xSu!5w?;Ct-_b87yDSkboS2i%`ntgPD4JJ;kwy~QkxIsFH zp+h!L+o~tZMl01*k1Lo)!`#paJAQOm%TW(B)y0&RmE^#~b=6RcRSsdxlK(DtVzH&~ zQXDQ(;oyFML>JE*z#T>O7A_6>!eAKd*zT(P&LHRWU#DaH_&IpfR^w)x2B^qWT zmB=8bXJ)bnc5pPixz@fCds^M7Zb+cXUP(}~mQ6vZXlru8-8;6JkhwGvhQkU9bc!v^ zqX(KB6hG_z_`nJ(H7hG~^{E!)frjlR%Ku9{{)a49DDo`4VD9;6iOg)2ZKG0Zx5vY( z9_?)XQA_qmz z0pZD~l?^zGxkUrocA+5kg+xEV zG~yoo_&)!!+;A!AO20cW*~Ha5)O0^k!DVpE915`@H+A#pj`XTdRgL+c$|kuFk?|=f zN=C7I)Wm4hNd9CZb$tV>{>NoK@vvRFEU+&owvZ1D^zW(I`i8g>j1tj9aq-!R&`!80 zD!Sm+#1O8wQlGtc3fEzeP|2?qhQ8pX_<>a_VcLaWWae^B6_ZF9zmRgek7CK5`!vtZ z2RK<^veUO9paj{mf@pKAMeJ$>rjI!2ecdM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`eh*I<$B>FSZ*OemJ>($Z z>Uge5cZwr>$m=-=EOjNl8je`W&B{!u|FPxqubLPJhKBpw&d33cu2H+g$e`e`gPFmh zp@5yCf#D$^0|VnBS)jXGtQijFuFm<>P3rKxw6U z?Itrr!m_7j^>b?<-`HOGjrYO-pCh*xK44YNz;LGI&FvX`86Qa7jTW+_h3se{J6gz6 lTF8!eVMaS{B=&0?%#AzwSY19^8v}dC44$rjF6*2UngF`9Gr|A> diff --git a/flutter_bird_skins/input/layers/eyes/heart.png b/flutter_bird_skins/input/layers/eyes/heart.png deleted file mode 100644 index a2c397c55a8218210d06ac1dd0578b25053eed44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4400 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 If4}{I0BLa3aR2}S diff --git a/flutter_bird_skins/input/layers/eyes/rainbow_glasses.png b/flutter_bird_skins/input/layers/eyes/rainbow_glasses.png deleted file mode 100644 index ba6fd267ebd0945ae56b7553c4f77dc64e8b2bdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5691 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 UYg0I8_kq0V>FVdQ&MBb@08F4s8UO$Q diff --git a/flutter_bird_skins/input/layers/head/bucket_hat.png b/flutter_bird_skins/input/layers/head/bucket_hat.png deleted file mode 100644 index 5d61e0dc1404c7d17adaf94d36bed3868fb9a3b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3549 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8!4cPS)MMAAr*7p-Z0DyNtbB5 zIP=EQDOXH56wheI>?nMidSMgSERzc^i#jfCX4DGau^^c>S?RQqYgxh4i9tT6rZgO_ ze{b__4)31%wiOj$)`tOY9R(va1P(Mt>en(H_-lkSs7=Q&r*XrTh)?cYoeY z+y904%Cr^?icX*@Q60Chtqk8gwyaC7{kA-ex(@KJpPtvUX#qHKd<-x zj(w8*4cogfPhRT(L-XF=N(uQBWwStmTA(q2f%>50CG&#`wzZoi_Z3!em)=)cYh065 zT3BUNm%=7*S1Y*>7N%?4`xy+h_34;T&_X%_n33;XzkR*`+hX&)_hpOK!>*ejRu2I%>rldfey}nK<6DcpJ#73Gcozckyr2Q_wn5S@#9~{k7K|HKkUx% zz@f5`hUE)dxSe6KTvC1U$f~8r~T30=H`dZw_VP&tzlu1IMqEM*BvJdhP4~mw!2;v+eSe_W}$*)CM@seXjmmv{`=d$B%z6zUaJKHcRfv{`;Rd zf1H0@MsIx?|D(?g4bD#ou7jT4 diff --git a/flutter_bird_skins/input/layers/head/cap_blue.png b/flutter_bird_skins/input/layers/head/cap_blue.png deleted file mode 100644 index c6e006621614d2ff4e9616ac2a3e1456b1851ea3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4252 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`0ZmUA$B>FSZ*Oe$nw==o z_VC}Ng$s^9nDJ^=bM(UO1?-OmEBRurIQqoyT(&%0nPMtyE!zF%{Bzm$uUYP?D>lx~ zk6I^h540=)_Q@BF3=9WOw^%bUuyB+!FmMO}T`8b&hmk?SVFxpVLqh>OLj%J@J_ZKH zL$W~kk18Aup3y`xniZ&1QgmNrZg{+5@4nmp_YNfLUf+KC1uw(&hjiTd8@}gN z*KU{J+xWP+uFm*(Z+v)s+W)t8zkVjq`pxFhI)IMzIsNtV3*HZDx$ED5TWlT@Gso^s zUGnDWvvtk&+wa#)+bTZ(^d{$<^zl#sBi7|FzbO4+?WacrR&X~QeZlx4>h|m1e_!za z*?4oUoBx9Ydgsrj?Ju<1zxt>B@t;4>zA?9}+dnJKp6Soj0Sr}8lwaRvQ9I-Bv9#^8 z{<6J4uUNPH_@jt@tDi6bo%w}r!TIiis~p7^vmeOLEn9sv9~|3{1?E2%=zF@`>d148 z7Krm0{^{!vT$Mdz+Uw)Mgcj;&SAVzvUH~wj)AnzSx$n1Gp0T0)%m4=5vZucazW|$B z4_M@z%#3GU3}#+ld=1#!XYh3Ob6Mw<&;$S| C5W$!L diff --git a/flutter_bird_skins/input/layers/head/cap_red.png b/flutter_bird_skins/input/layers/head/cap_red.png deleted file mode 100644 index 8a38d0bedc23eff749d899892651ba11543877c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4246 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`0cB4Y$B>FSZ*OeOjrNpq z3$$;(S-eb6#UeH|LGv-aTP@SMeUnkYuI0#!`+vBCcI0B4kF*=wcW zTI?SQ%}?H+dpLj3J{$eT`8K_F3=HpQ3}CE6vIzsj0sV@?(I(4ii*B?XJKB05?c9uZ f=|)&b_6Ps+*G`)sw?}CJd-x2Vu6{1-oD!MM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`Zf#E&$B>FSZ*Lgp-F6Ug z2-FPNzCGaR@A++0^EPh1#8M!6{KKSwXR5_#TohVj_pOW>XznN&4FQTmprQ0#x<14I z-MKyAZ(4syoL~I2{G-+na|HH@7_w*QDA`HzbkhIdjS-fHWt>=66IQ4nqk;vGicFX^3HrU^xW`f2VJ~;EzgTil2 zF_+Db{eC06W8PoW^KlQO-xS|Fe~+<2&YU(Gju`jtn7^0dPs(kH_nXUC+<5-Qma(CA q;KGQaa&J`gXb6mkzz_|A9S!&Q9=E6{veIn@`M}fF&t;ucLK6V{sCtY5 diff --git a/flutter_bird_skins/input/layers/head/crown.png b/flutter_bird_skins/input/layers/head/crown.png deleted file mode 100644 index e59019d1799521244f13ae0c3a3c8aebd374e43d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3237 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`9wSc|$B>FSZ*LgpMY~J5 zU94oZuH+4qW}Niu&C%D7+myt!-r8=c%S&3qDWLwKpkn^Hn+Lvow;bt~WCq$W3g{97 z4gA^BwG0OL>*RjF>3!S%U;X=$biM+c{cG)j*8eC!BnwOqE!GSSEF9$w3>*T$)FGg7 zhmk?SVFxpVLqh>OLj%J@J_ZIxYAS5F{EE3D`NsL=`Fl6kO5T3M%djInj@Fjq_C`Te zEyIEJx9%Uat4^*4I;S`KkIduqFS!}+%n+wvprE^NPMAD{%#qixnAauOOaFc)z3vg) z{NvjV|CfKYIA&JOyx>qbonsBjfqtv`AI$jn`Ns18J$~^Lw@=@Aw*Jlm-n#G_oBqcN z_3{jY0~nhdfGPXm`oA{cUMjD@EYA1%_vu&M>mGl;4J4mber3GAF?Zi`hPqFWsGX>h zf(L(oYRLV{Sa2Q|dJpzj>^peux^#}rljk?$YWx}hJUKcLc@pCM+pm}(%&V0KX3UR2 zbH5#uc>I%1IzE5H!S%ZjrvLl$GV#~3-%lS^b3M=>zz7Cq*E^e!8*aNP{aXT9s2#4D zXa5oCwtpua_r&X6{%^z`MT-G@y GGywp0=ln7N diff --git a/flutter_bird_skins/input/layers/head/cylinder.png b/flutter_bird_skins/input/layers/head/cylinder.png deleted file mode 100644 index 1f1f8abc06cf4e9e863ecc226b6f1c4c055db03b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4217 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 diff --git a/flutter_bird_skins/input/layers/head/headphones_green.png b/flutter_bird_skins/input/layers/head/headphones_green.png deleted file mode 100644 index fca81f3b886390198e12588dbcb199a5a1d5b1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4149 zcmeHIX;2f^8oe<}Q0npqmnR_x>w8rwMJqfI!e-ggz++X}m4<+%Boac{LYS&hz-LR@ zDj_;RAttg|kOv`bVigcbz!XA+5K$lvDTypGECya|f7CyH>gZ4I%$+;)&AD^Gd*+<; zW&Yd4W$PBbEdYS6Zmy2r0Bn%I+S*#0$}A%Hq2}03a6Ll=VB5V{8`6ot`K6|~H_qvF zoDV)Cj(j#21IT2uNmNWUG5jn6V}g&x(&W~90BrAYb3E>wP(1TE6c<85bk2$`dHni7 zl=;tJUDeatQt9XHh&D6$=(3Lf`L8WZ5+GYL2XuDVTDbnNWvj?;&svtpV<8T;SZP9QxByL$t`lbB?|wuKGcZYW=(_Z zYn_3020)rlRpc^A(=T&y5DfY$efi|)t68-#)x%7m5n3xWj2US`0rpo}EUm24#wIB$ zf$HZjD{6&=85+`THT)$|I}n;c*r7><9ccs@NCTHp0BkfEg#ZIEz6}6~HW>hI`$j0R z2Y*8CIZ|j^wxFxMJ)aaRCU7G}yJR){TBousc29p|QY_E(salw;rp20LYAo#Hmlsax zkaX?8>_9|%+)~oT3^KZ%o%t

2^2VrRSYoO5k@>m)TxgMqPzTICA71@H*LC)#v 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 a5Znjov((I_*spgk)E;nlcVg`g{_Yp&-~q4z diff --git a/flutter_bird_skins/input/layers/head/headphones_red.png b/flutter_bird_skins/input/layers/head/headphones_red.png deleted file mode 100644 index e5f6851a803b5f80236e31336556a81d68b5700d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4140 zcmeH|dofOXAX!O_6L|iV!wBe~dr6o$315d(L})=e*}R@9%j& z@AG`W*Zq(lI@^r40RVK4dAgzicu%&rwYI8H6tJwP>W?3Q0lI z09=UNzCY%dKx0>_x4El})^$HU!siy>)#~}Qc(#0b@6b*7?gLt%y8Qi?-ly(2wY4pt zKh(JdDY?Isq3xb8J#?_RqS=dz6y{3nJH>EGEdjIRf$!98TZ(dVGUf70o^2MsKkI#U zew%BPz$O6zc87M(Y5@CxXl~^Ooa{EGa?^+wPp9W2ghF3yie?k46Q=~J#%T21PB+C@ zCGz1xMs|-41=55<*;3T}2)KtZwI1lHML{o>pb1jJmv8|7vUgAe>;)sb0BC5D0nl=; zg#c&pd#E!<3Q6VlKH_pGCNR7nNwjTP(v*%}7+Lh#Mbz@Em5q~#;o%`~>&tEsFLT*! z(RPx)bL2zVIq%L3s=Id?rjlq@I46Fx_mlcV^?r7j6q6JQ?Frs#`Z25QM6jSFJJ7Pt z4OA=!sAcM%lUrAZpEU*Cv);iBTMVN;+i6dY$#k+M^uowx?R~Sp$Scc>PD#pX)=%30 zSy>J9na1ZO(TV8prB_tENgJh<_Uy(_R#te44D5TN{A$~OjwIK3o(~rc^X!J|iNcN! zT5!3sgLRIssfnP!<7>28u}|qqi6H7mHa8#6c&Yq8`#XYWj&-40V%MWvm)##x{w*}U z1PXTL-h@Er4M?gG8BQ(}wT3Wz@(X-a(>zXknx>s3Ix4Y&Qq!n>=_e++o}gzl>bSR3 z0vMLV%p;S9d5eNA^;3wrLti# zhQO_(wUFJvR>I)8<8BonVQ2am76f#65BcNdm+~cS)PpD-*z34qc7Ljw*Ol<*7nxGO zz~lSLcgykjq#q!Tp$$Z2$vEPIQWxZyjOe-&{V!Cn^v(XY@Q%0C`MC5^i5#4fDt_Ma zC+6razy7CaR-@^mVMxX3o}Ulk`9|GybKBztZWXM?l+llynIpHwYs`hNN;kJ zZJthIQ!x$Vt5C%9p$SQ^G_H;r55Jg&I?k*t@LpZ9Lg3v_B%9B}!01MJ+@~TyP?$25 z$zAGUCc()k?^yq!3M#d^tyChTViFsW4#cR#O9z1#vKF%XV|lkxqM|4C6MjU^;Agi@ z5{6l2{2z}-NQ-lKjhld=mSl6t|I+HW^w>ICKW9e)1j9Xs!C8of;hSar>9HB9ILSA% zv6`~9+dsUVFV<+<_qV~T;|2Cs1sNv%fjEZ1(Qz)Z&k6(`*l-r_>O*g? zZ4K>SuNsa+%+N~iq-c5h(U#h+z|wF;w*`fs5N5z8s0awKwArw{^!u2C0y;w((v7Q$ z{piR5XI`^3=OAYvw(2rJUmpt971PLrqw_PAC9&gSn`(0`arG#arkbc~&v+4CLNAFj z9e6MmCnlM}@_tBQne)=@sYL^-{cElDzD%!W%{bZAB39$+t~noj>KJD6RdZSz+xK81 zCj%C`D(>o%#M%xG-WzGzSsI8@Ei2(P1&u?-HmG}*6rRb2!dMBUt7Gl-_4VCq2KdTg@AfuhFOrB)DLuf;B-(+n zQ@{JxE|N-8BG;O1;^yV;p(5T(EpDZM_J7;VYmH8Q?Pgwm6R@(U)7RH7Pf*+2=Gr8% fN#KtNcy%>`nJbxM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`o+M8f$B>FSZ*LfONvF%S zC;HyV>zd;@x1=d&yKA0;$AKj$cLpsrWRu>;uh_a<;!^b8Z!d#<#AnDT9{ce2jJEB0 z*1CF8<+y!^8G#lKD$r0nYnvUzzFQwR@!hYe{MO6Bu=~T=YwSQb{`cR(%;3;az|PRX z@Q{yzf$@+mFg#nV85meN${83q1c1RSpm2wgLBWBV3Jr2=8QwshBllnS-l_Kt4c5<& z(#3A9zPWsj{Xn>N+_i_&`sW|-pBVj9mf=7^9M%1e)oyG-4hx{Zc|YFWoqbWb-M`=d z$2CTUbKSI#8r)7?wwAxawz}S8&0_O9n>aUr8Nd4fW;Ks@>HPC&NKnwHO-jM-97H0W z0ZiQA-k6+!{i65$Y5&FQaYrlbticZ3%&;SRpkwi7=Dh0{rRUr0EmqGv_A^s%Utz4+ z|89milf-G5!3YGKO-?Pto!!Ul?RoD1`10)Thu-TO>S};4tD6OM>h;u_Zutxa)qAL! z;|Vwjt*}YB^^4)g=F2wg7n|?<`}q1r;WuaO@Bg;}$LW2>yq*CMI(zy0`@dM?ZdTs= z#l+AxfFboD@ip^H{F~2tWtI_ zFsM1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8!4cP5}q!OAr*7p-dMO!CRL*0 zp={8VEWL*2$YPOs+$#>9QGHM?so;_2;Zeoe?Xd8JsIOsmm}tM_+Eo%foIAdmSpS}1 ze(v*~1K(52%f6l6ewz_!?Vti5EPNM>H~5?DFE-!NxA?vy!w1Lty>UP%{xEpR$H2gN zNER5BE!GSSEF9$w3>*T$kQGq4!^oiEu!EVwp`n1Cp@DJ;i6F>cF>bIU&~eRlqhQ=fA+tSv00w*Lt@ z2@&+5fO4BL{i1Zt@r$2-U)=U-ZhmXJctd;fz&Z&WcLlP?d;hp?`&65AG;E$WL*B`w zbWTM`p?LWPYeS{vUdHH>FLmrUB*f{GijnL`WFQ;qy$m*`?SJ!EpSOsgx89DKA!2$r z{c;w%o0eVVX4q~3%J*&i>+3fE>XEPe81*OO{{Mf=`MDpo4Q#$+0H^H3HRUn2$HL3w z*V#Q5tE>Hc{grXt{~t$R8Sne~^7hsAJBMC=xm2$>;lZPUD5=2V*^v2#>BE(?<-1eg zNn4F1ywHqUPGZU0**x%aT?9DVWq xf(#D=3kIyfA5;yQQOAsiz-S22DFik!{%5!t=5;E$hBE_XrKhW(%Q~loCIFi1XypI^ diff --git a/flutter_bird_skins/input/layers/mouth/cigarette.png b/flutter_bird_skins/input/layers/mouth/cigarette.png deleted file mode 100644 index 79848b80e2518e647154bab074b87f09b3484903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2917 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Be?5kFt|b0V&P`kH}&M2EM}}%y>M1MG8<* zvcxr_Bsf2(yEr+qAXP8FD1G)j8z}|`u1}sWjv*Cu-ric@9}_Bb z>|t@eNv^0y(AM2K5joBR7E&&}o~rc>ef5o37J9k{H@hhagw6=$Winyhee>oOhgGk3 z-JNOK5oR*Ow<^Et*u~uaxsNf%cDr(GVC7fzc2cxDeP=9s8P*f#FU6<;$1* zj~D*QIo12NY`2x2-M{p8zI%+e$uTe-_$Sf!FmLVGi&Layuh#~83BEIa9nBAP@;bFU zj0_451?&tB42NWa1ujQ90|SQwIfBU$M?}5WKWtz#w`lSE-}cXMG1D?w4wQgBu5`s;MmYxCf|D^c}QZ4VFL-giH5yLfP2{YsGe z`M);2-c=pUcO^<*Mn=YFW+wmopCQ0nje?*?#FPOfc2{i8+qG`@3{aqdeDmhbF`x@_ z%)UN(l5(j{^;Hx&D6YN!IyvanTu$|Qva+(Z2AAg?{jidUBHyD0Uc<((z|a*-5A~|F zdieMA&NkAb{=k3N>s1U46JEEkx2t{sYiqZB^!puuzn0hU|9??^d(``gru$*5Ki>~u zy;#%y*WGuw+xzAJn_gCllLp0f(cL|Tm9^V-zel~lk*ojz#jbZ{uVuXpetvqoe(99+ z%kQjs{Nt}rafS1JpbZQKrqqi2hM3vn&TrSh)dO1l_EoCp(w}{*FT8F}S@}P8?e5BJ kqy@mJ>d_FORtV@E-M=rdFqq%+dIrcyPgg&ebxsLQ0PBWlEdT%j diff --git a/flutter_bird_skins/input/layers/mouth/flower.png b/flutter_bird_skins/input/layers/mouth/flower.png deleted file mode 100644 index db3d81e585cf762000afab7bb973e7864df74517..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8137 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 R;6NL6Fe+|8d*9Ko{vD$|r858k diff --git a/flutter_bird_skins/input/layers/mouth/mask.png b/flutter_bird_skins/input/layers/mouth/mask.png deleted file mode 100644 index a9dd36e4e94063db9ebd34749b4d74c9a28c1b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5299 zcmeHLYfw{X8a|Y+L3aUX+;UAqJ9cGM1i_Z18xpXKgVaJ?p_s0S#RD>O4U&>;ec|Y3CSLIW@q;QHvjVDn{(#- z&YXGQXP)EbLq_5E4-GrHb;!qQs5P6U!N@x6l!)_z4})_ZHsYVi~ghl@k-FF%tpgt!|gM|K+LM; znR2k!E_xQrxiYbbGYROgC-r!D4wpeDWi-rB)6A=|pOG0BJ!VQVe3r-qh4V(SSAVF; z-C+Wq-?8}oyKtjP%ucRD)lP|-kExGDUIgun>)zJNOGt1g-HtJyx3U);T#l6*bJd_; zpN5JDqAV&TG3Z$R37Sn54X1EA_4$8vT?GpqBkF_o zW9O^Nh3F_}vWBZ~|DF5X(o72vNEpc{)(=vfcyKP!EU2)~sQ30%#%lXmq>hYLhi_^= z7?IIX{UrV!zs7EBW|Nsrd~3mP%_Vj8-wPiKDhP$`kfirwm3`m@$Esg>IVhQX`J5+s z72a*qveOx8yJG2F^-5T)y;T+GydY%Tb1=QnUk`Y@S>hvZw1qYCyn#KlD*MwE(4cSL z$?RZMPG8MxS|fM<4g z_Vp1Ozke44fM@d$rird+a>^R~KrWZ@Ek<;7Nu!I>)2a4-TGZ|UwQq? zrTag|_zcG%sNt@E)(Bq?^cxz-F@IyaL>R8EtWw8fek=m+u$2P~`I)K^!@cdps7`oR zPU-JmOUEs_yR3KNI33W3T6CQCdKqiWsHR04#&GDSjpRRf394_&dqSqi6oym9b0L#q zI-*3vBXm-`f^#F^|72Aaqxq3m~+0wMbm{+p#4V}+ylI=U%` zfT|7{NvWi{|M+c}5V_&#(Wv{-Gg;+^oALtS*RJVB(-w85j9EC+gd1aJ!T|gyC>_Azy$5pDrsbu+RBBf23P)u4vDLvR4Y-jDq`5-swka zQP=lGMLok@_g5+KXO=-*n;as3MPN!8t|5O$+^h;KeNb5@98AK&jqDJ&m;;Ei2V2Jo z($pJP)e9V*$q9wwgH0=g`(!pxy!8Yx?0tRQkNQff+O7}-4=?HcIvJg;%q~#JVD(?G zKW!8<*qhCHI{NIupzR^fORzz6`LNr`)bs;9umMIes7u2-r8TNpvaWrqtj^}LWh}>h zI;P#&h`0YVULr?r=~#y*NJp8vcW2>oa}rrg+xSJ^j?e{&x&e$pBsfEeBIc#vF4ofe zSO0~_uMRT!xAt}mTv`}BSG9<>^`4f#SmcNV)3Q)q^mfk8Nel>)MKRd(wc%lZL68qO zeP44uN(*-1om=`Jg`7DH-GgsK{0byEX}O_|TxlOZBI0uqQqoevWW4L=Aj8vbNg}9H6o|)4BJ#w=}1sqJ-nd(S<51-)y$;VO?JKq1~(|-fQRWUjM diff --git a/flutter_bird_skins/input/layers/mouth/party_horn.png b/flutter_bird_skins/input/layers/mouth/party_horn.png deleted file mode 100644 index 2a928701984bfe48fdf61472ed537b3da3d1f550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6602 zcmeHMYgAKL7QPl+d_r4WDWG7-))uWqk*K_FtD;0ifq*;`q=-C%fCLC|L(pP%ECQvx zl;75>B(r24(DUS}+QfJx%x|{OdAI5;raRM8 zHsHTyM<&&L#FwiyEgf%HkUs1Vx|jH*;5(s~xpm(rU$US62^uRfvcU66?AE&4IY ztzNQ=xRGT|sjeF7s}>Qw-QJT;k*2u`Rwju?E@HooXeZT72WE4e#LL6tnZGZ0S4wYb zP#4&Vu$z7~TxkOU?;g5u02~6wi~wNO6$b!V{YvBwJikbSOFSa-W`%5p=aU`e2xgsS@!t(bxCwQ11m7xY#coUeeC6uXF*nBTx^BPu4wB=rhe!lX_=m^dx^_x4?E{KUQ(?& zLCkABci%r%sm+$y(G&#+e7=-kiw%RoAm&L-G*Rn2-k9#Y(2eHZ2V@)Ifmd|j?M_oc zG~p-*VGqmjdzr%PI#Nn(2e5ucXx#t5^C`i>b8jyw4Qs|Dm00Lk-|9Ii2=kg zl@}W^Q*6DBk1r-Y)qM5u8jd|^KKoueix`uY*) zhB;m70E+)5TK6Nd*uy@Wod#~@I_@<1Z#VoK*I!#C=;YhL#JR|*sL0r<{&pG5|Jsfr zu9Kh|w@_q`!gs%9F06H!pz~tErC*TBYca*4baA1N$LFBT-!E~?)T1JlTdjb@0En5g>!ngf-0^Tb~vP?(I$5KNxI2G5vY~85*ou|BuuuVAyv8n z?T^7uc+rqKwkhjEnG3%y`yB}Po4KC`9B_Y1od48Pj~2x(zY#x7wE45Yga41C#PWVOAjq(U%yv12c+gaZ=vm0+PxfHPJujn@>0 z)td=*9Uk$hEnaR`B6z!V|6F!D2i=}F$8c`0mWc1`Zifcwm(p3i>N;10Y-r~2d$#(m z?yH4|D))NP{2AKDGjQzPyoJYe$p}=H5fw3&!l|&?BiLw_P}!_nDEequWv+2Sbpjdg zb5!ETi-fy@b^M>o;vQYju^FNAD3OESwKCm}^z>ZOqDUJySVePX3ATF;C|@ME5~FF7 zvhvi9#?F`5S^LFHO_p0DPBse?IQ#=<+=dR9oh~0kJ?SX&A6=aFaI^YM8AARLbD%Zp z+|+D6N9h79?i6*l^EyS22Qu@>9}kZL{T6UV|vdkku7l-x4HIYAWI;+jn%m z+6VUT-s!bzAoMOso{BqOk1ah&S20xhU}c^R-#<SXnLhM ztbH6&Ej9DwP1^ChE1snAs4`}Rh<(0kI#slR_(2*M0&w*oh~w7+r$N~E`9FS)dunLx z+-`}<{DMApyJCXo>cA=vty(&7Iy5M8^1!sV+V!KE&;ch5Wa#EZdQ ztEz;N(l_*-vmk0j^ALsOG`lrn@v6sUShGaa#a0|;w2AN74RTx|sp^|9t~ZAfg@f7D z&E(-&-r1%)85|deGt~8{x_`9rGGU*Pp?%NOd1hAQs;t7CGX9tB^9h4KobWIht1NRXQ)y)@_-(+mPOQtw^j0XpSpyp54NPrzx5V%=(+_)n486R}H8 zeEBF|S>}R84&bvbX2Eh5~;cjy?A=1ungPs&Mv{m54&9qk=IQ{5Q9k z#|d?C+rZMm{KzBX#qUME59iouA(hn_n)&4V^#vJWrcK_kz(j+2o^ITl3GLg@mWg>F z=zb&5Gn=D|T_uDlIQ9yr&M(dV4r!ORf!7`gcF|5cguZ&z!emmqpA8o3nqjmqN09q` z0Y-R{S4QjVnOGa0-_p{izKYOZqRnlkT0pbudNE3nP!b3k(T=e!eW=ZlCrH1)!Fhb<+mvN?+K*4 z>{;dp2G=wft3H94_4%3uuaq$9F5(R2kr@2Cm;#dh9V}jc2Go8L6Jc9Slqfw;!X-WI zVRD}#jz(AAA*GA%W$K6Rgfh&MUavFR++Kj)?f&6MP?+jzCmzak!=IfBPN(5ODqnR2Ta=HAMCkeP! z=4l1QD91pphw+9j^RO^R)7Rhq|8_eSGEuzX1J__2vKo diff --git a/flutter_bird_skins/input/layers/mouth/pipe.png b/flutter_bird_skins/input/layers/mouth/pipe.png deleted file mode 100644 index 1a5e896f97c3958417c8e71934106c8d3e5f98f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4866 zcmeI0?@v=_6vv+qvoaU!uWTT!;ERzao3cAF<9U=m5H37#2SyvlD5b1>rmeNkf zoTFNG3JL-)q@c@yH3C-c4>PqDXIr%qkhWB)qgK|7wQz6omUh?dPmt`z(ibOBa`L=6 zPrm1z@8>zXBQtf;!l;D+fJJFrw|oh}TgdAOf1Aj7s6XE&j(1A8?h*h%x%oOs`U4lg zC6X&3b`Hcjuor?0%6I^VVfwz3A_2Fclt({M#&1TFq5xPXOWU$}XXSbKh^hWbIaTj5 z!Fva1^gkTFB%f_xptzG#M}E+8A$bRSe<0<^bJmZ~MjzGgJQ9AGvh0hcONX~X7vr-3 zUTI{Xetu%xz9tsuoNZV6gr#jy4g9z#Yr><{PIy~4Zd#!+uTG?q0eCUiuRuuv+`yL; zB`jHKC4rU6$}o^DDJ2657^46{`h!Xo_kAJ&3&LRl!k2_DhMp%Ricl+rCPipIhPFaz zX@;!A|HB|jy80FaFsM+7{7Ag6xX7-!m89c%FD)16;1uNv!U2AehaHR8^r1`Bw{!jb zV^WlYi@u$N>7566cw=ycu%nY_^}eySChcy2Scj{VD=lis&=+CV$glhc=A89UK3#kW z_uWj#qPhMjY7Q;X3u!wHZbyEL-iMCBA7+@t$TB}-Dr!@lE+tD+3Yq2O165L5BeK3< z)|MA|1)=?uGMfgP8$36s*G0l~TddU6EVuMg?|B!Q*V?Y5RJJ!MSm=&6)@AX)yllAr zT_OPPLyr-Jk9A)we83`guHkoUgTL_Ga$ce98e?0uf~kzoMnoKVrq#~AL_M*qZ9Roe z#!Ge$*4G@XcC|NF7q|jb40piUQajreXMq=^`Mx2sDeua(d&qtWJIcw@D%4Ou%}SE6 zM@Kha-Ee;Wl*&0hY*j(7z@B?%cCLARF6mfTypETS@lq2ykL`=94_2fe-yR{GegGqGy+8;tk*j;Rcm!hkt=Y< z?Xdf9a~Vt}Bp&L@Rt07ldALiC3p_d`(G+|tWBlfsj^s-9LC*xQxtV*$-Xd^tR?H8z zSWSk}a_^ikug8vJX~ z_}%vGo|y#a=R_eJ$ug#Djc$0?HE{{z8NHPU2hfM@(L(#Hm*wzkk+9gLu9;9^ z6y1Y3OI52(8sE(_(Wp^`2sS_y99pY2)-fQ*uk_1;mC}QbQ*IaB;cV341*H|iCme4Q zQ-e~EoSfH|Nj8ikNLM!9Pk#28t1nRz4FemojEK8~I_UOrB%csXjM+}N*wjK-4PScs z%6U^Q{S$&%Uyye93d*M3brzRVh;|qZ>Bh;;5%+~;ZzOqAwMkZWNa%b@h^DMpHuhQ@ zTi=Li|DBo}wkIScpt?v|k0|wF5^GJ5=;luyxfPk+qA)@;%<7MbBg9N0W}26c@*jS~ bNP?sbC(vNc*&zk-e+AOmnOnL)+jICIpq)V? diff --git a/flutter_bird_skins/input/layers/mouth/tongue.png b/flutter_bird_skins/input/layers/mouth/tongue.png deleted file mode 100644 index 816ffea6d3862a6ea7ca5a62476831c553f867f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4930 zcmeI0>r<0Q6vh`(0j)r_)~bXswWXy{Xb5AlD5!;kEtghQ$vvdSpe7Dtm%VHk6=9Dgd?}E5o9TeCrglxIH!C zcxpH~J{5{fAp!`3+!K<|QVDSsqB}W-#G2W=1Axs>5BVQBlE$7M4!Jc>M2XZ&IgWJo zqsH6nn(y;JyCJtO^~c&DaQbr4InVlX3f}r*|3OdL)-m`|K>o+;FJ}M!LkT8nDw8awa|kG*UXt@DNz67$;`ehSwPiOm z#&g3Q(nmGKscgs+@se9zT}K=S-j&gJ4J2xYytu&WpubZFskS zBBaSU3b7XJd`OC(#DbAzbc>GJt#@RfK^$(H>ld_XndULkO(vCQ8ct1!BP4!&;R9ho zSdlbwJR1Y&PV@#7mf~E{mj*;fx36x5mx_GAk>G(?IFY7oDXpxme8chZg{0L-w^g<( zuM7@0GN^tyc!pWz$j~QM&GkOjycdgM7(Pr(A}29UW{{Kv-9zg>M`HVwkA5&agMo+V zG$qruOVmC=dfQMQ zhV`)Fw4`%eZ0f7KctLGBZXUJ_mbl3pu^}u%K_wkqygaS$A{z`z8_~bY_N2|Wx4N*; zoCsZ)r7PcJHOt8C@A=WHmcvbmdUEGhbab@QJFi}IZu1BWp6Y}$tBuhWz3wqyyo{H3 z3y~{eYC^oP#ay#k)q9I(?^}u%pLxLsLP5lD^{TKi)PwUQRr#@%IG(b_E;%NBOp#OU zjFQUF$1w{Y&P=xl&9M!8|Qb}To1l|1Z4|JqHOfq@q*b$iMwA^ za1*Zkc=giYPv%LA<4sq;Ys)A>SWHnmZ8f_vS6$I%8`El(aTNN|>SlouS}YUnrs12} zWo;SxcRWobv$tRiD7n|z*r;3R$hC8KV8eqq$Gj;rgzub)*SX!rD4)!Q3STRBaxKEL ztFhoHB)7;4Pv$=~$Qtg=)df)Ngv+uE5(%z~gX4L|lX~NM^GxX5(+D_%6;3+f?7PlWGcO`y=wxwAG>Ed9ORl{tty&1J|MwGyGtunLp>cVMmHJDh&|AkJB9$o5fAEjVE RTWN}cLjj@wwFggT{{sgcQTzY^ diff --git a/flutter_bird_skins/input/layers/mouth/whistle_blue.png b/flutter_bird_skins/input/layers/mouth/whistle_blue.png deleted file mode 100644 index 9628e92acf95a3a08f781cb72db68a767ae8265e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6147 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 F;&0ZJ-_rm9 diff --git a/flutter_bird_skins/input/layers/neck/bronze_chain.png b/flutter_bird_skins/input/layers/neck/bronze_chain.png deleted file mode 100644 index cc36b5ac14c2d617eacec2e812734005330cf702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3717 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 diff --git a/flutter_bird_skins/input/layers/neck/silver_chain.png b/flutter_bird_skins/input/layers/neck/silver_chain.png deleted file mode 100644 index 733a8116d2a99550f393f8201418f43838b2ee1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3731 zcmeHJZA{Zg7{89Wq7!f~nLsU=XwZrfkqSx`aH4=nYl;g3A~dsfYfE2%@?t5}IW@Xf zw?L@`p<~#Ak`^;4wLpu&7{086;9BHm(5ucuMz@S3 zr!r#bDH&OWG$P2#%JTh|MoIsgz##h4(?}(T1Mbl7Esbu6_d_Q{n%$>ryo0@jj1BFYs(v}!3vBv0QDf#y@KLQ>DOPWx$hhH{7hyD~1Zz zW&z;1WdH`Ya2asG1+7RZJ2}2D_;GL~9kRhc&1pi!UQc@OUkZi)*Xg1HgvRdk!EJ3_Ak=`yKLcCssAeC^m^!oK=aWw>8#xsJcqR$L~enP_vkx1>gmYw1$5D2t`w@bi0 zb?Wx|_X+iFPL4v*r{eIG$)xlc1W9F_N?KH%-ysf(2Tg>is3>C*-rlvZ-{X2mEr!|I z|BJqXAFp>w2;gX!&gJA-7BH;O?{A-e$0saf2(?6^#u9uW0*`B0Mp-c0-@i7)^6yx) z)Bs$|7;x9#>;v|2lnB)-C@M;!h$|Dc6AShe`cJrumX$mI&CQLY9oKOlA$f}xnj5~E ziDpI7A+5PNAudin>rS7%ny!12cmrFRM80`&mk4dMk;VC`xei0TjRtVu_e|41AJJkH zOT!uzLZIRUq-vKa6gyyGL78+%npeS8^EyWP$o-DVm*-DHmEMXJb^jYk)4g9A1^8g9 z+h$BA)zl}YXa~#Lc6uOf;NIR+ta0xX55ogLfT?ok0Ko2_)oZlgqSLO{Yq8lRCUg2p zS2%c$7D6@V%Jkvt1RdL`d&Kt^3QJ2A(e*wzcc;U<=$ZSp3l8qe2AlJj#wxCdLa!J$I z7vGbTnK{>9>`zknOT5Qks!HGi0RhVH28W2P1F&q-ct%5hP-&i+SgTMdlv3&6b;ZTS zaYAUIH%baQ3v-;V23W+47`K&1&E;s8OlR8{Et||nZGJV;KQPcdGBe&2T{4~#Bxjoq z%6k2=97qC!gg|fw3TQQTa=AqXwck`vE5hlX2hYu%e4N5&vu!OG;HGF7KHjU~AzX~$ zh6VFsD~#Z~-JxtSS8uUcFeZ~p?^7a|%XK(mur20s%AR5>&a2?%QdGgi7uCzxv?95& zLCldqdM;kPXsn~E)oNOeL{di1CEK3Yl1w}VS9S?U1S`xaKVAw3+`$+Mr`v36D^fwH z|DZH_${_z~cZlj}!M>uuWK{bo6Gd!fnx-jD4!f&@pal0iRa29cUsISyc!fDLT-x5= zjydcJyW8{s{3GN(#!w{!foR@ry|y&=;ODKlOG?-WR|UKUXeeerFv04*-`XboVtFa@ M2sTXeW%76b0U>rKx&QzG diff --git a/flutter_bird_skins/input/layers/neck/tie_blue.png b/flutter_bird_skins/input/layers/neck/tie_blue.png deleted file mode 100644 index 63dc28f4999456a28a7efde9727421c1da20e21b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5556 zcmeHL{a2D%9)DbB$6h9#>Xa{mwx?}occ(!~3tv#CY_d*GHd`~A655iIqXI^X1cKGn z(PBU3+Vq^-I0&2pPFHDDgDG^bFXF3Q3D#-gj{R6qb?pc1g_c`Z2_j&I9 z-tYZ>zTeNM^5B8gRV%_*006LR@19+M2Y^4A-nC^PLL(N$m1odnIc3igDgXrazH0#r z@}1+*VA!cIGfo{M=bfS*JDCg6Xf$L#senp2M#)8zPZH}*m~a4Cw`1?F9f!*rj1&9r z>4`^W7SP9|=E=8muWSCYx#;JEKUV(y;}hA=6>Fj|{&o2o?!F_H1%1_zqERPs!sp^Y zfAY!BohQ1U?9N%S`*IWRaQOHCYOh^?dq2pE2R)Cs7I!l)%qJ1^Bq}A*g#qcTIb@zB zW=`qjntawqX!n%zESw<#04hFP3t9B>Ms)zN@e45w_@aUm2vh)5K>!fYgMe)PJ`n&u zSVjYYWgq(|`j5wdDg2?}M+!ea`m=&RY5GeAe}VKrSr*FlZ4rR>mmG)9F3BrkxHO(l zLd48V9U+)az?uQ=tJNkTy<2ay1?o}B4_oR6<`jxh^WTbP$`3FI2bkVY7vB`e}}EMAUjfb*fNviw=xsMO+PdUzM&cxeTB$8dF3Q-T@e! z!sN!_OQ)+^;;q`0$jr86<=j)lRFb($Bms*Eyh&y=DE_JMq~ncI>6r)-EWl;eJH#;c zMtyaPy^CTet3{^xRG#;T;Cq?%x8E@4LPs%bknUZ`=S+5uP;pN?Gu)cc6fum^b8G8+ zxkP8s8tn=aYi3-8L?oRq6D5U&WHo~H1@qmxe-w1suNb>@4~4BUMP2t#_QrA(=WTY) z$#tpDO5~QHEpm)`I~ckl(9XVWT$w%=O*Y!-+{v-ABN(Uf5CgN0a&8UeG>Yx*l$~QV z))?DCOP$o^Kvm!R3=J1=vtSz$!E!8KKS#Ug z?F^pqzFu?$Yg*0cn8w~l`Ox`IO|>;#ww2oww@{76w@K&@E3KB$S<1cuBgIx?_W;mE zI`Dqt^frQ4QFnPf($}Oc!X>v^?cOW>#c!r>&@kn*tN0!F>92oFAa**RNHNiaaQI2j--pwBTm;JW#8z&4tp=3!v`)uD5P4X za;vqYG7)GV7t^sc*VsB0&&tdB*KT)Q-f36e{tuZPecgV=Sn2O%bv9fmmUQry&B9C$}; zFSm2jyX<#ME-k)PcA5v|w!6JeBm6}7BgZ&RQlLYqI;qoMFv4@bByVh`5>D4H-sRJE z1>ZKO^>eSZBo{MZ898R(vs9_5{P%TsfjYWKEtOvc7?9Hs?^huRuQCi5o4M3a(IREU zxb7z(Pcdy8?kC_2Dv}EL@!869zrcp&GVJ;U7ud1G~1Gv;BP()_f7=Yi&EBBb$ zMM5e|=NgRSy1M&{olo0Lait~~5m`9FgrfR3N}A8*^U3e3sl{Owi)1!Q4b(_``_NQjgbFj_yWe#Ro^VMVq$gJ?CiD9_l z+B#CWvfT2O0gf^@c-)_36C@*H1WwwPNXFt!0Z(Wyy~MWG6F6i6RsK9M(rHA=Gx?)8 zo11A|*Zikx0_umdwEm@WI45dgu2B(-INHX{ak;M#Hdkf8RIUz!mV6#M^Bme81oVv9 zp%QY$%sy3UqM<>EpTV@oMX+LhM;!P%6otVjuEswdk7BF5|MiJpRwWYzs4(E-r+?1uLyIlpH0f3DQ| aR<`J$r$0J>JQGq}fxTZI*d^GRbM`;YV$Ze! diff --git a/flutter_bird_skins/input/layers/neck/tie_green.png b/flutter_bird_skins/input/layers/neck/tie_green.png deleted file mode 100644 index 08c1a6bb0df76c467ef2f72fc62d9890051d2ed3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5508 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 b43C$8x3f*$Lw#V!6gYk~_6YCGGgto$iQpE? diff --git a/flutter_bird_skins/input/metadata_template.json b/flutter_bird_skins/input/metadata_template.json deleted file mode 100644 index 0aadad9..0000000 --- a/flutter_bird_skins/input/metadata_template.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "", - "description": "A friendly pixel bird that flies on the ethereum blockchain and is ready to adventure the exciting world of flutter bird.", - "image": "", - "background_color": "40C4FF", - "attributes": [ - { - "trait_type": "color", - "value": "" - }, - { - "trait_type": "head", - "value": "" - }, - { - "trait_type": "eyes", - "value": "" - }, - { - "trait_type": "mouth", - "value": "" - }, - { - "trait_type": "neck", - "value": "" - } - ] -} \ No newline at end of file diff --git a/flutter_bird_skins/input/traits.json b/flutter_bird_skins/input/traits.json deleted file mode 100644 index 3c2a3eb..0000000 --- a/flutter_bird_skins/input/traits.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "bird": [ - { - "name": "default", - "weight": 5 - }, - { - "name": "blue", - "weight": 2 - }, - { - "name": "green", - "weight": 2 - }, - { - "name": "red", - "weight": 2 - }, - { - "name": "cyan", - "weight": 1 - }, - { - "name": "orange", - "weight": 1 - }, - { - "name": "pink", - "weight": 1 - }, - { - "name": "purple", - "weight": 1 - }, - { - "name": "black", - "weight": 0.5 - }, - { - "name": "white", - "weight": 0.5 - }, - { - "name": "rainbow", - "weight": 0.2 - }, - { - "name": "gold", - "weight": 0.1 - } - ], - "eyes": [ - { - "name": "default", - "weight": 10 - }, - { - "name": "heart", - "weight": 2 - }, - { - "name": "thug_glasses", - "weight": 2 - }, - { - "name": "rainbow_glasses", - "weight": 2 - }, - { - "name": "3d_glasses", - "weight": 1 - }, - { - "name": "nerd_glasses", - "weight": 1 - } - ], - "head": [ - { - "name": "none", - "weight": 5 - }, - { - "name": "beanie", - "weight": 1 - }, - { - "name": "bucket_hat", - "weight": 1 - }, - { - "name": "cap_blue", - "weight": 0.5 - }, - { - "name": "cap_red", - "weight": 0.5 - }, - { - "name": "cowboy", - "weight": 0.5 - }, - { - "name": "crown", - "weight": 0.1 - }, - { - "name": "headphones_blue", - "weight": 0.3 - }, - { - "name": "headphones_gray", - "weight": 0.3 - }, - { - "name": "headphones_green", - "weight": 0.3 - }, - { - "name": "headphones_orange", - "weight": 0.3 - }, - { - "name": "headphones_red", - "weight": 0.3 - }, - { - "name": "party", - "weight": 0.5 - }, - { - "name": "wizard", - "weight": 0.5 - }, - { - "name": "cylinder", - "weight": 0.8 - }, - { - "name": "flowers", - "weight": 1 - } - ], - "mouth": [ - { - "name": "none", - "weight": 10 - }, - { - "name": "cigarette", - "weight": 2 - }, - { - "name": "flower", - "weight": 2 - }, - { - "name": "mask", - "weight": 0 - }, - { - "name": "party_horn", - "weight": 1.5 - }, - { - "name": "pipe", - "weight": 2 - }, - { - "name": "tongue", - "weight": 2 - }, - { - "name": "whistle_blue", - "weight": 0.25 - }, - { - "name": "whistle_green", - "weight": 0.25 - }, - { - "name": "whistle_orange", - "weight": 0.25 - }, - { - "name": "whistle_red", - "weight": 0.25 - } - ], - "neck": [ - { - "name": "none", - "weight": 10 - }, - { - "name": "bronze_chain", - "weight": 2 - }, - { - "name": "silver_chain", - "weight": 1.5 - }, - { - "name": "gold_chain", - "weight": 0.5 - }, - { - "name": "tie_blue", - "weight": 0.5 - }, - { - "name": "tie_green", - "weight": 0.5 - }, - { - "name": "tie_orange", - "weight": 0.5 - }, - { - "name": "tie_pink", - "weight": 0.5 - }, - { - "name": "tie_red", - "weight": 0.5 - }, - { - "name": "tie_white", - "weight": 0.5 - } - ] -} \ No newline at end of file diff --git a/flutter_bird_skins/scripts/update_image_url.js b/flutter_bird_skins/scripts/update_image_url.js deleted file mode 100644 index dc610a9..0000000 --- a/flutter_bird_skins/scripts/update_image_url.js +++ /dev/null @@ -1,27 +0,0 @@ -const fs = require('fs'); - -const dirname = "../output/metadata" - -const cid = "bafybeib3ss7fb7wejue2b7nv3frucl3xvhd27yycyw37csodsytvv5ipou"; - -fs.readdir(dirname, function (err, filenames) { - if (err) { - console.error(err) - return - } - filenames.forEach(function (filename) { - const filePath = dirname + "/" + filename; - fs.readFile(filePath, 'utf-8', function (err, content) { - if (err) { - console.error(err) - return - } - - let metadata = JSON.parse(content) - let imageName = filename.split(".")[0] + ".png" - metadata.image = "ipfs://" + cid + "/" + imageName - - fs.writeFileSync(filePath, JSON.stringify(metadata)) - }); - }); -}); \ No newline at end of file From 11983137b55b34a16da55bf1019cda517e17729b Mon Sep 17 00:00:00 2001 From: shiki-tak Date: Fri, 19 Jul 2024 14:59:57 +0900 Subject: [PATCH 3/5] feat: update flutter bird contract --- Dockerfile | 4 +- .../contracts/FlutterBirdSkins.sol | 66 +- .../contracts/lib/LibraryStorage.sol | 60 + flutter_bird_skins/contracts/lib/Memory.sol | 186 + .../contracts/lib/sstore2/Bytecode.sol | 78 + .../contracts/lib/sstore2/SSTORE2.sol | 72 + flutter_bird_skins/package-lock.json | 15211 ++++++++++++++++ flutter_bird_skins/package.json | 2 + flutter_bird_skins/scripts/transfer_nft.js | 57 + flutter_bird_skins/truffle-config.js | 2 +- 10 files changed, 15696 insertions(+), 42 deletions(-) create mode 100644 flutter_bird_skins/contracts/lib/LibraryStorage.sol create mode 100644 flutter_bird_skins/contracts/lib/Memory.sol create mode 100644 flutter_bird_skins/contracts/lib/sstore2/Bytecode.sol create mode 100644 flutter_bird_skins/contracts/lib/sstore2/SSTORE2.sol create mode 100644 flutter_bird_skins/package-lock.json create mode 100644 flutter_bird_skins/scripts/transfer_nft.js diff --git a/Dockerfile b/Dockerfile index c579167..6091e5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16 +FROM node:18 WORKDIR /app/flutter_bird_skins @@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -y \ RUN npm install -g node-gyp RUN npm install -g truffle -COPY ./flutter_bird_skins/package*.json ./ +COPY ./flutter_bird_skins/package.json ./ RUN npm install COPY ./flutter_bird_skins . diff --git a/flutter_bird_skins/contracts/FlutterBirdSkins.sol b/flutter_bird_skins/contracts/FlutterBirdSkins.sol index c406822..e2d337a 100644 --- a/flutter_bird_skins/contracts/FlutterBirdSkins.sol +++ b/flutter_bird_skins/contracts/FlutterBirdSkins.sol @@ -2,32 +2,35 @@ pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; +import "./lib/sstore2/SSTORE2.sol"; +import "./lib/Memory.sol"; -contract FlutterBirdSkins is ERC721Enumerable { +struct Token { + uint256 bytesLength; + address[] addresses; +} + +contract FlutterBirdSkins is ERC721Enumerable, Ownable { using Strings for uint256; uint256 private _maxSupply = 1000; uint256 private _mintPrice = 0.01 ether; - // Optional mapping for token URIs - mapping(uint256 => string) private _tokenURIs; - - // Assign owner on contract creation - address public owner = msg.sender; + mapping(uint256 => Token) private tokens; constructor() ERC721("FlutterBirdSkins", "FBS") {} event SkinMinted(uint256 indexed tokenId); + error TokenDoesNotExist(); + function mintSkin(uint256 newTokenId) public payable { require(newTokenId < _maxSupply, "invalid tokenId. must be #999"); require(msg.value >= _mintPrice, "insufficient funds"); _safeMint(msg.sender, newTokenId); - string memory _tokenURI = string.concat(Strings.toString(newTokenId), ".json"); - _setTokenURI(newTokenId, _tokenURI); - emit SkinMinted(newTokenId); } @@ -59,38 +62,23 @@ contract FlutterBirdSkins is ERC721Enumerable { return _unmintedTokes; } - function _baseURI() internal view virtual override returns (string memory) { - return "ipfs://bafybeiexvqt3uabqzmhquokzyl7gcdxyowz2hf2hdbbifkkyx3waghezqe/"; - } - - function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { - require(_exists(tokenId), "ERC721URIStorage: URI query for nonexistent token"); - - string memory _tokenURI = _tokenURIs[tokenId]; - string memory base = _baseURI(); - - // If there is no base URI, return the token URI. - if (bytes(base).length == 0) { - return _tokenURI; + function appendUri(uint256 tokenId, bytes[] calldata values) public onlyOwner { + for (uint256 i = 0; i < values.length; i++) { + tokens[tokenId].addresses.push(SSTORE2.write(values[i])); + tokens[tokenId].bytesLength += values[i].length; } - // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked). - if (bytes(_tokenURI).length > 0) { - return string(abi.encodePacked(base, _tokenURI)); - } - - return tokenURI(tokenId); } - function setTokenUri(uint256 tokenId, string memory _tokenURI) public { - require( - _isApprovedOrOwner(_msgSender(), tokenId), - "ERC721: transfer caller is not owner nor approved" - ); - _setTokenURI(tokenId, _tokenURI); - } - - function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual { - require(_exists(tokenId), "ERC721URIStorage: URI set of nonexistent token"); - _tokenURIs[tokenId] = _tokenURI; + function tokenURI(uint256 tokenId) public view override returns (string memory) { + if (!_exists(tokenId)) revert TokenDoesNotExist(); + bytes memory uri = new bytes(tokens[tokenId].bytesLength); + (uint256 uriAddr, ) = Memory.fromBytes(uri); + for (uint256 i = 0; i < tokens[tokenId].addresses.length; i++) { + bytes memory data = SSTORE2.read(tokens[tokenId].addresses[i]); + (uint256 dataAddr, uint256 dataLen) = Memory.fromBytes(data); + Memory.copy(dataAddr, uriAddr, dataLen); + uriAddr += dataLen; + } + return string(uri); } } diff --git a/flutter_bird_skins/contracts/lib/LibraryStorage.sol b/flutter_bird_skins/contracts/lib/LibraryStorage.sol new file mode 100644 index 0000000..68a4e97 --- /dev/null +++ b/flutter_bird_skins/contracts/lib/LibraryStorage.sol @@ -0,0 +1,60 @@ +pragma solidity ^0.8.13; + +import "./sstore2/SSTORE2.sol"; + +// https://goerli.etherscan.io/address/0xfccef97532caa9ddd6840a9c87843b8d491370fc#code#F2 +contract LibraryStorage { + mapping(string => address[]) _libraries2; + + address public owner; + + error NotOwner(); + + constructor() { + owner = msg.sender; + } + + modifier isOwner() { + if (msg.sender != owner) revert NotOwner(); + _; + } + + function addChunk(string calldata name, string calldata chunk) public isOwner { + _libraries2[name].push(SSTORE2.write(bytes(chunk))); + } + + function getLibrary(string calldata name) public view returns (string memory o_code) { + address[] memory chunks = _libraries2[name]; + + unchecked { + assembly { + let len := mload(chunks) + let totalSize := 0x20 + let size + o_code := mload(0x40) + + // loop through all chunk addresses + // - get address + // - get data size + // - get code and add to o_code + // - update total size + let targetChunk + for { + let i := 0 + } lt(i, len) { + i := add(i, 1) + } { + targetChunk := mload(add(chunks, add(0x20, mul(i, 0x20)))) + size := sub(extcodesize(targetChunk), 1) + extcodecopy(targetChunk, add(o_code, totalSize), 1, size) + totalSize := add(totalSize, size) + } + + // update o_code size + mstore(o_code, sub(totalSize, 0x20)) + // store o_code + mstore(0x40, add(o_code, and(add(totalSize, 0x1f), not(0x1f)))) + } + } + } +} diff --git a/flutter_bird_skins/contracts/lib/Memory.sol b/flutter_bird_skins/contracts/lib/Memory.sol new file mode 100644 index 0000000..12d4112 --- /dev/null +++ b/flutter_bird_skins/contracts/lib/Memory.sol @@ -0,0 +1,186 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +// Original: https://github.com/ethereum/solidity-examples/blob/master/src/unsafe/Memory.sol + +// pragma solidity ^0.4.16; +// pragma experimental "v0.5.0"; +// pragma experimental "ABIEncoderV2"; + +library Memory { + // Size of a word, in bytes. + uint256 internal constant WORD_SIZE = 32; + // Size of the header of a 'bytes' array. + uint256 internal constant BYTES_HEADER_SIZE = 32; + // Address of the free memory pointer. + uint256 internal constant FREE_MEM_PTR = 0x40; + + // Compares the 'len' bytes starting at address 'addr' in memory with the 'len' + // bytes starting at 'addr2'. + // Returns 'true' if the bytes are the same, otherwise 'false'. + function equals( + uint256 addr, + uint256 addr2, + uint256 len + ) internal pure returns (bool equal) { + assembly { + equal := eq(keccak256(addr, len), keccak256(addr2, len)) + } + } + + // Compares the 'len' bytes starting at address 'addr' in memory with the bytes stored in + // 'bts'. It is allowed to set 'len' to a lower value then 'bts.length', in which case only + // the first 'len' bytes will be compared. + // Requires that 'bts.length >= len' + function equals( + uint256 addr, + uint256 len, + bytes memory bts + ) internal pure returns (bool equal) { + require(bts.length >= len); + uint256 addr2; + assembly { + addr2 := add( + bts, + /*BYTES_HEADER_SIZE*/ + 32 + ) + } + return equals(addr, addr2, len); + } + + // Allocates 'numBytes' bytes in memory. This will prevent the Solidity compiler + // from using this area of memory. It will also initialize the area by setting + // each byte to '0'. + function allocate(uint256 numBytes) internal pure returns (uint256 addr) { + // Take the current value of the free memory pointer, and update. + assembly { + addr := mload( + /*FREE_MEM_PTR*/ + 0x40 + ) + mstore( + /*FREE_MEM_PTR*/ + 0x40, + add(addr, numBytes) + ) + } + uint256 words = (numBytes + WORD_SIZE - 1) / WORD_SIZE; + for (uint256 i = 0; i < words; i++) { + assembly { + mstore( + add( + addr, + mul( + i, + /*WORD_SIZE*/ + 32 + ) + ), + 0 + ) + } + } + } + + // Copy 'len' bytes from memory address 'src', to address 'dest'. + // This function does not check the or destination, it only copies + // the bytes. + function copy( + uint256 src, + uint256 dest, + uint256 len + ) internal pure { + // Copy word-length chunks while possible + for (; len >= WORD_SIZE; len -= WORD_SIZE) { + assembly { + mstore(dest, mload(src)) + } + dest += WORD_SIZE; + src += WORD_SIZE; + } + + if (len == 0) return; + + // Copy remaining bytes + uint256 mask = 256**(WORD_SIZE - len) - 1; + assembly { + let srcpart := and(mload(src), not(mask)) + let destpart := and(mload(dest), mask) + mstore(dest, or(destpart, srcpart)) + } + } + + // Returns a memory pointer to the provided bytes array. + function ptr(bytes memory bts) internal pure returns (uint256 addr) { + assembly { + addr := bts + } + } + + // Returns a memory pointer to the data portion of the provided bytes array. + function dataPtr(bytes memory bts) internal pure returns (uint256 addr) { + assembly { + addr := add( + bts, + /*BYTES_HEADER_SIZE*/ + 32 + ) + } + } + + // This function does the same as 'dataPtr(bytes memory)', but will also return the + // length of the provided bytes array. + function fromBytes(bytes memory bts) internal pure returns (uint256 addr, uint256 len) { + len = bts.length; + assembly { + addr := add( + bts, + /*BYTES_HEADER_SIZE*/ + 32 + ) + } + } + + // Creates a 'bytes memory' variable from the memory address 'addr', with the + // length 'len'. The function will allocate new memory for the bytes array, and + // the 'len bytes starting at 'addr' will be copied into that new memory. + function toBytes(uint256 addr, uint256 len) internal pure returns (bytes memory bts) { + bts = new bytes(len); + uint256 btsptr; + assembly { + btsptr := add( + bts, + /*BYTES_HEADER_SIZE*/ + 32 + ) + } + copy(addr, btsptr, len); + } + + // Get the word stored at memory address 'addr' as a 'uint'. + function toUint(uint256 addr) internal pure returns (uint256 n) { + assembly { + n := mload(addr) + } + } + + // Get the word stored at memory address 'addr' as a 'bytes32'. + function toBytes32(uint256 addr) internal pure returns (bytes32 bts) { + assembly { + bts := mload(addr) + } + } + + /* + // Get the byte stored at memory address 'addr' as a 'byte'. + function toByte(uint addr, uint8 index) internal pure returns (byte b) { + require(index < WORD_SIZE); + uint8 n; + assembly { + n := byte(index, mload(addr)) + } + b = byte(n); + } + */ +} diff --git a/flutter_bird_skins/contracts/lib/sstore2/Bytecode.sol b/flutter_bird_skins/contracts/lib/sstore2/Bytecode.sol new file mode 100644 index 0000000..5acbceb --- /dev/null +++ b/flutter_bird_skins/contracts/lib/sstore2/Bytecode.sol @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +// Original: https://etherscan.io/address/0x67fca1a4f04093a927af648f1f4ca337521bda37#code#F6#L1 +library Bytecode { + error InvalidCodeAtRange(uint256 _size, uint256 _start, uint256 _end); + + /** + @notice Generate a creation code that results on a contract with `_code` as bytecode + @param _code The returning value of the resulting `creationCode` + @return creationCode (constructor) for new contract + */ + function creationCodeFor(bytes memory _code) internal pure returns (bytes memory) { + /* + 0x00 0x63 0x63XXXXXX PUSH4 _code.length size + 0x01 0x80 0x80 DUP1 size size + 0x02 0x60 0x600e PUSH1 14 14 size size + 0x03 0x60 0x6000 PUSH1 00 0 14 size size + 0x04 0x39 0x39 CODECOPY size + 0x05 0x60 0x6000 PUSH1 00 0 size + 0x06 0xf3 0xf3 RETURN + + */ + + return abi.encodePacked( + hex"63", + uint32(_code.length), + hex"80_60_0E_60_00_39_60_00_F3", + _code + ); + } + + /** + @notice Returns the size of the code on a given address + @param _addr Address that may or may not contain code + @return size of the code on the given `_addr` + */ + function codeSize(address _addr) internal view returns (uint256 size) { + assembly { size := extcodesize(_addr) } + } + + /** + @notice Returns the code of a given address + @dev It will fail if `_end < _start` + @param _addr Address that may or may not contain code + @param _start number of bytes of code to skip on read + @param _end index before which to end extraction + @return oCode read from `_addr` deployed bytecode + + Forked from: https://gist.github.com/KardanovIR/fe98661df9338c842b4a30306d507fbd + */ + function codeAt(address _addr, uint256 _start, uint256 _end) internal view returns (bytes memory oCode) { + uint256 csize = codeSize(_addr); + if (csize == 0) return bytes(""); + + if (_start > csize) return bytes(""); + if (_end < _start) revert InvalidCodeAtRange(csize, _start, _end); + + unchecked { + uint256 reqSize = _end - _start; + uint256 maxSize = csize - _start; + + uint256 size = maxSize < reqSize ? maxSize : reqSize; + + assembly { + // allocate output byte array - this could also be done without assembly + // by using o_code = new bytes(size) + oCode := mload(0x40) + // new "memory end" including padding + mstore(0x40, add(oCode, and(add(add(size, 0x20), 0x1f), not(0x1f)))) + // store length in memory + mstore(oCode, size) + // actually retrieve the code, this needs assembly + extcodecopy(_addr, add(oCode, 0x20), _start, size) + } + } + } +} diff --git a/flutter_bird_skins/contracts/lib/sstore2/SSTORE2.sol b/flutter_bird_skins/contracts/lib/sstore2/SSTORE2.sol new file mode 100644 index 0000000..11c4de9 --- /dev/null +++ b/flutter_bird_skins/contracts/lib/sstore2/SSTORE2.sol @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +// Original: https://etherscan.io/address/0x67fca1a4f04093a927af648f1f4ca337521bda37#code#F3#L1 +import "./Bytecode.sol"; + +/** + @title A key-value storage with auto-generated keys for storing chunks of data with a lower write & read cost. + @author Agustin Aguilar + + Readme: https://github.com/0xsequence/sstore2#readme +*/ +library SSTORE2 { + error WriteError(); + + /** + @notice Stores `_data` and returns `pointer` as key for later retrieval + @dev The pointer is a contract address with `_data` as code + @param _data to be written + @return pointer Pointer to the written `_data` + */ + function write(bytes memory _data) internal returns (address pointer) { + // Append 00 to _data so contract can't be called + // Build init code + bytes memory code = Bytecode.creationCodeFor(abi.encodePacked(hex"00", _data)); + + // Deploy contract using create + assembly { + pointer := create(0, add(code, 32), mload(code)) + } + + // Address MUST be non-zero + if (pointer == address(0)) revert WriteError(); + } + + /** + @notice Reads the contents of the `_pointer` code as data, skips the first byte + @dev The function is intended for reading pointers generated by `write` + @param _pointer to be read + @return data read from `_pointer` contract + */ + function read(address _pointer) internal view returns (bytes memory) { + return Bytecode.codeAt(_pointer, 1, type(uint256).max); + } + + /** + @notice Reads the contents of the `_pointer` code as data, skips the first byte + @dev The function is intended for reading pointers generated by `write` + @param _pointer to be read + @param _start number of bytes to skip + @return data read from `_pointer` contract + */ + function read(address _pointer, uint256 _start) internal view returns (bytes memory) { + return Bytecode.codeAt(_pointer, _start + 1, type(uint256).max); + } + + /** + @notice Reads the contents of the `_pointer` code as data, skips the first byte + @dev The function is intended for reading pointers generated by `write` + @param _pointer to be read + @param _start number of bytes to skip + @param _end index before which to end extraction + @return data read from `_pointer` contract + */ + function read( + address _pointer, + uint256 _start, + uint256 _end + ) internal view returns (bytes memory) { + return Bytecode.codeAt(_pointer, _start + 1, _end + 1); + } +} diff --git a/flutter_bird_skins/package-lock.json b/flutter_bird_skins/package-lock.json new file mode 100644 index 0000000..836a3e3 --- /dev/null +++ b/flutter_bird_skins/package-lock.json @@ -0,0 +1,15211 @@ +{ + "name": "flutter_bird_skins", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@openzeppelin/contracts": "^4.7.0", + "@types/lodash": "^4.14.186", + "lodash": "^4.17.21", + "truffle-hdwallet-provider-klaytn": "^1.4.1" + }, + "devDependencies": { + "canvas": "^2.9.3", + "dotenv": "^16.0.1", + "truffle-contract": "^4.0.31", + "truffle-plugin-verify": "^0.5.26", + "web3": "^1.7.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.8.tgz", + "integrity": "sha512-c4IM7OTg6k1Q+AJ153e2mc2QVTezTwnb4VzquwcyiEzGnW0Kedv4do/TrkU98qPeC5LNiMt/QXwIjzYXLBpyZg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.8.tgz", + "integrity": "sha512-6AWcmZC/MZCO0yKys4uhg5NlxL0ESF3K6IAaoQ+xSXvPyPyxNWRafP+GDbI88Oh68O7QkJgmEtedWPM9U0pZNg==", + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.8.tgz", + "integrity": "sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==", + "dependencies": { + "@babel/types": "^7.24.8", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "dependencies": { + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.8.tgz", + "integrity": "sha512-m4vWKVqvkVAWLXfHCCfff2luJj86U+J0/x+0N3ArG/tP0Fq7zky2dYwMbtPmkc/oulkkbjdL3uWzuoBwQ8R00Q==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", + "peer": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/runtime": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", + "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", + "dependencies": { + "regenerator-runtime": "^0.12.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.8.tgz", + "integrity": "sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "dev": true, + "dependencies": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" + } + }, + "node_modules/@ethereumjs/common/node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ethereumjs/common/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/@ethereumjs/common/node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "dev": true, + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/tx": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", + "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "dev": true, + "dependencies": { + "@ethereumjs/common": "^2.6.4", + "ethereumjs-util": "^7.1.5" + } + }, + "node_modules/@ethereumjs/tx/node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ethereumjs/tx/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/@ethereumjs/tx/node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "dev": true, + "dependencies": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.9.tgz", + "integrity": "sha512-FANswl1IN3PS0eltQxH2aM2+utPrkLUVG4XVFi6SafRG9EpAqXCgycxC8PU90mPGhigYTpg9cnTB5mCZ6ejQjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/properties": "^5.0.7" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bignumber/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==" + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.12.tgz", + "integrity": "sha512-srijy31idjz8bE+gL1I6IRj2H4I9dUwfQ+QroLrIgNdGArqY8y2iFUKa3QTy+JBX26fJsdYiCQi1kKkaNpnMpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.0.10", + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "node_modules/@ethersproject/contracts/node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.10.tgz", + "integrity": "sha512-ZLwMtIcXK7xz2lSITDCl40W04CtRq4K9NwBxhCzdzPdaz6XnoJMwGz2YMVLg+8ksseq+RYtTwIIXtlK6vyvQyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/basex": "^5.0.7", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/pbkdf2": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/wordlists": "^5.0.8" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.12.tgz", + "integrity": "sha512-nac553zGZnOewpjlqbfy7WBl8m3y7qudzRsI2dCxrediYtPIVIs9f6Pbnou8vDmmp8X4/U4W788d+Ma88o+Gbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hdnode": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/pbkdf2": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/json-wallets/node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/keccak256/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==" + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.9.tgz", + "integrity": "sha512-ItE/wQ/WVw/ajEHPUVgfu0aEvksPgOQc+278bke8sGKnGO3ppjmqp0MHh17tHc1EBTzJbSms5aLIqc56qZ/oiA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/sha2": "^5.0.7" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.0.24", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.24.tgz", + "integrity": "sha512-M4Iw1r4gGJkt7ZUa++iREuviKL/DIpmIMsaUlVlXtV+ZrUXeN8xQ3zOTrbz7R4h9W9oljBZM7i4D3Kn1krJ30A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/basex": "^5.0.7", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12", + "bech32": "1.1.4", + "ws": "7.2.3" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.9.tgz", + "integrity": "sha512-DANG8THsKqFbJOantrxumtG6gyETNE54VfbsWa+SQAT8WKpDo9W/X5Zhh73KuhClaey1UI32uVmISZeq/Zxn1A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.9.tgz", + "integrity": "sha512-5FH4s47gM7N1fFAYQ1+m7aX0SbLg0Xr+6tvqndmNqc382/qBIbzXiGlUookrsjlPb6gLNurnTssCXjNM72J6lQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "hash.js": "1.1.3" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key/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==" + }, + "node_modules/@ethersproject/signing-key/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==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.10.tgz", + "integrity": "sha512-8OG3HLqynWXDA6mVIHuHfF/ojTTwBahON7hc9GAKCqglzXCkVA3OpyxOJXPzjHClRIAUUiU7r9oy9Z/nsjtT/g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.11.tgz", + "integrity": "sha512-nOSPmcCWyB/dwoBRhhTtPGCsTbiXqmc7Q0Adwvafc432AC7hy3Fj3IFZtnSXsbtJ/GdHCIUIoA8gtvxSsFuBJg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.12.tgz", + "integrity": "sha512-rboJebGf47/KPZrKZQdYg9BAYuXbc/OwcUyML1K1f2jnJeo1ObWV11U1PAWTjTbhhSy6/Fg+34GO2yMb5Dt1Rw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/hdnode": "^5.0.8", + "@ethersproject/json-wallets": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/wordlists": "^5.0.8" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.10.tgz", + "integrity": "sha512-jWsEm1iJzpg9SCXnNfFz+tcp4Ofzv0TJb6mj+soCNcar9GcT0yGz62ZsHC3pLQWaF4LkCzGwRJHJTXKjHQfG1A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@multiformats/base-x": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" + }, + "node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz", + "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" + }, + "node_modules/@scure/base": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.7.tgz", + "integrity": "sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==", + "dev": true, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "dev": true, + "dependencies": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "dev": true, + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@truffle/blockchain-utils": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.11.tgz", + "integrity": "sha512-9MyQ/20M96clhIcC7fVFIckGSB8qMsmcdU6iYt98HXJ9GOLNKsCaJFz1OVsJncVreYwTUhoEXTrVBc8zrmPDJQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true + }, + "node_modules/@truffle/contract-schema": { + "version": "3.4.16", + "resolved": "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.16.tgz", + "integrity": "sha512-g0WNYR/J327DqtJPI70ubS19K1Fth/1wxt2jFqLsPmz5cGZVjCwuhiie+LfBde4/Mc9QR8G+L3wtmT5cyoBxAg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "ajv": "^6.10.0", + "debug": "^4.3.1" + }, + "engines": { + "node": "^16.20 || ^18.16 || >=20" + } + }, + "node_modules/@truffle/error": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.6.tgz", + "integrity": "sha512-QUM9ZWiwlXGixFGpV18g5I6vua6/r+ZV9W/5DQA5go9A3eZUNPHPaTKMIQPJLYn6+ZV5jg5H28zCHq56LHF3yA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true + }, + "node_modules/@trufflesuite/eth-json-rpc-filters": { + "version": "4.1.2-1", + "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.2-1.tgz", + "integrity": "sha512-/MChvC5dw2ck9NU1cZmdovCz2VKbOeIyR4tcxDvA5sT+NaL0rA2/R5U0yI7zsbo1zD+pgqav77rQHTzpUdDNJQ==", + "dependencies": { + "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-0", + "await-semaphore": "^0.1.3", + "eth-query": "^2.1.2", + "json-rpc-engine": "^5.1.3", + "lodash.flatmap": "^4.5.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/@trufflesuite/eth-json-rpc-infura": { + "version": "4.0.3-0", + "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-infura/-/eth-json-rpc-infura-4.0.3-0.tgz", + "integrity": "sha512-xaUanOmo0YLqRsL0SfXpFienhdw5bpQ1WEXxMTRi57az4lwpZBv4tFUDvcerdwJrxX9wQqNmgUgd1BrR01dumw==", + "dependencies": { + "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-1", + "cross-fetch": "^2.1.1", + "eth-json-rpc-errors": "^1.0.1", + "json-rpc-engine": "^5.1.3" + } + }, + "node_modules/@trufflesuite/eth-json-rpc-infura/node_modules/eth-json-rpc-errors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", + "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", + "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/@trufflesuite/eth-json-rpc-middleware": { + "version": "4.4.2-1", + "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.2-1.tgz", + "integrity": "sha512-iEy9H8ja7/8aYES5HfrepGBKU9n/Y4OabBJEklVd/zIBlhCCBAWBqkIZgXt11nBXO/rYAeKwYuE3puH3ByYnLA==", + "dependencies": { + "@trufflesuite/eth-sig-util": "^1.4.2", + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-json-rpc-errors": "^1.0.1", + "eth-query": "^2.1.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.7", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "^2.6.0", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^5.1.3", + "json-stable-stringify": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/eth-json-rpc-errors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", + "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", + "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/@trufflesuite/eth-sig-util": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@trufflesuite/eth-sig-util/-/eth-sig-util-1.4.2.tgz", + "integrity": "sha512-+GyfN6b0LNW77hbQlH3ufZ/1eCON7mMrGym6tdYf7xiNw9Vv3jBO72bmmos1EId2NgBvPMhmYYm6DSLQFTmzrA==", + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^5.1.1" + } + }, + "node_modules/@trufflesuite/eth-sig-util/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/@trufflesuite/web3-provider-engine": { + "version": "15.0.13-1", + "resolved": "https://registry.npmjs.org/@trufflesuite/web3-provider-engine/-/web3-provider-engine-15.0.13-1.tgz", + "integrity": "sha512-6u3x/iIN5fyj8pib5QTUDmIOUiwAGhaqdSTXdqCu6v9zo2BEwdCqgEJd1uXDh3DBmPRDfiZ/ge8oUPy7LerpHg==", + "dependencies": { + "@trufflesuite/eth-json-rpc-filters": "^4.1.2-1", + "@trufflesuite/eth-json-rpc-infura": "^4.0.3-0", + "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-1", + "@trufflesuite/eth-sig-util": "^1.4.2", + "async": "^2.5.0", + "backoff": "^2.5.0", + "clone": "^2.0.0", + "cross-fetch": "^2.1.0", + "eth-block-tracker": "^4.4.2", + "eth-json-rpc-errors": "^2.0.2", + "ethereumjs-block": "^1.2.2", + "ethereumjs-tx": "^1.2.0", + "ethereumjs-util": "^5.1.5", + "ethereumjs-vm": "^2.3.4", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "readable-stream": "^2.2.9", + "request": "^2.85.0", + "semaphore": "^1.0.3", + "ws": "^5.1.1", + "xhr": "^2.2.0", + "xtend": "^4.0.1" + } + }, + "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/@trufflesuite/web3-provider-engine/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/@trufflesuite/web3-provider-engine/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@trufflesuite/web3-provider-engine/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==" + }, + "node_modules/@trufflesuite/web3-provider-engine/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.6.tgz", + "integrity": "sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==" + }, + "node_modules/@types/node": { + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/secp256k1": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + }, + "node_modules/@web3-js/scrypt-shim": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz", + "integrity": "sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw==", + "deprecated": "This package is deprecated, for a pure JS implementation please use scrypt-js", + "hasInstallScript": true, + "dependencies": { + "scryptsy": "^2.1.0", + "semver": "^6.3.0" + } + }, + "node_modules/@web3-js/scrypt-shim/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "node_modules/abstract-leveldown": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "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==", + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "engines": { + "node": "*" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, + "node_modules/async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "dependencies": { + "async": "^2.4.0" + } + }, + "node_modules/async-iterator-to-pull-stream": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz", + "integrity": "sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA==", + "dependencies": { + "get-iterator": "^1.0.2", + "pull-stream-to-async-iterator": "^1.0.1" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/await-semaphore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", + "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", + "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==" + }, + "node_modules/axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/backoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", + "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", + "dependencies": { + "precond": "0.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "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-x": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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==", + "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/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bl/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/bl/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/bl/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/bl/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "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==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/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/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/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/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.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==" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/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==" + }, + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/browserify-sign/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==" + }, + "node_modules/browserify-sign/node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "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/browserify-sign/node_modules/elliptic/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==" + }, + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream/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==" + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserify-sign/node_modules/string_decoder/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==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "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==" + }, + "node_modules/buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/bufferutil": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/cacache/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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "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==", + "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/cacheable-lookup": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", + "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001641", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", + "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/canvas": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", + "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/caver-js": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/caver-js/-/caver-js-1.6.3.tgz", + "integrity": "sha512-xSPnawdVFregH6eTO+1TF1rDAueiyFkgphKOAgSaPSw8DGz9jcRliTU2OH0jCghyTt0k9yntAR0NzlIKTc/76A==", + "dependencies": { + "@babel/runtime": "7.3.1", + "@ethersproject/abi": "5.0.7", + "@web3-js/scrypt-shim": "0.1.0", + "any-promise": "1.3.0", + "bignumber.js": "8.0.2", + "bn.js": "4.11.6", + "chai": "4.1.2", + "crypto-browserify": "3.12.0", + "dotenv": "8.2.0", + "elliptic": "6.5.4", + "eth-lib": "0.2.8", + "ethers": "5.0.32", + "ethjs-unit": "0.1.6", + "eventemitter3": "4.0.0", + "ipfs-http-client-lite": "0.3.0", + "it-each": "0.4.0", + "lodash": "4.17.21", + "mocha": "8.3.2", + "multihashes": "4.0.2", + "node-fetch": "2.6.1", + "number-to-bn": "1.7.0", + "oboe": "2.1.3", + "request": "2.87.0", + "requestretry": "2.0.2", + "scrypt-js": "3.0.1", + "semver": "6.2.0", + "utf8": "2.1.1", + "uuid": "3.0.0", + "webpack": "4.44.2", + "webpack-cli": "3.3.12", + "websocket": "1.0.31", + "xhr2-cookies": "1.1.0" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/abstract-provider": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.10.tgz", + "integrity": "sha512-OSReY5iz94iIaPlRvLiJP8YVIvQLx4aUvMMnHWSaA/vTU8QHZmgNlt4OBdYV1+aFY8Xl+VRYiWBHq72ZDKXXCQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/abstract-signer": { + "version": "5.0.14", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.14.tgz", + "integrity": "sha512-JztBwVO7o5OHLh2vyjordlS4/1EjRyaECtc8vPdXTF1i4dXN+J0coeRoPN6ZFbBvi/YbaB6br2fvqhst1VQD/g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/address": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.11.tgz", + "integrity": "sha512-Et4GBdD8/tsBGjCEOKee9upN29qjL5kbRcmJifb4Penmiuh9GARXL2/xpXvEp5EW+EIW/rfCHFJrkYBgoQFQBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/rlp": "^5.0.7" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/base64": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.9.tgz", + "integrity": "sha512-37RBz5LEZ9SlTNGiWCYFttnIN9J7qVs9Xo2EbqGqDH5LfW9EIji66S+YDMpXVo1zWDax1FkEldAoatxHK2gfgA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/bignumber": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.15.tgz", + "integrity": "sha512-MTADqnyacvdRwtKh7o9ujwNDSM1SDJjYDMYAzjIgjoi9rh6TY4suMbhCa3i2vh3SUXiXSICyTI8ui+NPdrZ9Lw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "bn.js": "^4.4.0" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/bytes": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.11.tgz", + "integrity": "sha512-D51plLYY5qF05AsoVQwIZVLqlBkaTPVHVP/1WmmBIWyHB0cRW0C9kh0kx5Exo51rB63Hk8PfHxc7SmpoaQFEyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/constants": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.10.tgz", + "integrity": "sha512-OSo8jxkHLDXieCy8bgOFR7lMfgPxEzKvSDdP+WAWHCDM8+orwch0B6wzkTmiQFgryAtIctrBt5glAdJikZ3hGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/hash": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.12.tgz", + "integrity": "sha512-kn4QN+fhNFbUgX3XZTZUaQixi0oyfIEY+hfW+KtkHu+rq7dV76oAIvaLEEynu1/4npOL38E4X4YI42gGZk+C0Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/keccak256": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.9.tgz", + "integrity": "sha512-zhdUTj6RGtCJSgU+bDrWF6cGbvW453LoIC1DSNWrTlXzC7WuH4a+EiPrgc7/kNoRxerKuA/cxYlI8GwNtVtDlw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "js-sha3": "0.5.7" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/logger": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.10.tgz", + "integrity": "sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/caver-js/node_modules/@ethersproject/networks": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.9.tgz", + "integrity": "sha512-L8+VCQwArBLGkxZb/5Ns/OH/OxP38AcaveXIxhUTq+VWpXYjrObG3E7RDQIKkUx1S1IcQl/UWTz5w4DK0UitJg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/properties": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.9.tgz", + "integrity": "sha512-ZCjzbHYTw+rF1Pn8FDCEmx3gQttwIHcm/6Xee8g/M3Ga3SfW4tccNMbs5zqnBH0E4RoOPaeNgyg1O68TaF0tlg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/rlp": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.9.tgz", + "integrity": "sha512-ns1U7ZMVeruUW6JXc4om+1w3w4ynHN/0fpwmeNTsAjwGKoF8SAUgue6ylKpHKWSti2idx7jDxbn8hNNFHk67CA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/signing-key": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.11.tgz", + "integrity": "sha512-Jfcru/BGwdkXhLxT+8WCZtFy7LL0TPFZw05FAb5asxB/MyVsEfNdNxGDtjVE9zXfmRSPe/EusXYY4K7wcygOyQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "elliptic": "6.5.4" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/strings": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.10.tgz", + "integrity": "sha512-KAeoS1tZ9/5ECXiIZA6S6hywbD0so2VmuW+Wfyo5EDXeyZ6Na1nxTPhTnW7voQmjbeYJffCrOc0qLFJeylyg7w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/transactions": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.11.tgz", + "integrity": "sha512-ftsRvR9+gQp7L63F6+XmstvsZ4w8GtWvQB08e/zB+oB86Fnhq8+i/tkgpJplSHC8I/qgiCisva+M3u2GVhDFPA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/@ethersproject/web": { + "version": "5.0.14", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.14.tgz", + "integrity": "sha512-QpTgplslwZ0Sp9oKNLoRuS6TKxnkwfaEk3gr7zd7XLF8XBsYejsrQO/03fNfnMx/TAT/RR6WEw/mbOwpRSeVRA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.0.7", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/bignumber.js": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.0.2.tgz", + "integrity": "sha512-EiuvFrnbv0jFixEQ9f58jo7X0qI2lNGIr/MxntmVzQc5JUweDSh8y8hbTCAomFtqwUPIOWcLXP0VEOSZTG7FFw==", + "engines": { + "node": "*" + } + }, + "node_modules/caver-js/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + }, + "node_modules/caver-js/node_modules/dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/caver-js/node_modules/ethers": { + "version": "5.0.32", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.32.tgz", + "integrity": "sha512-rORfGWR0HsA4pjKMMcWZorw12DHsXqfIAuPVHJsXt+vI24jvXcVqx+rLsSvgOoLdaCMdxiN5qlIq2+4axKG31g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.0.13", + "@ethersproject/abstract-provider": "5.0.10", + "@ethersproject/abstract-signer": "5.0.14", + "@ethersproject/address": "5.0.11", + "@ethersproject/base64": "5.0.9", + "@ethersproject/basex": "5.0.9", + "@ethersproject/bignumber": "5.0.15", + "@ethersproject/bytes": "5.0.11", + "@ethersproject/constants": "5.0.10", + "@ethersproject/contracts": "5.0.12", + "@ethersproject/hash": "5.0.12", + "@ethersproject/hdnode": "5.0.10", + "@ethersproject/json-wallets": "5.0.12", + "@ethersproject/keccak256": "5.0.9", + "@ethersproject/logger": "5.0.10", + "@ethersproject/networks": "5.0.9", + "@ethersproject/pbkdf2": "5.0.9", + "@ethersproject/properties": "5.0.9", + "@ethersproject/providers": "5.0.24", + "@ethersproject/random": "5.0.9", + "@ethersproject/rlp": "5.0.9", + "@ethersproject/sha2": "5.0.9", + "@ethersproject/signing-key": "5.0.11", + "@ethersproject/solidity": "5.0.10", + "@ethersproject/strings": "5.0.10", + "@ethersproject/transactions": "5.0.11", + "@ethersproject/units": "5.0.11", + "@ethersproject/wallet": "5.0.12", + "@ethersproject/web": "5.0.14", + "@ethersproject/wordlists": "5.0.10" + } + }, + "node_modules/caver-js/node_modules/ethers/node_modules/@ethersproject/abi": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.13.tgz", + "integrity": "sha512-2coOH3D7ra1lwamKEH0HVc+Jbcsw5yfeCgmY8ekhCDualEiyyovD2qDcMBBcY3+kjoLHVTmo7ost6MNClxdOrg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/caver-js/node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/caver-js/node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/caver-js/node_modules/semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/caver-js/node_modules/uuid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", + "integrity": "sha512-rqE1LoOVLv3QrZMjb4NkF5UWlkurCfPyItVnFPNKDDGkHw4dQUdE4zMcLqx28+0Kcf3+bnUk4PisaiRJT4aiaQ==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/chai": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", + "integrity": "sha512-YTHf80rJ8M5/cJoFKEV1y3PnexbGs0vSHjouRRU8gLM05Nc3Mqq9zor/P4SCqB/sgvKRLvya7wHLC1XQ9pTjgQ==", + "dependencies": { + "assertion-error": "^1.0.1", + "check-error": "^1.0.1", + "deep-eql": "^3.0.0", + "get-func-name": "^2.0.0", + "pathval": "^1.0.0", + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/checkpoint-store": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", + "integrity": "sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg==", + "dependencies": { + "functional-red-black-tree": "^1.0.1" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/cids/node_modules/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/cids/node_modules/multihashes/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/circular/-/circular-1.0.5.tgz", + "integrity": "sha512-n4Sspha+wxUl5zeA3JYp1zFCjsLz2VfXIe2gRKNQBrIX+7iPdGcCGZOF8W8IULtllZ/aejXtySfdFFt1wy/3JQ==", + "dev": true + }, + "node_modules/class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, + "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==", + "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==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cli-logger": { + "version": "0.5.40", + "resolved": "https://registry.npmjs.org/cli-logger/-/cli-logger-0.5.40.tgz", + "integrity": "sha512-piXVCa0TLm/+A7xdVEhw7t4OSrsmJaZIekWcoGrVMY1bHtLJTXgiNzgHlKT0EVHQ14sCKWorQJazU7UWgZhXOQ==", + "dev": true, + "dependencies": { + "circular": "^1.0.5", + "cli-util": "~1.1.27" + } + }, + "node_modules/cli-regexp": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-regexp/-/cli-regexp-0.1.2.tgz", + "integrity": "sha512-L++cAQ5g0Nu6aV56B3uaR+c7jEGSAa4WApY1ZN7XiD8niJ5jRfXE/qvMwgz3uZBG0rft4hJS75Vpz2F3mSm4Mg==", + "dev": true + }, + "node_modules/cli-util": { + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/cli-util/-/cli-util-1.1.27.tgz", + "integrity": "sha512-Z6+zI0kIrqf9Oi+PmUm8J9AELp8bTf2vCLYseudYtdOPNJvzpNiExO95aHIm477IbPdu/8SE9Wvc/M1kJl4Anw==", + "dev": true, + "dependencies": { + "cli-regexp": "~0.1.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==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "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==", + "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==", + "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==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/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==" + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "dev": true, + "dependencies": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "node_modules/content-hash/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/content-hash/node_modules/multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "varint": "^5.0.0" + } + }, + "node_modules/content-hash/node_modules/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "peer": true + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/copy-concurrently/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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-fetch": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.6.tgz", + "integrity": "sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA==", + "dependencies": { + "node-fetch": "^2.6.7", + "whatwg-fetch": "^2.0.4" + } + }, + "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==", + "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/cross-spawn/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==" + }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "dev": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/make-dir/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/decompress/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/deferred-leveldown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "dependencies": { + "abstract-leveldown": "~2.6.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "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==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/dot-notes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/dot-notes/-/dot-notes-3.1.1.tgz", + "integrity": "sha512-D+n1OBBQeJBBX/kTFcjtRZBvbnpCinV9Z/Hzey3dLhzWJV54TcuySc0QlDQemvPH8vpCiJrtOK5FrZ0MigHlug==" + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", + "dependencies": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/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==" + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.827", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.827.tgz", + "integrity": "sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==" + }, + "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==", + "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/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==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "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==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enhanced-resolve/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/enhanced-resolve/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==" + }, + "node_modules/enhanced-resolve/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eth-block-tracker": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", + "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", + "dependencies": { + "@babel/plugin-transform-runtime": "^7.5.5", + "@babel/runtime": "^7.5.5", + "eth-query": "^2.1.0", + "json-rpc-random-id": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/eth-block-tracker/node_modules/@babel/runtime": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz", + "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/eth-block-tracker/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", + "dev": true, + "dependencies": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "node_modules/eth-json-rpc-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-2.0.2.tgz", + "integrity": "sha512-uBCRM2w2ewusRHGxN8JhcuOb2RN3ueAOYH/0BhqdFmQkZx5lj5+fLKTz0mIVOzd4FG5/kUksCzCD7eTEim6gaA==", + "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/eth-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", + "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", + "dependencies": { + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "node_modules/eth-rpc-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", + "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/ethereum-bloom-filters": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.1.0.tgz", + "integrity": "sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==", + "dev": true, + "dependencies": { + "@noble/hashes": "^1.4.0" + } + }, + "node_modules/ethereum-common": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", + "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" + }, + "node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethereum-cryptography/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==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/ethereum-cryptography/node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/ethereum-cryptography/node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/ethereum-protocol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz", + "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==" + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-account": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", + "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", + "dependencies": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-account/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-block": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", + "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", + "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", + "dependencies": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ethereumjs-block/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", + "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", + "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." + }, + "node_modules/ethereumjs-tx": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", + "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", + "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "dependencies": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "node_modules/ethereumjs-tx/node_modules/ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ==" + }, + "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-util": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "0.1.6", + "keccak": "^2.0.0", + "rlp": "^2.2.3", + "secp256k1": "^3.0.1" + } + }, + "node_modules/ethereumjs-util/node_modules/keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=5.12.0" + } + }, + "node_modules/ethereumjs-util/node_modules/secp256k1": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.5.2", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ethereumjs-vm": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", + "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", + "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", + "dependencies": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", + "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", + "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", + "dependencies": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-wallet": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz", + "integrity": "sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw==", + "dependencies": { + "aes-js": "^3.1.1", + "bs58check": "^2.1.2", + "ethereum-cryptography": "^0.1.3", + "ethereumjs-util": "^7.0.2", + "randombytes": "^2.0.6", + "scrypt-js": "^3.0.1", + "utf8": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "node_modules/ethereumjs-wallet/node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ethereumjs-wallet/node_modules/aes-js": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + }, + "node_modules/ethereumjs-wallet/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==" + }, + "node_modules/ethereumjs-wallet/node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ethereumjs-wallet/node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/ethereumjs-wallet/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "node_modules/ethereumjs-wallet/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "dependencies": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "dependencies": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "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==" + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/explain-error": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", + "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/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/express/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/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fake-merkle-patricia-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", + "integrity": "sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA==", + "dependencies": { + "checkpoint-store": "^1.1.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "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==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fetch-ponyfill": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", + "integrity": "sha512-knK9sGskIg2T7OnYLdZ2hZXn0CtDrAIBxYQLpmEf0BqfdWnwmM1weccUl5+4EdA44tzNSFAuxITPbXtPehUB3g==", + "dependencies": { + "node-fetch": "~1.7.1" + } + }, + "node_modules/fetch-ponyfill/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "deprecated": "This module is no longer supported." + }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/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/finalhandler/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/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/flush-write-stream/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==" + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", + "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", + "dev": true + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/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==" + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fs-write-stream-atomic/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==" + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.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==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "peer": 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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" + }, + "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-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", + "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "@szmarczak/http-timer": "^5.0.1", + "@types/cacheable-request": "^6.0.2", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^6.0.4", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "form-data-encoder": "1.7.1", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "engines": { + "node": ">=4.x" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha512-r7LZkP7Z6WMxj5zARzB9dSpIKu/sp0NfHIgtj6kmQXhEArNctjB5FEv/L2XfLdWqIocPT2QVt0LFOlEUioTBtQ==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/har-validator/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" + }, + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "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==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "dependencies": { + "punycode": "2.1.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/idna-uts46-hx/node_modules/punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" + }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "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==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "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==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipfs-http-client-lite": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.0.tgz", + "integrity": "sha512-fmxEctpzqaPd0gooBuvjMwxSoqz15rwjjm2ZF3Ns4Ckz/zz5JEmiDKuwlMOfwkARd5Wsiy2FqQpQEvBTJ8R7Og==", + "dependencies": { + "abort-controller": "^3.0.0", + "async-iterator-to-pull-stream": "^1.3.0", + "buffer": "^5.2.1", + "cids": "^0.7.1", + "explain-error": "^1.0.4", + "form-data": "^2.4.0", + "iterable-ndjson": "^1.1.0", + "node-fetch": "^2.6.0", + "pull-stream-to-async-iterator": "^1.0.2", + "querystring": "^0.2.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "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-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", + "integrity": "sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/it-each": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/it-each/-/it-each-0.4.0.tgz", + "integrity": "sha512-fbOxSUiOByQnkgoFUEKPfzAuoUZ0mQRAXdWWsfI53gMJZ2oyhPcJBOCFx8yuMM36yP6OUUL3LgilYEqBiSACmQ==", + "dependencies": { + "dot-notes": "3.1.1" + } + }, + "node_modules/iterable-ndjson": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", + "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "dependencies": { + "string_decoder": "^1.2.0" + } + }, + "node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" + }, + "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==" + }, + "node_modules/js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "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==" + }, + "node_modules/json-rpc-engine": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", + "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", + "dependencies": { + "eth-rpc-errors": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/json-rpc-random-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", + "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/keccak": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/level-codec": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" + }, + "node_modules/level-errors": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", + "dependencies": { + "errno": "~0.1.1" + } + }, + "node_modules/level-iterator-stream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", + "dependencies": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + } + }, + "node_modules/level-iterator-stream/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/level-iterator-stream/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/level-iterator-stream/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/level-ws": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", + "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", + "dependencies": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + } + }, + "node_modules/level-ws/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/level-ws/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" + }, + "node_modules/level-ws/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/level-ws/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/level-ws/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/levelup": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "dependencies": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "node_modules/levelup/node_modules/semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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==" + }, + "node_modules/lodash.flatmap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", + "integrity": "sha512-/OcpcAGWlrZyoHGeHh3cAoa6nGdX6QYtmzNP84Jqol6UEQQ2gIaU3H+0eICcjcKGl0/XF8LWOujNn9lffsnaOg==" + }, + "node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-symbols/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/log-symbols/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/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==" + }, + "node_modules/log-symbols/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lru-cache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" + }, + "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/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "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==", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memdown": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", + "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", + "dependencies": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/memdown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", + "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/memdown/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==" + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/memory-fs/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==" + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merkle-patricia-tree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", + "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", + "dependencies": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/merkle-patricia-tree/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/merkle-patricia-tree/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/merkle-patricia-tree/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/merkle-patricia-tree/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==" + }, + "node_modules/merkle-patricia-tree/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micro-ftch": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", + "dev": true + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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/micromatch/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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/micromatch/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==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/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==", + "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/micromatch/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==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/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==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/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==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/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==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "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==" + }, + "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==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "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==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "dev": true, + "dependencies": { + "mkdirp": "*" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz", + "integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==", + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/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==" + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mocha/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/mock-fs": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", + "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", + "dev": true + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/move-concurrently/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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.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==" + }, + "node_modules/multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "node_modules/multihashes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz", + "integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==", + "dependencies": { + "multibase": "^4.0.1", + "uint8arrays": "^2.1.3", + "varint": "^5.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multihashes/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/nan": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==" + }, + "node_modules/nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "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-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/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==" + }, + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-libs-browser/node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", + "engines": { + "node": "*" + } + }, + "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==", + "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", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "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==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "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==", + "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==", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oboe": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", + "integrity": "sha512-LoIaLa//jdUS3tKDfshPNCv+18WDnrUfgMADZlnKD0WeMzt9Utf44DnyBzi5SEL/hq7VSfb41OSZ1/lysMjf1g==", + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, + "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==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/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==" + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "optional": true + }, + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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==", + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/precond": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", + "integrity": "sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "node_modules/promise-to-callback": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", + "integrity": "sha512-uhMIZmKM5ZteDMfLgJnoSq9GCwsNKrYau73Awf1jIy6/eUcuuZ3P+CD9zUv0kJsIUbU+x6uLNIhXhLHDs1pNPA==", + "dependencies": { + "is-fn": "^1.0.0", + "set-immediate-shim": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/pull-stream": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.7.0.tgz", + "integrity": "sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==" + }, + "node_modules/pull-stream-to-async-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz", + "integrity": "sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA==", + "dependencies": { + "pull-stream": "^3.6.9" + } + }, + "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==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomhex": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", + "integrity": "sha512-2+Kkw7UiZGQWOz7rw8hPW44utkBYMEciQfziaZ71RcyDu+refQWzS/0DgfUSa5MwclrOD3sf3vI5vmrTYjwpjQ==", + "dev": true + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + }, + "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==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "optional": 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==", + "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==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/requestretry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-2.0.2.tgz", + "integrity": "sha512-wBIylIEvvGHnFAYRXIKCARGzWxChn+mo7X3KjXPgtofB+c0ejcZFdZ5k6RFhBV+IOf80fkemcVuVdUKqovnj8A==", + "dependencies": { + "extend": "^3.0.2", + "lodash": "^4.17.10", + "when": "^3.7.7" + }, + "peerDependencies": { + "request": "~2.87.0" + } + }, + "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==", + "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==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.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-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "engines": { + "node": ">=4" + } + }, + "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" + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/responselike/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "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==", + "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==" + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/run-queue/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safe-event-emitter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", + "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", + "deprecated": "Renamed to @metamask/safe-event-emitter", + "dependencies": { + "events": "^3.0.0" + } + }, + "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==", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/scryptsy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/semaphore": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", + "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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/send/node_modules/debug/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/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "dev": true, + "dependencies": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + }, + "engines": { + "node": ">=6" + } + }, + "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==" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "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==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "dev": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "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==" + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "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==", + "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", + "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.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/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==", + "engines": { + "node": ">=0.10.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" + }, + "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==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "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==", + "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==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/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==" + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/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==" + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "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==", + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swarm-js": { + "version": "0.1.42", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", + "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^11.8.5", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + } + }, + "node_modules/swarm-js/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/swarm-js/node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/swarm-js/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/swarm-js/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/swarm-js/node_modules/eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/swarm-js/node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/swarm-js/node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/swarm-js/node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/swarm-js/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/swarm-js/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/swarm-js/node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/swarm-js/node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/swarm-js/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/swarm-js/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/swarm-js/node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/swarm-js/node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/swarm-js/node_modules/ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/swarm-js/node_modules/ws/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/swarm-js/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar-stream/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/tar-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/tar-stream/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/tar-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/terser-webpack-plugin/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/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==" + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "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==", + "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==", + "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==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/truffle-contract": { + "version": "4.0.31", + "resolved": "https://registry.npmjs.org/truffle-contract/-/truffle-contract-4.0.31.tgz", + "integrity": "sha512-u3q+p1wiX5C2GpnluGx/d2iaJk7bcWshk2/TohiJyA2iQiTfkS7M4n9D9tY3JqpXR8PmD/TrA69RylO0RhITFA==", + "deprecated": "WARNING: This package has been renamed to @truffle/contract.", + "dev": true, + "dependencies": { + "@truffle/blockchain-utils": "^0.0.11", + "@truffle/contract-schema": "^3.0.14", + "@truffle/error": "^0.0.6", + "bignumber.js": "^7.2.1", + "ethers": "^4.0.0-beta.1", + "truffle-interface-adapter": "^0.2.5", + "web3": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "node_modules/truffle-contract/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/truffle-contract/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/truffle-contract/node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "node_modules/truffle-contract/node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/truffle-contract/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/truffle-contract/node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/truffle-contract/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/truffle-contract/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/truffle-contract/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-contract/node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/truffle-contract/node_modules/eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/truffle-contract/node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "node_modules/truffle-contract/node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/truffle-contract/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/truffle-contract/node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/truffle-contract/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-contract/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "node_modules/truffle-contract/node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/truffle-contract/node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-contract/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-contract/node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/truffle-contract/node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/truffle-contract/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/truffle-contract/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/truffle-contract/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/truffle-contract/node_modules/oboe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", + "integrity": "sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ==", + "dev": true, + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/truffle-contract/node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/truffle-contract/node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-contract/node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/truffle-contract/node_modules/semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/truffle-contract/node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/truffle-contract/node_modules/swarm-js": { + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", + "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "decompress": "^4.0.0", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/truffle-contract/node_modules/swarm-js/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-contract/node_modules/swarm-js/node_modules/got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "dependencies": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-contract/node_modules/swarm-js/node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-contract/node_modules/swarm-js/node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dev": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-contract/node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/truffle-contract/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/truffle-contract/node_modules/web3": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.1.tgz", + "integrity": "sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw==", + "dev": true, + "dependencies": { + "web3-bzz": "1.2.1", + "web3-core": "1.2.1", + "web3-eth": "1.2.1", + "web3-eth-personal": "1.2.1", + "web3-net": "1.2.1", + "web3-shh": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-bzz": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.1.tgz", + "integrity": "sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw==", + "dev": true, + "dependencies": { + "got": "9.6.0", + "swarm-js": "0.1.39", + "underscore": "1.9.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.1.tgz", + "integrity": "sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg==", + "dev": true, + "dependencies": { + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-requestmanager": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-core-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz", + "integrity": "sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-core-method": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.1.tgz", + "integrity": "sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-core-requestmanager": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz", + "integrity": "sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "web3-providers-http": "1.2.1", + "web3-providers-ipc": "1.2.1", + "web3-providers-ws": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-core-subscriptions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz", + "integrity": "sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g==", + "dev": true, + "dependencies": { + "eventemitter3": "3.1.2", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.1.tgz", + "integrity": "sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-eth-accounts": "1.2.1", + "web3-eth-contract": "1.2.1", + "web3-eth-ens": "1.2.1", + "web3-eth-iban": "1.2.1", + "web3-eth-personal": "1.2.1", + "web3-net": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth-accounts": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz", + "integrity": "sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ==", + "dev": true, + "dependencies": { + "any-promise": "1.3.0", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.7", + "scryptsy": "2.1.0", + "semver": "6.2.0", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth-accounts/node_modules/eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha512-VqEBQKH92jNsaE8lG9CTq8M/bc12gdAfb5MY8Ro1hVyXkh7rOtY3m5tRHK3Hus5HqIAAwU2ivcUjTLVwsvf/kw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth-contract": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz", + "integrity": "sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth-ens": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz", + "integrity": "sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q==", + "dev": true, + "dependencies": { + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-eth-contract": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth-iban": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz", + "integrity": "sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ==", + "dev": true, + "dependencies": { + "bn.js": "4.11.8", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-eth-personal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz", + "integrity": "sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg==", + "dev": true, + "dependencies": { + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-net": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-net": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.1.tgz", + "integrity": "sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw==", + "dev": true, + "dependencies": { + "web3-core": "1.2.1", + "web3-core-method": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-providers-http": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.1.tgz", + "integrity": "sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ==", + "dev": true, + "dependencies": { + "web3-core-helpers": "1.2.1", + "xhr2-cookies": "1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-providers-ipc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz", + "integrity": "sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA==", + "dev": true, + "dependencies": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-providers-ws": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz", + "integrity": "sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "websocket": "github:web3-js/WebSocket-Node#polyfill/globalThis" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/web3-shh": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.1.tgz", + "integrity": "sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA==", + "dev": true, + "dependencies": { + "web3-core": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-net": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-contract/node_modules/websocket": { + "version": "1.0.29", + "resolved": "git+ssh://git@github.com/web3-js/WebSocket-Node.git#ef5ea2f41daf4a2113b80c9223df884b4d56c400", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-contract/node_modules/ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/truffle-contract/node_modules/ws/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/truffle-contract/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/truffle-hdwallet-provider-klaytn": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/truffle-hdwallet-provider-klaytn/-/truffle-hdwallet-provider-klaytn-1.4.2.tgz", + "integrity": "sha512-ECsaulUnVIYwSXzgh71FX7qKcCGSNj77GdoqQWNls5jJR0T3ufdG8lmH85TEnz9JOHEeEnLeLvUJ/Tcn2U4OMw==", + "dependencies": { + "@trufflesuite/web3-provider-engine": "15.0.13-1", + "any-promise": "1.3.0", + "bindings": "1.5.0", + "caver-js": "1.6.3", + "ethereum-cryptography": "0.1.3", + "ethereum-protocol": "1.0.1", + "ethereumjs-util": "6.2.0", + "ethereumjs-wallet": "1.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/truffle-interface-adapter": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/truffle-interface-adapter/-/truffle-interface-adapter-0.2.5.tgz", + "integrity": "sha512-EL39OpP8FcZ99ne1Rno3jImfb92Nectd4iVsZzoEUCBfbwHe7sr0k+i45guoruSoP8nMUE81Mov2s8I5pi6d9Q==", + "deprecated": "WARNING: This package has been renamed to @truffle/interface-adapter.", + "dev": true, + "dependencies": { + "bn.js": "^4.11.8", + "ethers": "^4.0.32", + "lodash": "^4.17.13", + "web3": "1.2.1" + } + }, + "node_modules/truffle-interface-adapter/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/truffle-interface-adapter/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/truffle-interface-adapter/node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "node_modules/truffle-interface-adapter/node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/truffle-interface-adapter/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/truffle-interface-adapter/node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/truffle-interface-adapter/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/truffle-interface-adapter/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/truffle-interface-adapter/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-interface-adapter/node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/truffle-interface-adapter/node_modules/eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/truffle-interface-adapter/node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "node_modules/truffle-interface-adapter/node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/truffle-interface-adapter/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/truffle-interface-adapter/node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/truffle-interface-adapter/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "node_modules/truffle-interface-adapter/node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-interface-adapter/node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/truffle-interface-adapter/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/truffle-interface-adapter/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/truffle-interface-adapter/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/truffle-interface-adapter/node_modules/oboe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", + "integrity": "sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ==", + "dev": true, + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/truffle-interface-adapter/node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/truffle-interface-adapter/node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/truffle-interface-adapter/node_modules/swarm-js": { + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", + "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "decompress": "^4.0.0", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/truffle-interface-adapter/node_modules/swarm-js/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-interface-adapter/node_modules/swarm-js/node_modules/got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "dependencies": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-interface-adapter/node_modules/swarm-js/node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/truffle-interface-adapter/node_modules/swarm-js/node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dev": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/truffle-interface-adapter/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.1.tgz", + "integrity": "sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw==", + "dev": true, + "dependencies": { + "web3-bzz": "1.2.1", + "web3-core": "1.2.1", + "web3-eth": "1.2.1", + "web3-eth-personal": "1.2.1", + "web3-net": "1.2.1", + "web3-shh": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-bzz": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.1.tgz", + "integrity": "sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw==", + "dev": true, + "dependencies": { + "got": "9.6.0", + "swarm-js": "0.1.39", + "underscore": "1.9.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.1.tgz", + "integrity": "sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg==", + "dev": true, + "dependencies": { + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-requestmanager": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-core-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz", + "integrity": "sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-core-method": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.1.tgz", + "integrity": "sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-core-requestmanager": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz", + "integrity": "sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "web3-providers-http": "1.2.1", + "web3-providers-ipc": "1.2.1", + "web3-providers-ws": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-core-subscriptions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz", + "integrity": "sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g==", + "dev": true, + "dependencies": { + "eventemitter3": "3.1.2", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.1.tgz", + "integrity": "sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-eth-accounts": "1.2.1", + "web3-eth-contract": "1.2.1", + "web3-eth-ens": "1.2.1", + "web3-eth-iban": "1.2.1", + "web3-eth-personal": "1.2.1", + "web3-net": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth-accounts": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz", + "integrity": "sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ==", + "dev": true, + "dependencies": { + "any-promise": "1.3.0", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.7", + "scryptsy": "2.1.0", + "semver": "6.2.0", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth-accounts/node_modules/eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha512-VqEBQKH92jNsaE8lG9CTq8M/bc12gdAfb5MY8Ro1hVyXkh7rOtY3m5tRHK3Hus5HqIAAwU2ivcUjTLVwsvf/kw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth-contract": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz", + "integrity": "sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth-ens": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz", + "integrity": "sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q==", + "dev": true, + "dependencies": { + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-eth-contract": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth-iban": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz", + "integrity": "sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ==", + "dev": true, + "dependencies": { + "bn.js": "4.11.8", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-eth-personal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz", + "integrity": "sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg==", + "dev": true, + "dependencies": { + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-net": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-net": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.1.tgz", + "integrity": "sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw==", + "dev": true, + "dependencies": { + "web3-core": "1.2.1", + "web3-core-method": "1.2.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-providers-http": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.1.tgz", + "integrity": "sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ==", + "dev": true, + "dependencies": { + "web3-core-helpers": "1.2.1", + "xhr2-cookies": "1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-providers-ipc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz", + "integrity": "sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA==", + "dev": true, + "dependencies": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-providers-ws": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz", + "integrity": "sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA==", + "dev": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "websocket": "github:web3-js/WebSocket-Node#polyfill/globalThis" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/web3-shh": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.1.tgz", + "integrity": "sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA==", + "dev": true, + "dependencies": { + "web3-core": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-net": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/websocket": { + "version": "1.0.29", + "resolved": "git+ssh://git@github.com/web3-js/WebSocket-Node.git#ef5ea2f41daf4a2113b80c9223df884b4d56c400", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/truffle-interface-adapter/node_modules/ws/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/truffle-interface-adapter/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/truffle-plugin-verify": { + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/truffle-plugin-verify/-/truffle-plugin-verify-0.5.33.tgz", + "integrity": "sha512-NonyWylAVAjqHsvBe61iUpWmHQoN6wvz7OaNzIfyHO8+O5ZErPT/lhv+zRT31OLeFOanM403FySY3A/kzpl6fg==", + "deprecated": "Truffle was sunset, so this package will be deprecated alongside Truffle", + "dev": true, + "dependencies": { + "axios": "^0.26.1", + "cli-logger": "^0.5.40", + "delay": "^5.0.0", + "querystring": "^0.2.1", + "tunnel": "0.0.6" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "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" + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==" + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/url/node_modules/qs": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", + "integrity": "sha512-FzZp4f0vPa0AfWf+eav6hqZEqbn7TU1my/GUexpF9e0Afe/fnuLQvgdq5KgD3ggUpu3DpwRUGC0iS8q35eVBLQ==" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==" + }, + "node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/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==", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": 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/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/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==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/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==", + "optional": 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/watchpack-chokidar2/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": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/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==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "optional": true + }, + "node_modules/watchpack-chokidar2/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==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/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==", + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/watchpack-chokidar2/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==", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/web3": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.4.tgz", + "integrity": "sha512-kgJvQZjkmjOEKimx/tJQsqWfRDPTTcBfYPa9XletxuHLpHcXdx67w8EFn5AW3eVxCutE9dTVHgGa9VYe8vgsEA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-bzz": "1.10.4", + "web3-core": "1.10.4", + "web3-eth": "1.10.4", + "web3-eth-personal": "1.10.4", + "web3-net": "1.10.4", + "web3-shh": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-bzz": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.4.tgz", + "integrity": "sha512-ZZ/X4sJ0Uh2teU9lAGNS8EjveEppoHNQiKlOXAjedsrdWuaMErBPdLQjXfcrYvN6WM6Su9PMsAxf3FXXZ+HwQw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/node": "^12.12.6", + "got": "12.1.0", + "swarm-js": "^0.1.40" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-bzz/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3-core": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", + "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.1", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-requestmanager": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-helpers": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", + "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", + "dev": true, + "dependencies": { + "web3-eth-iban": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-helpers/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/web3-core-helpers/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-core-helpers/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-core-helpers/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-method": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz", + "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==", + "dev": true, + "dependencies": { + "@ethersproject/transactions": "^5.6.2", + "web3-core-helpers": "1.10.4", + "web3-core-promievent": "1.10.4", + "web3-core-subscriptions": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-method/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/web3-core-method/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-core-method/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3-core-method/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-core-method/node_modules/web3-core-promievent": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", + "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-method/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-promievent": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz", + "integrity": "sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw==", + "dev": true, + "dependencies": { + "any-promise": "1.3.0", + "eventemitter3": "3.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-promievent/node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "node_modules/web3-core-requestmanager": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz", + "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==", + "dev": true, + "dependencies": { + "util": "^0.12.5", + "web3-core-helpers": "1.10.4", + "web3-providers-http": "1.10.4", + "web3-providers-ipc": "1.10.4", + "web3-providers-ws": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-subscriptions": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", + "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3-core/node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/web3-core/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3-core/node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/web3-core/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/web3-core/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-core/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-core/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.4.tgz", + "integrity": "sha512-Sql2kYKmgt+T/cgvg7b9ce24uLS7xbFrxE4kuuor1zSCGrjhTJ5rRNG8gTJUkAJGKJc7KgnWmgW+cOfMBPUDSA==", + "dev": true, + "dependencies": { + "web3-core": "1.10.4", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-subscriptions": "1.10.4", + "web3-eth-abi": "1.10.4", + "web3-eth-accounts": "1.10.4", + "web3-eth-contract": "1.10.4", + "web3-eth-ens": "1.10.4", + "web3-eth-iban": "1.10.4", + "web3-eth-personal": "1.10.4", + "web3-net": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-abi": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz", + "integrity": "sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g==", + "dev": true, + "dependencies": { + "ethers": "4.0.0-beta.3", + "underscore": "1.9.1", + "web3-utils": "1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-abi/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "node_modules/web3-eth-abi/node_modules/elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha512-cIky9SO2H8W2eU1NOLySnhOYJnuEWCq9ZJeHvHd/lXzEL9vyraIMfilZSn57X3aVX+wkfYmqkch2LvmTzkjFpA==", + "dev": true, + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/web3-eth-abi/node_modules/ethers": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", + "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", + "dev": true, + "dependencies": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.3", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "node_modules/web3-eth-abi/node_modules/scrypt-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", + "integrity": "sha512-d8DzQxNivoNDogyYmb/9RD5mEQE/Q7vG2dLDUgvfPmKL9xCVzgqUntOdS0me9Cq9Sh9VxIZuoNEFcsfyXRnyUw==", + "dev": true + }, + "node_modules/web3-eth-accounts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.4.tgz", + "integrity": "sha512-ysy5sVTg9snYS7tJjxVoQAH6DTOTkRGR8emEVCWNGLGiB9txj+qDvSeT0izjurS/g7D5xlMAgrEHLK1Vi6I3yg==", + "dev": true, + "dependencies": { + "@ethereumjs/common": "2.6.5", + "@ethereumjs/tx": "3.5.2", + "@ethereumjs/util": "^8.1.0", + "eth-lib": "0.2.8", + "scrypt-js": "^3.0.1", + "uuid": "^9.0.0", + "web3-core": "1.10.4", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-accounts/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/web3-eth-accounts/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth-accounts/node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "node_modules/web3-eth-accounts/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-eth-accounts/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/web3-eth-accounts/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-contract": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.4.tgz", + "integrity": "sha512-Q8PfolOJ4eV9TvnTj1TGdZ4RarpSLmHnUnzVxZ/6/NiTfe4maJz99R0ISgwZkntLhLRtw0C7LRJuklzGYCNN3A==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.1", + "web3-core": "1.10.4", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-promievent": "1.10.4", + "web3-core-subscriptions": "1.10.4", + "web3-eth-abi": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-contract/node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/web3-eth-contract/node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/web3-eth-contract/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/web3-eth-contract/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth-contract/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3-eth-contract/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-eth-contract/node_modules/web3-core-promievent": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", + "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-contract/node_modules/web3-eth-abi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", + "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-contract/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-ens": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.4.tgz", + "integrity": "sha512-LLrvxuFeVooRVZ9e5T6OWKVflHPFgrVjJ/jtisRWcmI7KN/b64+D/wJzXqgmp6CNsMQcE7rpmf4CQmJCrTdsgg==", + "dev": true, + "dependencies": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.10.4", + "web3-core-helpers": "1.10.4", + "web3-core-promievent": "1.10.4", + "web3-eth-abi": "1.10.4", + "web3-eth-contract": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-ens/node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/web3-eth-ens/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/web3-eth-ens/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth-ens/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3-eth-ens/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-eth-ens/node_modules/web3-core-promievent": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", + "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-ens/node_modules/web3-eth-abi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", + "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-ens/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-iban": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", + "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-iban/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/web3-eth-iban/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth-iban/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-eth-iban/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-personal": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.4.tgz", + "integrity": "sha512-BRa/hs6jU1hKHz+AC/YkM71RP3f0Yci1dPk4paOic53R4ZZG4MgwKRkJhgt3/GPuPliwS46f/i5A7fEGBT4F9w==", + "dev": true, + "dependencies": { + "@types/node": "^12.12.6", + "web3-core": "1.10.4", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-net": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-personal/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3-eth-personal/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/web3-eth-personal/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth-personal/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-eth-personal/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth/node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/web3-eth/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/web3-eth/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-eth/node_modules/web3-eth-abi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", + "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-net": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", + "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", + "dev": true, + "dependencies": { + "web3-core": "1.10.4", + "web3-core-method": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-net/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/web3-net/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-net/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3-net/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-http": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", + "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", + "dev": true, + "dependencies": { + "abortcontroller-polyfill": "^1.7.5", + "cross-fetch": "^4.0.0", + "es6-promise": "^4.2.8", + "web3-core-helpers": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-http/node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/web3-providers-ipc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", + "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", + "dev": true, + "dependencies": { + "oboe": "2.1.5", + "web3-core-helpers": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-ipc/node_modules/oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", + "dev": true, + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/web3-providers-ws": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", + "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.4", + "websocket": "^1.0.32" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-ws/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/web3-providers-ws/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3-providers-ws/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/web3-providers-ws/node_modules/websocket": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", + "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", + "dev": true, + "dependencies": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.63", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/web3-shh": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.4.tgz", + "integrity": "sha512-cOH6iFFM71lCNwSQrC3niqDXagMqrdfFW85hC9PFUrAr3PUrIem8TNstTc3xna2bwZeWG6OBy99xSIhBvyIACw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-core": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-subscriptions": "1.10.4", + "web3-net": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.1.tgz", + "integrity": "sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA==", + "dev": true, + "dependencies": { + "bn.js": "4.11.8", + "eth-lib": "0.2.7", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils/node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "node_modules/web3-utils/node_modules/eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha512-VqEBQKH92jNsaE8lG9CTq8M/bc12gdAfb5MY8Ro1hVyXkh7rOtY3m5tRHK3Hus5HqIAAwU2ivcUjTLVwsvf/kw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-utils/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3/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/web3/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3/node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/web3/node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dev": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "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==" + }, + "node_modules/webpack": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "dependencies": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-cli/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-cli/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/webpack-cli/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==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/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==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-cli/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.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": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-cli/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/websocket": { + "version": "1.0.31", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.31.tgz", + "integrity": "sha512-VAouplvGKPiKFDTeCCO65vYHsyay8DqoBSlzIO3fayrfOgU94lQN5a1uWVnFrMLceTJw/+fQXR5PGbUVRaHshQ==", + "hasInstallScript": true, + "dependencies": { + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/websocket/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/websocket/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "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==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/when": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", + "integrity": "sha512-5cZ7mecD3eYcMiCH4wtRPA5iFJZ50BJYDfckI5RRpQiktMiYTcn0ccLTZOvcbBume+1304fQztxeNzNS9Gvrnw==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + }, + "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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "node_modules/ws": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.4.tgz", + "integrity": "sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "dependencies": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "node_modules/xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dependencies": { + "xhr-request": "^1.1.0" + } + }, + "node_modules/xhr-request/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/xhr-request/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/xhr-request/node_modules/simple-get": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", + "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", + "dependencies": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", + "dependencies": { + "cookiejar": "^2.1.1" + } + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "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==" + }, + "node_modules/yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "engines": { + "node": ">=0.10.32" + } + }, + "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": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/flutter_bird_skins/package.json b/flutter_bird_skins/package.json index e0b5e1e..7604b26 100644 --- a/flutter_bird_skins/package.json +++ b/flutter_bird_skins/package.json @@ -8,6 +8,8 @@ }, "dependencies": { "@openzeppelin/contracts": "^4.7.0", + "@types/lodash": "^4.14.186", + "lodash": "^4.17.21", "truffle-hdwallet-provider-klaytn": "^1.4.1" } } diff --git a/flutter_bird_skins/scripts/transfer_nft.js b/flutter_bird_skins/scripts/transfer_nft.js new file mode 100644 index 0000000..c5546ec --- /dev/null +++ b/flutter_bird_skins/scripts/transfer_nft.js @@ -0,0 +1,57 @@ +require('dotenv').config(); +const HDWalletProvider = require("truffle-hdwallet-provider-klaytn"); + +const Web3 = require('web3'); +const fs = require('fs'); + +const providerUrl = process.env.API_URL; +const privateKey = process.env.PRIVATE_KEY; +const contractAddress = process.env.CONTRACT_ADDRESS; + +const [,, recipientAddress, tokenId] = process.argv; + +if (!recipientAddress || !tokenId) { + console.error('Usage: node transfer_nft.js '); + process.exit(1); +} + +const provider = new HDWalletProvider({ + privateKeys: [privateKey], + providerOrUrl: providerUrl +}); + +const web3 = new Web3(provider); + +const contractJson = JSON.parse(fs.readFileSync('./build/contracts/FlutterBirdSkins.json', 'utf8')); +const contractABI = contractJson.abi; + +const flutterBirdSkins = new web3.eth.Contract(contractABI, contractAddress); + +async function transferNFT(recipientAddress, tokenId) { + try { + const accounts = await web3.eth.getAccounts(); + const senderAccount = accounts[0]; + + console.log(`Sender address: ${senderAccount}`); + console.log(`Recipient address: ${recipientAddress}`); + console.log(`Token ID: ${tokenId}`); + + const gasEstimate = await flutterBirdSkins.methods.transferFrom(senderAccount, recipientAddress, tokenId).estimateGas({ + from: senderAccount + }); + + const tx = await flutterBirdSkins.methods.transferFrom(senderAccount, recipientAddress, tokenId).send({ + from: senderAccount, + gas: Math.round(gasEstimate * 1.2) + }); + + console.log(`NFT (Token ID: ${tokenId}) successfully transferred`); + console.log(`Transaction Hash: ${tx.transactionHash}`); + } catch (error) { + console.error('Error transferring NFT:', error); + } finally { + provider.engine.stop(); + } +} + +transferNFT(recipientAddress, tokenId); diff --git a/flutter_bird_skins/truffle-config.js b/flutter_bird_skins/truffle-config.js index 7a7c628..b8eeaae 100644 --- a/flutter_bird_skins/truffle-config.js +++ b/flutter_bird_skins/truffle-config.js @@ -5,7 +5,7 @@ module.exports = { networks: { development: { host: "127.0.0.1", - port: 7545, + port: 9545, network_id: "*", }, From 796a214bb07cb4ff6c5cda48cae4f12fac08feda Mon Sep 17 00:00:00 2001 From: shiki-tak Date: Fri, 19 Jul 2024 15:00:35 +0900 Subject: [PATCH 4/5] feat: mint nft from flutter_bird_app --- .github/workflows/deploy.yml | 1 + README.md | 65 + flutter_bird_app/assets/FlutterBirdSkins.json | 24963 ++++++++++++++++ flutter_bird_app/assets/flutterbirds.abi.json | 497 - flutter_bird_app/lib/config.dart | 2 +- .../controller/authentication_service.dart | 29 +- .../lib/controller/authorization_service.dart | 26 +- .../controller/flutter_bird_controller.dart | 13 + .../lib/controller/mint_nft_service.dart | 239 + flutter_bird_app/lib/view/main_menu_view.dart | 155 +- flutter_bird_app/lib/view/widgets/bird.dart | 55 +- 11 files changed, 25459 insertions(+), 586 deletions(-) create mode 100644 flutter_bird_app/assets/FlutterBirdSkins.json delete mode 100644 flutter_bird_app/assets/flutterbirds.abi.json create mode 100644 flutter_bird_app/lib/controller/mint_nft_service.dart diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 502e0cf..c24e71f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,6 +26,7 @@ jobs: run: | touch env echo WALLET_CONNECT_PROJECT_ID=${{secrets.WALLET_CONNECT_PROJECT_ID}} >> env + echo PRIVATE_KEY=${{secrets.PRIVATE_KEY}} >> env - name: Show version working-directory: flutter_bird_app diff --git a/README.md b/README.md index 4b5470b..a81b392 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,71 @@ Summary > Final cost: 0.118115450004724618 ETH ``` +### Generate and Mint full onchain bird +- You can generate random bird images using a script. +- Using the deployed contract, you can base64 encode the generated bird image and set it as the tokenURI to mint it as a full onchain NFT. + +- Create bird + - You can start the server to get or generate images. + - If the target tokenId exists, it will be retrieved; if not, it will be generated. +``` +% cd flutter_bird_image_server +% npm run start +% curl -o image.png http://localhost:3000/image/:tokenId +``` + +- Mint full onchain bird + - We recommend minting from Flutter Birds, but you can also mint it manually. + - The generated image is used to mint NFTs. + - Please run it in the environment where you deployed the contract. + - Please change the filePath of toenInfo in `mint_random_skin.js` as appropriate. + - Please execute the following in your docker environment. + +``` +# node scripts/mint_full_onchain_bird/mint_random_skin.js +Minting a random Flutter Bird Skin on contract: 0xBa29cfe58943Ee7830663C31029ef73f65B1D470 +data:application/json,{"name":"Flutter Bird - 358","description":"NFT Flutter Bird","attributes":[{"trait_type":"File size","value":"17,510 bytes"}],"image":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAALuCAYAAADxHZPKAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3dW4xsWXkf8G/VnDMzppuLLWMD4WI5sjkTkBwFCytyZJLYGWGEIkRAAhmJEGEpD4mSOHFirOAHiPEFIhNFQnF4QLIQ..."} +chunk count: 1 +appendUri tx: [object Object] +Minting successful +Token ID of new Skin: 358 +0xbfd1a547a6dc6d332e5dc23530992c550719c8db3e39ef3454d8cb24c05617be +``` + +- Transfer nft + - transfer_nft.js `recipientAddress` `tokenId` + +``` +# node scripts/transfer_nft.js 0xde7c30d8548b1b38856aa3ae2bf02c536ab60f1e 66 +Sender address: 0x492ca3c9594B17b65494F910A9a33Fa66f3141ed +Recipient address: 0xde7c30d8548b1b38856aa3ae2bf02c536ab60f1e +Token ID: 66 +NFT (Token ID: 66) successfully transferred +Transaction Hash: 0x5a2c95a0a19e7621f21f058fcc712d92a0850ea5cc0983444d3904c1d72b5025 +``` + +- Check the minted NFT using truffle. + - Please execute the following in your docker environment. + - You can open the NFT image by pasting `data:image/png;base64, xxxxxxx` from the image field of the uri into the search box of your browser. +``` +// If you are deploying to the testnet, set the network to baobab. +# truffle console --network baobab +truffle(baobab)> let instance = await FlutterBirdSkins.deployed() +undefined +truffle(baobab)> ownerAddress="0x244d85991c825ad2672111ed73e089fbd39e357d" +'0x244d85991c825ad2672111ed73e089fbd39e357d' +truffle(baobab)> let tokens = await instance.getTokensForOwner(ownerAddress) +undefined +truffle(baobab)> console.log(tokens.map(token => token.toString())) +[ '358' ] +truffle(baobab)> let uri = await instance.tokenURI(358) +undefined +truffle(baobab)> console.log(uri) +data:application/json,{"name":"Flutter Bird - 358","description":"NFT Flutter Bird","attributes":[{"trait_type":"File size","value":"10,029 bytes"}],"image":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAALuCAYAAADxHZPKAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3dW4xsWXkf8G/VnDMzppuLLWMD4WI5sjkTkBwFCytyZJLYGWGEIkRAAhmJEGEpD4mSOHFirOAHiPEFIhNFQnF4QLIQ..."} +``` + + + ## Access via LINE The LINE Messenger API allows us to receive URLs via LINE. diff --git a/flutter_bird_app/assets/FlutterBirdSkins.json b/flutter_bird_app/assets/FlutterBirdSkins.json new file mode 100644 index 0000000..021f855 --- /dev/null +++ b/flutter_bird_app/assets/FlutterBirdSkins.json @@ -0,0 +1,24963 @@ +{ + "contractName": "FlutterBirdSkins", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_size", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_end", + "type": "uint256" + } + ], + "name": "InvalidCodeAtRange", + "type": "error" + }, + { + "inputs": [], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "WriteError", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "SkinMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newTokenId", + "type": "uint256" + } + ], + "name": "mintSkin", + "outputs": [], + "stateMutability": "payable", + "type": "function", + "payable": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "getTokensForOwner", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getMintedTokenList", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes[]", + "name": "values", + "type": "bytes[]" + } + ], + "name": "appendUri", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_size\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_end\",\"type\":\"uint256\"}],\"name\":\"InvalidCodeAtRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WriteError\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"SkinMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"appendUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintedTokenList\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"getTokensForOwner\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTokenId\",\"type\":\"uint256\"}],\"name\":\"mintSkin\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getMintedTokenList()\":{\"notice\":\"returns a list of boolean values indicating whether the skin with that index has been minted already.\"},\"getTokensForOwner(address)\":{\"notice\":\"returns a list of tokenIds that are owned by the given address\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/FlutterBirdSkins.sol\":\"FlutterBirdSkins\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/FlutterBirdSkins.sol\":{\"keccak256\":\"0xec6cd844584bcbe9779792ee789ecc42745d68e928b29ef04f1e0ce26cde3950\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7859c522bb485aea5adc21a3cbac3dfe445c1da718d706732bb12f8258702e\",\"dweb:/ipfs/QmQ36H429SaDrp76XhAL8MftKtw1kb6N5xeUUPw7VxiwKV\"]},\"project:/contracts/lib/Memory.sol\":{\"keccak256\":\"0x4c9ded40bbf5cc7a88488c4c9461a6a2d13f44f4f3d38334bd4cebae6a2e726f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04ba66006e9537a0b3fc527a98548e2fbfff4a29bead99eed1982464776d7b23\",\"dweb:/ipfs/QmR2UxiBUfYxWyNvHJKJaxobf6KqP617kUdabA1BLudV53\"]},\"project:/contracts/lib/sstore2/Bytecode.sol\":{\"keccak256\":\"0x40ef4ee5697507566574eda36358a76b523b3dfe7cb65da1630004fe6c5a7a45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://95059c34a2fe249bede85fb523ff53eddf61e45fe76436201237f2eae73bc14c\",\"dweb:/ipfs/QmT6qbZsBzUS6Mpc9yAmhourUFC8TNpaF6vzxysyAKEcpN\"]},\"project:/contracts/lib/sstore2/SSTORE2.sol\":{\"keccak256\":\"0xabeae21f0f8191e870627c924a52a3c94134ee22b8aff8119dd5f70aab8f8f12\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a24d92742de39230b72ebec2d548fdb46027d40dea0cf63c4c38aceb0c9b424\",\"dweb:/ipfs/QmVSKjFmHhbah4tX29PWhZUKwmgU5vzdvD23b5KvgxPKEk\"]}},\"version\":1}", + "bytecode": "0x60806040526103e8600b55662386f26fc10000600c553480156200002257600080fd5b506040518060400160405280601081526020017f466c757474657242697264536b696e73000000000000000000000000000000008152506040518060400160405280600381526020017f46425300000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000a7929190620001b7565b508060019080519060200190620000c0929190620001b7565b505050620000e3620000d7620000e960201b60201c565b620000f160201b60201c565b620002cb565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001c59062000296565b90600052602060002090601f016020900481019282620001e9576000855562000235565b82601f106200020457805160ff191683800117855562000235565b8280016001018555821562000235579182015b828111156200023457825182559160200191906001019062000217565b5b50905062000244919062000248565b5090565b5b808211156200026357600081600090555060010162000249565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002af57607f821691505b602082108103620002c557620002c462000267565b5b50919050565b613f2580620002db6000396000f3fe6080604052600436106101405760003560e01c80634f6ccce7116100b6578063a22cb4651161006f578063a22cb46514610482578063b88d4fde146104ab578063c87b56dd146104d4578063e985e9c514610511578063f03526511461054e578063f2fde38b1461056a57610140565b80634f6ccce71461035e5780636352211e1461039b57806370a08231146103d8578063715018a6146104155780638da5cb5b1461042c57806395d89b411461045757610140565b806318160ddd1161010857806318160ddd1461025057806319a0b41b1461027b57806323b872dd146102a65780632f0fe447146102cf5780632f745c59146102f857806342842e0e1461033557610140565b806301ffc9a71461014557806306fdde03146101825780630725e898146101ad578063081812fc146101ea578063095ea7b314610227575b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190612764565b610593565b60405161017991906127ac565b60405180910390f35b34801561018e57600080fd5b5061019761060d565b6040516101a49190612860565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf91906128e0565b61069f565b6040516101e191906129d5565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c9190612a23565b61074f565b60405161021e9190612a5f565b60405180910390f35b34801561023357600080fd5b5061024e60048036038101906102499190612a7a565b610795565b005b34801561025c57600080fd5b506102656108ac565b6040516102729190612ac9565b60405180910390f35b34801561028757600080fd5b506102906108b9565b60405161029d9190612ba2565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190612bc4565b610968565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612c7c565b6109c8565b005b34801561030457600080fd5b5061031f600480360381019061031a9190612a7a565b610b30565b60405161032c9190612ac9565b60405180910390f35b34801561034157600080fd5b5061035c60048036038101906103579190612bc4565b610bd5565b005b34801561036a57600080fd5b5061038560048036038101906103809190612a23565b610bf5565b6040516103929190612ac9565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd9190612a23565b610c66565b6040516103cf9190612a5f565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa91906128e0565b610cec565b60405161040c9190612ac9565b60405180910390f35b34801561042157600080fd5b5061042a610da3565b005b34801561043857600080fd5b50610441610db7565b60405161044e9190612a5f565b60405180910390f35b34801561046357600080fd5b5061046c610de1565b6040516104799190612860565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190612d08565b610e73565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190612e78565b610e89565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612a23565b610eeb565b6040516105089190612860565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612efb565b61106e565b60405161054591906127ac565b60405180910390f35b61056860048036038101906105639190612a23565b611102565b005b34801561057657600080fd5b50610591600480360381019061058c91906128e0565b6111c5565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610606575061060582611248565b5b9050919050565b60606000805461061c90612f6a565b80601f016020809104026020016040519081016040528092919081815260200182805461064890612f6a565b80156106955780601f1061066a57610100808354040283529160200191610695565b820191906000526020600020905b81548152906001019060200180831161067857829003601f168201915b5050505050905090565b606060006106ac83610cec565b67ffffffffffffffff8111156106c5576106c4612d4d565b5b6040519080825280602002602001820160405280156106f35781602001602082028036833780820191505090505b50905060005b61070284610cec565b811015610745576107138482610b30565b82828151811061072657610725612f9b565b5b602002602001018181525050808061073d90612ff9565b9150506106f9565b8192505050919050565b600061075a8261132a565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107a082610c66565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610810576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610807906130b3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661082f611375565b73ffffffffffffffffffffffffffffffffffffffff16148061085e575061085d81610858611375565b61106e565b5b61089d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089490613145565b60405180910390fd5b6108a7838361137d565b505050565b6000600880549050905090565b60606000600b5467ffffffffffffffff8111156108d9576108d8612d4d565b5b6040519080825280602002602001820160405280156109075781602001602082028036833780820191505090505b50905060005b600b548110156109605761092081611436565b1561094d57600182828151811061093a57610939612f9b565b5b6020026020010190151590811515815250505b808061095890612ff9565b91505061090d565b819250505090565b610979610973611375565b82611477565b6109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906131d7565b60405180910390fd5b6109c383838361150c565b505050565b6109d0611805565b60005b82829050811015610b2a57600d6000858152602001908152602001600020600101610a64848484818110610a0a57610a09612f9b565b5b9050602002810190610a1c9190613206565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611883565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828282818110610ad757610ad6612f9b565b5b9050602002810190610ae99190613206565b9050600d60008681526020019081526020016000206000016000828254610b109190613269565b925050819055508080610b2290612ff9565b9150506109d3565b50505050565b6000610b3b83610cec565b8210610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613331565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bf083838360405180602001604052806000815250610e89565b505050565b6000610bff6108ac565b8210610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c37906133c3565b60405180910390fd5b60088281548110610c5457610c53612f9b565b5b90600052602060002001549050919050565b600080610c7283611927565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda9061342f565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d53906134c1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dab611805565b610db56000611964565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610df090612f6a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1c90612f6a565b8015610e695780601f10610e3e57610100808354040283529160200191610e69565b820191906000526020600020905b815481529060010190602001808311610e4c57829003601f168201915b5050505050905090565b610e85610e7e611375565b8383611a2a565b5050565b610e9a610e94611375565b83611477565b610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed0906131d7565b60405180910390fd5b610ee584848484611b96565b50505050565b6060610ef682611436565b610f2c576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600d60008481526020019081526020016000206000015467ffffffffffffffff811115610f5e57610f5d612d4d565b5b6040519080825280601f01601f191660200182016040528015610f905781602001600182028036833780820191505090505b5090506000610f9e82611bf2565b50905060005b600d600086815260200190815260200160002060010180549050811015611063576000611022600d60008881526020019081526020016000206001018381548110610ff257610ff1612f9b565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c04565b905060008061103083611bf2565b9150915061103f828683611c39565b808561104b9190613269565b9450505050808061105b90612ff9565b915050610fa4565b508192505050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600b548110611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d9061352d565b60405180910390fd5b600c5434101561118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290613599565b60405180910390fd5b6111953382611cc2565b807ff8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e9560405160405180910390a250565b6111cd611805565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361123c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112339061362b565b60405180910390fd5b61124581611964565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061131357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611323575061132282611ce0565b5b9050919050565b61133381611436565b611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061342f565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166113f083610c66565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008073ffffffffffffffffffffffffffffffffffffffff1661145883611927565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008061148383610c66565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114c557506114c4818561106e565b5b8061150357508373ffffffffffffffffffffffffffffffffffffffff166114eb8461074f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661152c82610c66565b73ffffffffffffffffffffffffffffffffffffffff1614611582576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611579906136bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e89061374f565b60405180910390fd5b6115fe8383836001611d4a565b8273ffffffffffffffffffffffffffffffffffffffff1661161e82610c66565b73ffffffffffffffffffffffffffffffffffffffff1614611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b906136bd565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46118008383836001611ea8565b505050565b61180d611375565b73ffffffffffffffffffffffffffffffffffffffff1661182b610db7565b73ffffffffffffffffffffffffffffffffffffffff1614611881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611878906137bb565b60405180910390fd5b565b6000806118ae8360405160200161189a9190613859565b604051602081830303815290604052611eae565b90508051602082016000f09150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611921576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f906138c7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611b8991906127ac565b60405180910390a3505050565b611ba184848461150c565b611bad84848484611eda565b611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390613959565b60405180910390fd5b50505050565b60008082519050602083019150915091565b6060611c328260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612061565b9050919050565b5b60208110611c785782518252602082611c539190613269565b9150602083611c629190613269565b9250602081611c719190613979565b9050611c3a565b6000810315611cbd5760006001826020611c929190613979565b610100611c9f9190613ae0565b611ca99190613979565b905080198451168184511681811785525050505b505050565b611cdc828260405180602001604052806000815250612146565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d56848484846121a1565b6001811115611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190613b9d565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611de157611ddc816121a7565b611e20565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611e1f57611e1e85826121f0565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e6257611e5d8161235d565b611ea1565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611ea057611e9f848261242e565b5b5b5050505050565b50505050565b6060815182604051602001611ec4929190613c9b565b6040516020818303038152906040529050919050565b6000611efb8473ffffffffffffffffffffffffffffffffffffffff166124ad565b15612054578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f24611375565b8786866040518563ffffffff1660e01b8152600401611f469493929190613d23565b6020604051808303816000875af1925050508015611f8257506040513d601f19601f82011682018060405250810190611f7f9190613d84565b60015b612004573d8060008114611fb2576040519150601f19603f3d011682016040523d82523d6000602084013e611fb7565b606091505b506000815103611ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff390613959565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612059565b600190505b949350505050565b6060600061206e856124d0565b905060008103612090576040518060200160405280600081525091505061213f565b808411156120b0576040518060200160405280600081525091505061213f565b838310156120f9578084846040517f2c4a89fa0000000000000000000000000000000000000000000000000000000081526004016120f093929190613db1565b60405180910390fd5b600084840390506000858303905060008282106121165782612118565b815b90506040519450601f19601f60208301011685016040528085528087602087018a3c505050505b9392505050565b61215083836124db565b61215d6000848484611eda565b61219c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219390613959565b60405180910390fd5b505050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016121fd84610cec565b6122079190613979565b90506000600760008481526020019081526020016000205490508181146122ec576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506123719190613979565b90506000600960008481526020019081526020016000205490506000600883815481106123a1576123a0612f9b565b5b9060005260206000200154905080600883815481106123c3576123c2612f9b565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061241257612411613de8565b5b6001900381819060005260206000200160009055905550505050565b600061243983610cec565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000813b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361254a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254190613e63565b60405180910390fd5b61255381611436565b15612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258a90613ecf565b60405180910390fd5b6125a1600083836001611d4a565b6125aa81611436565b156125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e190613ecf565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46126f4600083836001611ea8565b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6127418161270c565b811461274c57600080fd5b50565b60008135905061275e81612738565b92915050565b60006020828403121561277a57612779612702565b5b60006127888482850161274f565b91505092915050565b60008115159050919050565b6127a681612791565b82525050565b60006020820190506127c1600083018461279d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128015780820151818401526020810190506127e6565b83811115612810576000848401525b50505050565b6000601f19601f8301169050919050565b6000612832826127c7565b61283c81856127d2565b935061284c8185602086016127e3565b61285581612816565b840191505092915050565b6000602082019050818103600083015261287a8184612827565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128ad82612882565b9050919050565b6128bd816128a2565b81146128c857600080fd5b50565b6000813590506128da816128b4565b92915050565b6000602082840312156128f6576128f5612702565b5b6000612904848285016128cb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61294c81612939565b82525050565b600061295e8383612943565b60208301905092915050565b6000602082019050919050565b60006129828261290d565b61298c8185612918565b935061299783612929565b8060005b838110156129c85781516129af8882612952565b97506129ba8361296a565b92505060018101905061299b565b5085935050505092915050565b600060208201905081810360008301526129ef8184612977565b905092915050565b612a0081612939565b8114612a0b57600080fd5b50565b600081359050612a1d816129f7565b92915050565b600060208284031215612a3957612a38612702565b5b6000612a4784828501612a0e565b91505092915050565b612a59816128a2565b82525050565b6000602082019050612a746000830184612a50565b92915050565b60008060408385031215612a9157612a90612702565b5b6000612a9f858286016128cb565b9250506020612ab085828601612a0e565b9150509250929050565b612ac381612939565b82525050565b6000602082019050612ade6000830184612aba565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b1981612791565b82525050565b6000612b2b8383612b10565b60208301905092915050565b6000602082019050919050565b6000612b4f82612ae4565b612b598185612aef565b9350612b6483612b00565b8060005b83811015612b95578151612b7c8882612b1f565b9750612b8783612b37565b925050600181019050612b68565b5085935050505092915050565b60006020820190508181036000830152612bbc8184612b44565b905092915050565b600080600060608486031215612bdd57612bdc612702565b5b6000612beb868287016128cb565b9350506020612bfc868287016128cb565b9250506040612c0d86828701612a0e565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612c3c57612c3b612c17565b5b8235905067ffffffffffffffff811115612c5957612c58612c1c565b5b602083019150836020820283011115612c7557612c74612c21565b5b9250929050565b600080600060408486031215612c9557612c94612702565b5b6000612ca386828701612a0e565b935050602084013567ffffffffffffffff811115612cc457612cc3612707565b5b612cd086828701612c26565b92509250509250925092565b612ce581612791565b8114612cf057600080fd5b50565b600081359050612d0281612cdc565b92915050565b60008060408385031215612d1f57612d1e612702565b5b6000612d2d858286016128cb565b9250506020612d3e85828601612cf3565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d8582612816565b810181811067ffffffffffffffff82111715612da457612da3612d4d565b5b80604052505050565b6000612db76126f8565b9050612dc38282612d7c565b919050565b600067ffffffffffffffff821115612de357612de2612d4d565b5b612dec82612816565b9050602081019050919050565b82818337600083830152505050565b6000612e1b612e1684612dc8565b612dad565b905082815260208101848484011115612e3757612e36612d48565b5b612e42848285612df9565b509392505050565b600082601f830112612e5f57612e5e612c17565b5b8135612e6f848260208601612e08565b91505092915050565b60008060008060808587031215612e9257612e91612702565b5b6000612ea0878288016128cb565b9450506020612eb1878288016128cb565b9350506040612ec287828801612a0e565b925050606085013567ffffffffffffffff811115612ee357612ee2612707565b5b612eef87828801612e4a565b91505092959194509250565b60008060408385031215612f1257612f11612702565b5b6000612f20858286016128cb565b9250506020612f31858286016128cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f8257607f821691505b602082108103612f9557612f94612f3b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061300482612939565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361303657613035612fca565b5b600182019050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061309d6021836127d2565b91506130a882613041565b604082019050919050565b600060208201905081810360008301526130cc81613090565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061312f603d836127d2565b915061313a826130d3565b604082019050919050565b6000602082019050818103600083015261315e81613122565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006131c1602d836127d2565b91506131cc82613165565b604082019050919050565b600060208201905081810360008301526131f0816131b4565b9050919050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112613223576132226131f7565b5b80840192508235915067ffffffffffffffff821115613245576132446131fc565b5b60208301925060018202360383131561326157613260613201565b5b509250929050565b600061327482612939565b915061327f83612939565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132b4576132b3612fca565b5b828201905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061331b602b836127d2565b9150613326826132bf565b604082019050919050565b6000602082019050818103600083015261334a8161330e565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006133ad602c836127d2565b91506133b882613351565b604082019050919050565b600060208201905081810360008301526133dc816133a0565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006134196018836127d2565b9150613424826133e3565b602082019050919050565b600060208201905081810360008301526134488161340c565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006134ab6029836127d2565b91506134b68261344f565b604082019050919050565b600060208201905081810360008301526134da8161349e565b9050919050565b7f696e76616c696420746f6b656e49642e206d7573742062652023393939000000600082015250565b6000613517601d836127d2565b9150613522826134e1565b602082019050919050565b600060208201905081810360008301526135468161350a565b9050919050565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b60006135836012836127d2565b915061358e8261354d565b602082019050919050565b600060208201905081810360008301526135b281613576565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136156026836127d2565b9150613620826135b9565b604082019050919050565b6000602082019050818103600083015261364481613608565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006136a76025836127d2565b91506136b28261364b565b604082019050919050565b600060208201905081810360008301526136d68161369a565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006137396024836127d2565b9150613744826136dd565b604082019050919050565b600060208201905081810360008301526137688161372c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137a56020836127d2565b91506137b08261376f565b602082019050919050565b600060208201905081810360008301526137d481613798565b9050919050565b600081905092915050565b60008082015250565b60006137fc6001836137db565b9150613807826137e6565b600182019050919050565b600081519050919050565b600081905092915050565b600061383382613812565b61383d818561381d565b935061384d8185602086016127e3565b80840191505092915050565b6000613864826137ef565b91506138708284613828565b915081905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006138b16019836127d2565b91506138bc8261387b565b602082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006139436032836127d2565b915061394e826138e7565b604082019050919050565b6000602082019050818103600083015261397281613936565b9050919050565b600061398482612939565b915061398f83612939565b9250828210156139a2576139a1612fca565b5b828203905092915050565b60008160011c9050919050565b6000808291508390505b6001851115613a04578086048111156139e0576139df612fca565b5b60018516156139ef5780820291505b80810290506139fd856139ad565b94506139c4565b94509492505050565b600082613a1d5760019050613ad9565b81613a2b5760009050613ad9565b8160018114613a415760028114613a4b57613a7a565b6001915050613ad9565b60ff841115613a5d57613a5c612fca565b5b8360020a915084821115613a7457613a73612fca565b5b50613ad9565b5060208310610133831016604e8410600b8410161715613aaf5782820a905083811115613aaa57613aa9612fca565b5b613ad9565b613abc84848460016139ba565b92509050818404811115613ad357613ad2612fca565b5b81810290505b9392505050565b6000613aeb82612939565b9150613af683612939565b9250613b237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a0d565b905092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000613b876035836127d2565b9150613b9282613b2b565b604082019050919050565b60006020820190508181036000830152613bb681613b7a565b9050919050565b7f6300000000000000000000000000000000000000000000000000000000000000600082015250565b6000613bf36001836137db565b9150613bfe82613bbd565b600182019050919050565b600063ffffffff82169050919050565b60008160e01b9050919050565b6000613c3182613c19565b9050919050565b613c49613c4482613c09565b613c26565b82525050565b7f80600e6000396000f30000000000000000000000000000000000000000000000600082015250565b6000613c856009836137db565b9150613c9082613c4f565b600982019050919050565b6000613ca682613be6565b9150613cb28285613c38565b600482019150613cc182613c78565b9150613ccd8284613828565b91508190509392505050565b600082825260208201905092915050565b6000613cf582613812565b613cff8185613cd9565b9350613d0f8185602086016127e3565b613d1881612816565b840191505092915050565b6000608082019050613d386000830187612a50565b613d456020830186612a50565b613d526040830185612aba565b8181036060830152613d648184613cea565b905095945050505050565b600081519050613d7e81612738565b92915050565b600060208284031215613d9a57613d99612702565b5b6000613da884828501613d6f565b91505092915050565b6000606082019050613dc66000830186612aba565b613dd36020830185612aba565b613de06040830184612aba565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613e4d6020836127d2565b9150613e5882613e17565b602082019050919050565b60006020820190508181036000830152613e7c81613e40565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613eb9601c836127d2565b9150613ec482613e83565b602082019050919050565b60006020820190508181036000830152613ee881613eac565b905091905056fea2646970667358221220eee1e37bde30f335a29fbb21d0539d00455524a16ba12e17b7a42e84d2f85b9764736f6c634300080e0033", + "deployedBytecode": "0x6080604052600436106101405760003560e01c80634f6ccce7116100b6578063a22cb4651161006f578063a22cb46514610482578063b88d4fde146104ab578063c87b56dd146104d4578063e985e9c514610511578063f03526511461054e578063f2fde38b1461056a57610140565b80634f6ccce71461035e5780636352211e1461039b57806370a08231146103d8578063715018a6146104155780638da5cb5b1461042c57806395d89b411461045757610140565b806318160ddd1161010857806318160ddd1461025057806319a0b41b1461027b57806323b872dd146102a65780632f0fe447146102cf5780632f745c59146102f857806342842e0e1461033557610140565b806301ffc9a71461014557806306fdde03146101825780630725e898146101ad578063081812fc146101ea578063095ea7b314610227575b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190612764565b610593565b60405161017991906127ac565b60405180910390f35b34801561018e57600080fd5b5061019761060d565b6040516101a49190612860565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf91906128e0565b61069f565b6040516101e191906129d5565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c9190612a23565b61074f565b60405161021e9190612a5f565b60405180910390f35b34801561023357600080fd5b5061024e60048036038101906102499190612a7a565b610795565b005b34801561025c57600080fd5b506102656108ac565b6040516102729190612ac9565b60405180910390f35b34801561028757600080fd5b506102906108b9565b60405161029d9190612ba2565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190612bc4565b610968565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612c7c565b6109c8565b005b34801561030457600080fd5b5061031f600480360381019061031a9190612a7a565b610b30565b60405161032c9190612ac9565b60405180910390f35b34801561034157600080fd5b5061035c60048036038101906103579190612bc4565b610bd5565b005b34801561036a57600080fd5b5061038560048036038101906103809190612a23565b610bf5565b6040516103929190612ac9565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd9190612a23565b610c66565b6040516103cf9190612a5f565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa91906128e0565b610cec565b60405161040c9190612ac9565b60405180910390f35b34801561042157600080fd5b5061042a610da3565b005b34801561043857600080fd5b50610441610db7565b60405161044e9190612a5f565b60405180910390f35b34801561046357600080fd5b5061046c610de1565b6040516104799190612860565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190612d08565b610e73565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190612e78565b610e89565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612a23565b610eeb565b6040516105089190612860565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612efb565b61106e565b60405161054591906127ac565b60405180910390f35b61056860048036038101906105639190612a23565b611102565b005b34801561057657600080fd5b50610591600480360381019061058c91906128e0565b6111c5565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610606575061060582611248565b5b9050919050565b60606000805461061c90612f6a565b80601f016020809104026020016040519081016040528092919081815260200182805461064890612f6a565b80156106955780601f1061066a57610100808354040283529160200191610695565b820191906000526020600020905b81548152906001019060200180831161067857829003601f168201915b5050505050905090565b606060006106ac83610cec565b67ffffffffffffffff8111156106c5576106c4612d4d565b5b6040519080825280602002602001820160405280156106f35781602001602082028036833780820191505090505b50905060005b61070284610cec565b811015610745576107138482610b30565b82828151811061072657610725612f9b565b5b602002602001018181525050808061073d90612ff9565b9150506106f9565b8192505050919050565b600061075a8261132a565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107a082610c66565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610810576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610807906130b3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661082f611375565b73ffffffffffffffffffffffffffffffffffffffff16148061085e575061085d81610858611375565b61106e565b5b61089d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089490613145565b60405180910390fd5b6108a7838361137d565b505050565b6000600880549050905090565b60606000600b5467ffffffffffffffff8111156108d9576108d8612d4d565b5b6040519080825280602002602001820160405280156109075781602001602082028036833780820191505090505b50905060005b600b548110156109605761092081611436565b1561094d57600182828151811061093a57610939612f9b565b5b6020026020010190151590811515815250505b808061095890612ff9565b91505061090d565b819250505090565b610979610973611375565b82611477565b6109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906131d7565b60405180910390fd5b6109c383838361150c565b505050565b6109d0611805565b60005b82829050811015610b2a57600d6000858152602001908152602001600020600101610a64848484818110610a0a57610a09612f9b565b5b9050602002810190610a1c9190613206565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611883565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828282818110610ad757610ad6612f9b565b5b9050602002810190610ae99190613206565b9050600d60008681526020019081526020016000206000016000828254610b109190613269565b925050819055508080610b2290612ff9565b9150506109d3565b50505050565b6000610b3b83610cec565b8210610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613331565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bf083838360405180602001604052806000815250610e89565b505050565b6000610bff6108ac565b8210610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c37906133c3565b60405180910390fd5b60088281548110610c5457610c53612f9b565b5b90600052602060002001549050919050565b600080610c7283611927565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda9061342f565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d53906134c1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dab611805565b610db56000611964565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610df090612f6a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1c90612f6a565b8015610e695780601f10610e3e57610100808354040283529160200191610e69565b820191906000526020600020905b815481529060010190602001808311610e4c57829003601f168201915b5050505050905090565b610e85610e7e611375565b8383611a2a565b5050565b610e9a610e94611375565b83611477565b610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed0906131d7565b60405180910390fd5b610ee584848484611b96565b50505050565b6060610ef682611436565b610f2c576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600d60008481526020019081526020016000206000015467ffffffffffffffff811115610f5e57610f5d612d4d565b5b6040519080825280601f01601f191660200182016040528015610f905781602001600182028036833780820191505090505b5090506000610f9e82611bf2565b50905060005b600d600086815260200190815260200160002060010180549050811015611063576000611022600d60008881526020019081526020016000206001018381548110610ff257610ff1612f9b565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c04565b905060008061103083611bf2565b9150915061103f828683611c39565b808561104b9190613269565b9450505050808061105b90612ff9565b915050610fa4565b508192505050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600b548110611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d9061352d565b60405180910390fd5b600c5434101561118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290613599565b60405180910390fd5b6111953382611cc2565b807ff8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e9560405160405180910390a250565b6111cd611805565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361123c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112339061362b565b60405180910390fd5b61124581611964565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061131357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611323575061132282611ce0565b5b9050919050565b61133381611436565b611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061342f565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166113f083610c66565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008073ffffffffffffffffffffffffffffffffffffffff1661145883611927565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008061148383610c66565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114c557506114c4818561106e565b5b8061150357508373ffffffffffffffffffffffffffffffffffffffff166114eb8461074f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661152c82610c66565b73ffffffffffffffffffffffffffffffffffffffff1614611582576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611579906136bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e89061374f565b60405180910390fd5b6115fe8383836001611d4a565b8273ffffffffffffffffffffffffffffffffffffffff1661161e82610c66565b73ffffffffffffffffffffffffffffffffffffffff1614611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b906136bd565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46118008383836001611ea8565b505050565b61180d611375565b73ffffffffffffffffffffffffffffffffffffffff1661182b610db7565b73ffffffffffffffffffffffffffffffffffffffff1614611881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611878906137bb565b60405180910390fd5b565b6000806118ae8360405160200161189a9190613859565b604051602081830303815290604052611eae565b90508051602082016000f09150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611921576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f906138c7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611b8991906127ac565b60405180910390a3505050565b611ba184848461150c565b611bad84848484611eda565b611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390613959565b60405180910390fd5b50505050565b60008082519050602083019150915091565b6060611c328260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612061565b9050919050565b5b60208110611c785782518252602082611c539190613269565b9150602083611c629190613269565b9250602081611c719190613979565b9050611c3a565b6000810315611cbd5760006001826020611c929190613979565b610100611c9f9190613ae0565b611ca99190613979565b905080198451168184511681811785525050505b505050565b611cdc828260405180602001604052806000815250612146565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d56848484846121a1565b6001811115611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190613b9d565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611de157611ddc816121a7565b611e20565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611e1f57611e1e85826121f0565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e6257611e5d8161235d565b611ea1565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611ea057611e9f848261242e565b5b5b5050505050565b50505050565b6060815182604051602001611ec4929190613c9b565b6040516020818303038152906040529050919050565b6000611efb8473ffffffffffffffffffffffffffffffffffffffff166124ad565b15612054578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f24611375565b8786866040518563ffffffff1660e01b8152600401611f469493929190613d23565b6020604051808303816000875af1925050508015611f8257506040513d601f19601f82011682018060405250810190611f7f9190613d84565b60015b612004573d8060008114611fb2576040519150601f19603f3d011682016040523d82523d6000602084013e611fb7565b606091505b506000815103611ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff390613959565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612059565b600190505b949350505050565b6060600061206e856124d0565b905060008103612090576040518060200160405280600081525091505061213f565b808411156120b0576040518060200160405280600081525091505061213f565b838310156120f9578084846040517f2c4a89fa0000000000000000000000000000000000000000000000000000000081526004016120f093929190613db1565b60405180910390fd5b600084840390506000858303905060008282106121165782612118565b815b90506040519450601f19601f60208301011685016040528085528087602087018a3c505050505b9392505050565b61215083836124db565b61215d6000848484611eda565b61219c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219390613959565b60405180910390fd5b505050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016121fd84610cec565b6122079190613979565b90506000600760008481526020019081526020016000205490508181146122ec576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506123719190613979565b90506000600960008481526020019081526020016000205490506000600883815481106123a1576123a0612f9b565b5b9060005260206000200154905080600883815481106123c3576123c2612f9b565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061241257612411613de8565b5b6001900381819060005260206000200160009055905550505050565b600061243983610cec565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000813b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361254a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254190613e63565b60405180910390fd5b61255381611436565b15612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258a90613ecf565b60405180910390fd5b6125a1600083836001611d4a565b6125aa81611436565b156125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e190613ecf565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46126f4600083836001611ea8565b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6127418161270c565b811461274c57600080fd5b50565b60008135905061275e81612738565b92915050565b60006020828403121561277a57612779612702565b5b60006127888482850161274f565b91505092915050565b60008115159050919050565b6127a681612791565b82525050565b60006020820190506127c1600083018461279d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128015780820151818401526020810190506127e6565b83811115612810576000848401525b50505050565b6000601f19601f8301169050919050565b6000612832826127c7565b61283c81856127d2565b935061284c8185602086016127e3565b61285581612816565b840191505092915050565b6000602082019050818103600083015261287a8184612827565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128ad82612882565b9050919050565b6128bd816128a2565b81146128c857600080fd5b50565b6000813590506128da816128b4565b92915050565b6000602082840312156128f6576128f5612702565b5b6000612904848285016128cb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61294c81612939565b82525050565b600061295e8383612943565b60208301905092915050565b6000602082019050919050565b60006129828261290d565b61298c8185612918565b935061299783612929565b8060005b838110156129c85781516129af8882612952565b97506129ba8361296a565b92505060018101905061299b565b5085935050505092915050565b600060208201905081810360008301526129ef8184612977565b905092915050565b612a0081612939565b8114612a0b57600080fd5b50565b600081359050612a1d816129f7565b92915050565b600060208284031215612a3957612a38612702565b5b6000612a4784828501612a0e565b91505092915050565b612a59816128a2565b82525050565b6000602082019050612a746000830184612a50565b92915050565b60008060408385031215612a9157612a90612702565b5b6000612a9f858286016128cb565b9250506020612ab085828601612a0e565b9150509250929050565b612ac381612939565b82525050565b6000602082019050612ade6000830184612aba565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b1981612791565b82525050565b6000612b2b8383612b10565b60208301905092915050565b6000602082019050919050565b6000612b4f82612ae4565b612b598185612aef565b9350612b6483612b00565b8060005b83811015612b95578151612b7c8882612b1f565b9750612b8783612b37565b925050600181019050612b68565b5085935050505092915050565b60006020820190508181036000830152612bbc8184612b44565b905092915050565b600080600060608486031215612bdd57612bdc612702565b5b6000612beb868287016128cb565b9350506020612bfc868287016128cb565b9250506040612c0d86828701612a0e565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612c3c57612c3b612c17565b5b8235905067ffffffffffffffff811115612c5957612c58612c1c565b5b602083019150836020820283011115612c7557612c74612c21565b5b9250929050565b600080600060408486031215612c9557612c94612702565b5b6000612ca386828701612a0e565b935050602084013567ffffffffffffffff811115612cc457612cc3612707565b5b612cd086828701612c26565b92509250509250925092565b612ce581612791565b8114612cf057600080fd5b50565b600081359050612d0281612cdc565b92915050565b60008060408385031215612d1f57612d1e612702565b5b6000612d2d858286016128cb565b9250506020612d3e85828601612cf3565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d8582612816565b810181811067ffffffffffffffff82111715612da457612da3612d4d565b5b80604052505050565b6000612db76126f8565b9050612dc38282612d7c565b919050565b600067ffffffffffffffff821115612de357612de2612d4d565b5b612dec82612816565b9050602081019050919050565b82818337600083830152505050565b6000612e1b612e1684612dc8565b612dad565b905082815260208101848484011115612e3757612e36612d48565b5b612e42848285612df9565b509392505050565b600082601f830112612e5f57612e5e612c17565b5b8135612e6f848260208601612e08565b91505092915050565b60008060008060808587031215612e9257612e91612702565b5b6000612ea0878288016128cb565b9450506020612eb1878288016128cb565b9350506040612ec287828801612a0e565b925050606085013567ffffffffffffffff811115612ee357612ee2612707565b5b612eef87828801612e4a565b91505092959194509250565b60008060408385031215612f1257612f11612702565b5b6000612f20858286016128cb565b9250506020612f31858286016128cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f8257607f821691505b602082108103612f9557612f94612f3b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061300482612939565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361303657613035612fca565b5b600182019050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061309d6021836127d2565b91506130a882613041565b604082019050919050565b600060208201905081810360008301526130cc81613090565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061312f603d836127d2565b915061313a826130d3565b604082019050919050565b6000602082019050818103600083015261315e81613122565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006131c1602d836127d2565b91506131cc82613165565b604082019050919050565b600060208201905081810360008301526131f0816131b4565b9050919050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112613223576132226131f7565b5b80840192508235915067ffffffffffffffff821115613245576132446131fc565b5b60208301925060018202360383131561326157613260613201565b5b509250929050565b600061327482612939565b915061327f83612939565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132b4576132b3612fca565b5b828201905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061331b602b836127d2565b9150613326826132bf565b604082019050919050565b6000602082019050818103600083015261334a8161330e565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006133ad602c836127d2565b91506133b882613351565b604082019050919050565b600060208201905081810360008301526133dc816133a0565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006134196018836127d2565b9150613424826133e3565b602082019050919050565b600060208201905081810360008301526134488161340c565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006134ab6029836127d2565b91506134b68261344f565b604082019050919050565b600060208201905081810360008301526134da8161349e565b9050919050565b7f696e76616c696420746f6b656e49642e206d7573742062652023393939000000600082015250565b6000613517601d836127d2565b9150613522826134e1565b602082019050919050565b600060208201905081810360008301526135468161350a565b9050919050565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b60006135836012836127d2565b915061358e8261354d565b602082019050919050565b600060208201905081810360008301526135b281613576565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136156026836127d2565b9150613620826135b9565b604082019050919050565b6000602082019050818103600083015261364481613608565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006136a76025836127d2565b91506136b28261364b565b604082019050919050565b600060208201905081810360008301526136d68161369a565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006137396024836127d2565b9150613744826136dd565b604082019050919050565b600060208201905081810360008301526137688161372c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137a56020836127d2565b91506137b08261376f565b602082019050919050565b600060208201905081810360008301526137d481613798565b9050919050565b600081905092915050565b60008082015250565b60006137fc6001836137db565b9150613807826137e6565b600182019050919050565b600081519050919050565b600081905092915050565b600061383382613812565b61383d818561381d565b935061384d8185602086016127e3565b80840191505092915050565b6000613864826137ef565b91506138708284613828565b915081905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006138b16019836127d2565b91506138bc8261387b565b602082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006139436032836127d2565b915061394e826138e7565b604082019050919050565b6000602082019050818103600083015261397281613936565b9050919050565b600061398482612939565b915061398f83612939565b9250828210156139a2576139a1612fca565b5b828203905092915050565b60008160011c9050919050565b6000808291508390505b6001851115613a04578086048111156139e0576139df612fca565b5b60018516156139ef5780820291505b80810290506139fd856139ad565b94506139c4565b94509492505050565b600082613a1d5760019050613ad9565b81613a2b5760009050613ad9565b8160018114613a415760028114613a4b57613a7a565b6001915050613ad9565b60ff841115613a5d57613a5c612fca565b5b8360020a915084821115613a7457613a73612fca565b5b50613ad9565b5060208310610133831016604e8410600b8410161715613aaf5782820a905083811115613aaa57613aa9612fca565b5b613ad9565b613abc84848460016139ba565b92509050818404811115613ad357613ad2612fca565b5b81810290505b9392505050565b6000613aeb82612939565b9150613af683612939565b9250613b237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a0d565b905092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000613b876035836127d2565b9150613b9282613b2b565b604082019050919050565b60006020820190508181036000830152613bb681613b7a565b9050919050565b7f6300000000000000000000000000000000000000000000000000000000000000600082015250565b6000613bf36001836137db565b9150613bfe82613bbd565b600182019050919050565b600063ffffffff82169050919050565b60008160e01b9050919050565b6000613c3182613c19565b9050919050565b613c49613c4482613c09565b613c26565b82525050565b7f80600e6000396000f30000000000000000000000000000000000000000000000600082015250565b6000613c856009836137db565b9150613c9082613c4f565b600982019050919050565b6000613ca682613be6565b9150613cb28285613c38565b600482019150613cc182613c78565b9150613ccd8284613828565b91508190509392505050565b600082825260208201905092915050565b6000613cf582613812565b613cff8185613cd9565b9350613d0f8185602086016127e3565b613d1881612816565b840191505092915050565b6000608082019050613d386000830187612a50565b613d456020830186612a50565b613d526040830185612aba565b8181036060830152613d648184613cea565b905095945050505050565b600081519050613d7e81612738565b92915050565b600060208284031215613d9a57613d99612702565b5b6000613da884828501613d6f565b91505092915050565b6000606082019050613dc66000830186612aba565b613dd36020830185612aba565b613de06040830184612aba565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613e4d6020836127d2565b9150613e5882613e17565b602082019050919050565b60006020820190508181036000830152613e7c81613e40565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613eb9601c836127d2565b9150613ec482613e83565b602082019050919050565b60006020820190508181036000830152613ee881613eac565b905091905056fea2646970667358221220eee1e37bde30f335a29fbb21d0539d00455524a16ba12e17b7a42e84d2f85b9764736f6c634300080e0033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:516:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35:152:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55:77:19", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "45:88:19" + }, + "nodeType": "YulExpressionStatement", + "src": "45:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "149:1:19", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "152:4:19", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "142:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "142:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "142:15:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "173:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "176:4:19", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "166:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "166:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "166:15:19" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "7:180:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "244:269:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "254:22:19", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "268:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "274:1:19", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "264:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "264:12:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "254:6:19" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "285:38:19", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "315:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "321:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "311:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "311:12:19" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "289:18:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "362:51:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "376:27:19", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "390:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "398:4:19", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "386:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "386:17:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "376:6:19" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "342:18:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "335:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "335:26:19" + }, + "nodeType": "YulIf", + "src": "332:81:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "465:42:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "479:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "479:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "479:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "429:18:19" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "452:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "460:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "449:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "449:14:19" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "426:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "426:38:19" + }, + "nodeType": "YulIf", + "src": "423:84:19" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "228:4:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "237:6:19", + "type": "" + } + ], + "src": "193:320:19" + } + ] + }, + "contents": "{\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n", + "id": 19, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:46207:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:19", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:19" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:19" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:19", + "type": "" + } + ], + "src": "7:75:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:19" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:19" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "378:105:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "388:89:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "403:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "410:66:19", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "399:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "399:78:19" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "388:7:19" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "370:7:19", + "type": "" + } + ], + "src": "334:149:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "531:78:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "587:16:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "596:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "599:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "589:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "589:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "589:12:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "554:5:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "578:5:19" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "561:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "561:23:19" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "551:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "551:34:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "544:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "544:42:19" + }, + "nodeType": "YulIf", + "src": "541:62:19" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "524:5:19", + "type": "" + } + ], + "src": "489:120:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "666:86:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "676:29:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "685:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "685:20:19" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "740:5:19" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "714:25:19" + }, + "nodeType": "YulFunctionCall", + "src": "714:32:19" + }, + "nodeType": "YulExpressionStatement", + "src": "714:32:19" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "644:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "652:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "660:5:19", + "type": "" + } + ], + "src": "615:137:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:262:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "869:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "871:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "871:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "871:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "844:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "840:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "840:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "836:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "836:32:19" + }, + "nodeType": "YulIf", + "src": "833:119:19" + }, + { + "nodeType": "YulBlock", + "src": "962:116:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "977:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "991:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "981:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1006:62:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1040:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1051:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1036:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1036:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1060:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1016:19:19" + }, + "nodeType": "YulFunctionCall", + "src": "1016:52:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1006:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "793:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "804:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "816:6:19", + "type": "" + } + ], + "src": "758:327:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1133:48:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1143:32:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1168:5:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1161:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "1161:13:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1154:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "1154:21:19" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1143:7:19" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1115:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1125:7:19", + "type": "" + } + ], + "src": "1091:90:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1246:50:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1263:3:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1283:5:19" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1268:14:19" + }, + "nodeType": "YulFunctionCall", + "src": "1268:21:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1256:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "1256:34:19" + }, + "nodeType": "YulExpressionStatement", + "src": "1256:34:19" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1234:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1241:3:19", + "type": "" + } + ], + "src": "1187:109:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1394:118:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1404:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1416:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1427:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1412:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1404:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1478:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1491:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1487:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1487:17:19" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1440:37:19" + }, + "nodeType": "YulFunctionCall", + "src": "1440:65:19" + }, + "nodeType": "YulExpressionStatement", + "src": "1440:65:19" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1366:9:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1378:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1389:4:19", + "type": "" + } + ], + "src": "1302:210:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1577:40:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:22:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1604:5:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1598:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "1598:12:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1588:6:19" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1560:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1570:6:19", + "type": "" + } + ], + "src": "1518:99:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:73:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1736:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1741:6:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1729:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "1729:19:19" + }, + "nodeType": "YulExpressionStatement", + "src": "1729:19:19" + }, + { + "nodeType": "YulAssignment", + "src": "1757:29:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1776:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1781:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1772:14:19" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1757:11:19" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1691:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1696:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1707:11:19", + "type": "" + } + ], + "src": "1623:169:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1847:258:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1857:10:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1866:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1861:1:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1926:63:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1951:3:19" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1956:1:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1947:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1947:11:19" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1970:3:19" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1975:1:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1966:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1966:11:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1960:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "1960:18:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1940:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "1940:39:19" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:39:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1887:1:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:19" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1884:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "1884:13:19" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1898:19:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1900:15:19", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1909:1:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1912:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1905:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "1905:10:19" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1900:1:19" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1880:3:19", + "statements": [] + }, + "src": "1876:113:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2023:76:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2073:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2078:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2069:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2069:16:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2087:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2062:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "2062:27:19" + }, + "nodeType": "YulExpressionStatement", + "src": "2062:27:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2004:1:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2007:6:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2001:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "2001:13:19" + }, + "nodeType": "YulIf", + "src": "1998:101:19" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1829:3:19", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1834:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1839:6:19", + "type": "" + } + ], + "src": "1798:307:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2159:54:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2169:38:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:2:19", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2183:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2183:14:19" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:19", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2199:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2199:7:19" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2179:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2179:28:19" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2169:6:19" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2142:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2152:6:19", + "type": "" + } + ], + "src": "2111:102:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2311:272:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2321:53:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2368:5:19" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2335:32:19" + }, + "nodeType": "YulFunctionCall", + "src": "2335:39:19" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2325:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2383:78:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2449:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2454:6:19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2390:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "2390:71:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2383:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2496:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2492:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2492:16:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2510:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2515:6:19" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2470:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "2470:52:19" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:52:19" + }, + { + "nodeType": "YulAssignment", + "src": "2531:46:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2542:3:19" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2569:6:19" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2547:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "2547:29:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2538:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2538:39:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2531:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2292:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2299:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2307:3:19", + "type": "" + } + ], + "src": "2219:364:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2707:195:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2717:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2729:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2740:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2725:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2725:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2717:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2764:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2775:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2760:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2760:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2789:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2779:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2779:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2753:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "2753:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "2753:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "2809:86:19", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2881:6:19" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2890:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2817:63:19" + }, + "nodeType": "YulFunctionCall", + "src": "2817:78:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2809:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2679:9:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2691:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2702:4:19", + "type": "" + } + ], + "src": "2589:313:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:81:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:65:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2978:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2985:42:19", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2974:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "2974:54:19" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2963:7:19" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2935:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2945:7:19", + "type": "" + } + ], + "src": "2908:126:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3085:51:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3095:35:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3124:5:19" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "3106:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "3106:24:19" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3095:7:19" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3067:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3077:7:19", + "type": "" + } + ], + "src": "3040:96:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3185:79:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3242:16:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3251:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3254:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3244:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "3244:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "3244:12:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3208:5:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3233:5:19" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3215:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "3215:24:19" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3205:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "3205:35:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3198:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "3198:43:19" + }, + "nodeType": "YulIf", + "src": "3195:63:19" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3178:5:19", + "type": "" + } + ], + "src": "3142:122:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3322:87:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3332:29:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3354:6:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3341:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "3341:20:19" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3332:5:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3397:5:19" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "3370:26:19" + }, + "nodeType": "YulFunctionCall", + "src": "3370:33:19" + }, + "nodeType": "YulExpressionStatement", + "src": "3370:33:19" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3300:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3308:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3316:5:19", + "type": "" + } + ], + "src": "3270:139:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3481:263:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3527:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3529:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "3529:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "3529:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3502:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3511:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3498:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "3498:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3523:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3494:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "3494:32:19" + }, + "nodeType": "YulIf", + "src": "3491:119:19" + }, + { + "nodeType": "YulBlock", + "src": "3620:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3635:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3649:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3639:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3664:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3699:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3710:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3695:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "3695:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3719:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3674:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "3674:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3664:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3451:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3462:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3474:6:19", + "type": "" + } + ], + "src": "3415:329:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3824:40:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3835:22:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3851:5:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3845:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "3845:12:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3835:6:19" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3807:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3817:6:19", + "type": "" + } + ], + "src": "3750:114:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3981:73:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3998:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4003:6:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3991:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "3991:19:19" + }, + "nodeType": "YulExpressionStatement", + "src": "3991:19:19" + }, + { + "nodeType": "YulAssignment", + "src": "4019:29:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4038:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4043:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4034:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "4034:14:19" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "4019:11:19" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3953:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3958:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "3969:11:19", + "type": "" + } + ], + "src": "3870:184:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4132:60:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4142:11:19", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4150:3:19" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4142:4:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4163:22:19", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4175:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4180:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4171:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "4171:14:19" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4163:4:19" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "4119:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4127:4:19", + "type": "" + } + ], + "src": "4060:132:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4243:32:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4253:16:19", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4264:5:19" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4253:7:19" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4225:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4235:7:19", + "type": "" + } + ], + "src": "4198:77:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4336:53:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4353:3:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4376:5:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4358:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "4358:24:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4346:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "4346:37:19" + }, + "nodeType": "YulExpressionStatement", + "src": "4346:37:19" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4324:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4331:3:19", + "type": "" + } + ], + "src": "4281:108:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4475:99:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4519:6:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4527:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "4485:33:19" + }, + "nodeType": "YulFunctionCall", + "src": "4485:46:19" + }, + "nodeType": "YulExpressionStatement", + "src": "4485:46:19" + }, + { + "nodeType": "YulAssignment", + "src": "4540:28:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4558:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4563:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4554:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "4554:14:19" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "4540:10:19" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4448:6:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4456:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "4464:10:19", + "type": "" + } + ], + "src": "4395:179:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4655:38:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4665:22:19", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4677:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4682:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4673:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "4673:14:19" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "4665:4:19" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "4642:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "4650:4:19", + "type": "" + } + ], + "src": "4580:113:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4853:608:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4863:68:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4925:5:19" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4877:47:19" + }, + "nodeType": "YulFunctionCall", + "src": "4877:54:19" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4867:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4940:93:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5021:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5026:6:19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4947:73:19" + }, + "nodeType": "YulFunctionCall", + "src": "4947:86:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4940:3:19" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5042:71:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5107:5:19" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5057:49:19" + }, + "nodeType": "YulFunctionCall", + "src": "5057:56:19" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "5046:7:19", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5122:21:19", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "5136:7:19" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "5126:6:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5212:224:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5226:34:19", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5253:6:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5247:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "5247:13:19" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "5230:13:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5273:70:19", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "5324:13:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5339:3:19" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "5280:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "5280:63:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5273:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5356:70:19", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5419:6:19" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5366:52:19" + }, + "nodeType": "YulFunctionCall", + "src": "5366:60:19" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5356:6:19" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5174:1:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5177:6:19" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5171:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "5171:13:19" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5185:18:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5187:14:19", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5196:1:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5199:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5192:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "5192:9:19" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5187:1:19" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5156:14:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5158:10:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5167:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "5162:1:19", + "type": "" + } + ] + } + ] + }, + "src": "5152:284:19" + }, + { + "nodeType": "YulAssignment", + "src": "5445:10:19", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5452:3:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5445:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4832:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4839:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4848:3:19", + "type": "" + } + ], + "src": "4729:732:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5615:225:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5625:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5637:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5648:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5633:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "5633:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5625:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5672:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5683:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5668:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "5668:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5691:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5697:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5687:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "5687:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5661:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "5661:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "5661:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "5717:116:19", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5819:6:19" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5828:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5725:93:19" + }, + "nodeType": "YulFunctionCall", + "src": "5725:108:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5717:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5587:9:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5599:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5610:4:19", + "type": "" + } + ], + "src": "5467:373:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5889:79:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5946:16:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5955:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5958:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5948:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "5948:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "5948:12:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5912:5:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5937:5:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5919:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "5919:24:19" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5909:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "5909:35:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5902:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "5902:43:19" + }, + "nodeType": "YulIf", + "src": "5899:63:19" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5882:5:19", + "type": "" + } + ], + "src": "5846:122:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6026:87:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6036:29:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6058:6:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6045:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "6045:20:19" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6036:5:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6101:5:19" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "6074:26:19" + }, + "nodeType": "YulFunctionCall", + "src": "6074:33:19" + }, + "nodeType": "YulExpressionStatement", + "src": "6074:33:19" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6004:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6012:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6020:5:19", + "type": "" + } + ], + "src": "5974:139:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6185:263:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6231:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6233:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "6233:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "6233:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6206:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6215:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6202:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6202:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6227:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6198:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6198:32:19" + }, + "nodeType": "YulIf", + "src": "6195:119:19" + }, + { + "nodeType": "YulBlock", + "src": "6324:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6339:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6353:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6343:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6368:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6403:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6414:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6399:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6399:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6423:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6378:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "6378:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6368:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6155:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6166:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6178:6:19", + "type": "" + } + ], + "src": "6119:329:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6519:53:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6536:3:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6559:5:19" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "6541:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "6541:24:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6529:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "6529:37:19" + }, + "nodeType": "YulExpressionStatement", + "src": "6529:37:19" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6507:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6514:3:19", + "type": "" + } + ], + "src": "6454:118:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6676:124:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6686:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6698:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6709:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6694:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6694:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6686:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6766:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6779:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6790:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6775:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6775:17:19" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "6722:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "6722:71:19" + }, + "nodeType": "YulExpressionStatement", + "src": "6722:71:19" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6648:9:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6660:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6671:4:19", + "type": "" + } + ], + "src": "6578:222:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6889:391:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6935:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6937:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "6937:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "6937:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6910:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6919:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6906:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6906:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6931:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6902:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6902:32:19" + }, + "nodeType": "YulIf", + "src": "6899:119:19" + }, + { + "nodeType": "YulBlock", + "src": "7028:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7043:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7057:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7047:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7072:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7107:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7118:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7103:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "7103:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7127:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7082:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "7082:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7072:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7155:118:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7170:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7184:2:19", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7174:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7200:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7235:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7246:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7231:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "7231:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7255:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7210:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "7210:53:19" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7200:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6851:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6862:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6874:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6882:6:19", + "type": "" + } + ], + "src": "6806:474:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7351:53:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7368:3:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7391:5:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7373:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "7373:24:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7361:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "7361:37:19" + }, + "nodeType": "YulExpressionStatement", + "src": "7361:37:19" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7339:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7346:3:19", + "type": "" + } + ], + "src": "7286:118:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7508:124:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7518:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7530:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7541:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7526:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "7526:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7518:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7598:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7611:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7622:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7607:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "7607:17:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "7554:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "7554:71:19" + }, + "nodeType": "YulExpressionStatement", + "src": "7554:71:19" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7480:9:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7492:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7503:4:19", + "type": "" + } + ], + "src": "7410:222:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7709:40:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7720:22:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7736:5:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7730:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "7730:12:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7720:6:19" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7692:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7702:6:19", + "type": "" + } + ], + "src": "7638:111:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7863:73:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7880:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7885:6:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7873:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "7873:19:19" + }, + "nodeType": "YulExpressionStatement", + "src": "7873:19:19" + }, + { + "nodeType": "YulAssignment", + "src": "7901:29:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7920:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7925:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7916:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "7916:14:19" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "7901:11:19" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7835:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7840:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "7851:11:19", + "type": "" + } + ], + "src": "7755:181:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8011:60:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8021:11:19", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8029:3:19" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8021:4:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8042:22:19", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8054:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8059:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8050:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "8050:14:19" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8042:4:19" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "7998:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "8006:4:19", + "type": "" + } + ], + "src": "7942:129:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8126:50:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8143:3:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8163:5:19" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "8148:14:19" + }, + "nodeType": "YulFunctionCall", + "src": "8148:21:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8136:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "8136:34:19" + }, + "nodeType": "YulExpressionStatement", + "src": "8136:34:19" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8114:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8121:3:19", + "type": "" + } + ], + "src": "8077:99:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8256:93:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8294:6:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8302:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "8266:27:19" + }, + "nodeType": "YulFunctionCall", + "src": "8266:40:19" + }, + "nodeType": "YulExpressionStatement", + "src": "8266:40:19" + }, + { + "nodeType": "YulAssignment", + "src": "8315:28:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8333:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8338:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8329:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "8329:14:19" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "8315:10:19" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8229:6:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8237:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "8245:10:19", + "type": "" + } + ], + "src": "8182:167:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8427:38:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8437:22:19", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8449:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8454:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8445:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "8445:14:19" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "8437:4:19" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "8414:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "8422:4:19", + "type": "" + } + ], + "src": "8355:110:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8613:590:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8623:65:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8682:5:19" + } + ], + "functionName": { + "name": "array_length_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8637:44:19" + }, + "nodeType": "YulFunctionCall", + "src": "8637:51:19" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8627:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8697:90:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8775:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8780:6:19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8704:70:19" + }, + "nodeType": "YulFunctionCall", + "src": "8704:83:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8697:3:19" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8796:68:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8858:5:19" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8811:46:19" + }, + "nodeType": "YulFunctionCall", + "src": "8811:53:19" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "8800:7:19", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8873:21:19", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "8887:7:19" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "8877:6:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8963:215:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8977:34:19", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9004:6:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8998:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "8998:13:19" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "8981:13:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9024:64:19", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "9069:13:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9084:3:19" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "9031:37:19" + }, + "nodeType": "YulFunctionCall", + "src": "9031:57:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9024:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9101:67:19", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9161:6:19" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bool_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9111:49:19" + }, + "nodeType": "YulFunctionCall", + "src": "9111:57:19" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9101:6:19" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8925:1:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8928:6:19" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8922:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "8922:13:19" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "8936:18:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8938:14:19", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8947:1:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8950:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8943:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "8943:9:19" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8938:1:19" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "8907:14:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8909:10:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8918:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "8913:1:19", + "type": "" + } + ] + } + ] + }, + "src": "8903:275:19" + }, + { + "nodeType": "YulAssignment", + "src": "9187:10:19", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9194:3:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9187:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8592:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8599:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8608:3:19", + "type": "" + } + ], + "src": "8495:708:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9351:219:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9361:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9373:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9384:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9369:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "9369:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9361:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9408:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9419:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9404:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "9404:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9427:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9433:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9423:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "9423:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9397:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "9397:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "9397:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "9453:110:19", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9549:6:19" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9558:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9461:87:19" + }, + "nodeType": "YulFunctionCall", + "src": "9461:102:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9453:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9323:9:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9335:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9346:4:19", + "type": "" + } + ], + "src": "9209:361:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9676:519:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9722:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9724:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "9724:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "9724:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9697:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9706:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9693:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "9693:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9718:2:19", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9689:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "9689:32:19" + }, + "nodeType": "YulIf", + "src": "9686:119:19" + }, + { + "nodeType": "YulBlock", + "src": "9815:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9830:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9844:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9834:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9859:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9894:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9905:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9890:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "9890:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9914:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9869:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "9869:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9859:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9942:118:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9957:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9971:2:19", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9961:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9987:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10022:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10033:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10018:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "10018:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10042:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9997:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "9997:53:19" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9987:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10070:118:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10085:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10099:2:19", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10089:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10115:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10150:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10161:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10146:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "10146:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10170:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "10125:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "10125:53:19" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10115:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9630:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9641:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9653:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9661:6:19", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9669:6:19", + "type": "" + } + ], + "src": "9576:619:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10290:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10307:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10310:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10300:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "10300:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "10300:12:19" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "10201:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10413:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10430:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10433:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10423:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "10423:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "10423:12:19" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "10324:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10536:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10553:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10556:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10546:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "10546:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "10546:12:19" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "10447:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10686:478:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10735:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "10737:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "10737:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "10737:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10714:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10722:4:19", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10710:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "10710:17:19" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10729:3:19" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10706:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "10706:27:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10699:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "10699:35:19" + }, + "nodeType": "YulIf", + "src": "10696:122:19" + }, + { + "nodeType": "YulAssignment", + "src": "10827:30:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10850:6:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10837:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "10837:20:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10827:6:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10900:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "10902:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "10902:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "10902:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10872:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10880:18:19", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10869:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "10869:30:19" + }, + "nodeType": "YulIf", + "src": "10866:117:19" + }, + { + "nodeType": "YulAssignment", + "src": "10992:29:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11008:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11016:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11004:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11004:17:19" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "10992:8:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11075:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "11077:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "11077:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "11077:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "11040:8:19" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11054:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11062:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "11050:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11050:17:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11036:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11036:32:19" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11070:3:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11033:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "11033:41:19" + }, + "nodeType": "YulIf", + "src": "11030:128:19" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10653:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10661:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "10669:8:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10679:6:19", + "type": "" + } + ], + "src": "10585:579:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11299:597:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11345:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "11347:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "11347:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "11347:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11320:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11329:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11316:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11316:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11341:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11312:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11312:32:19" + }, + "nodeType": "YulIf", + "src": "11309:119:19" + }, + { + "nodeType": "YulBlock", + "src": "11438:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11453:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11467:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11457:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11482:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11517:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11528:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11513:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11513:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11537:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "11492:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "11492:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11482:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11565:324:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11580:46:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11611:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11622:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11607:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11607:18:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11594:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "11594:32:19" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11584:6:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11673:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "11675:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "11675:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "11675:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11645:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11653:18:19", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11642:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "11642:30:19" + }, + "nodeType": "YulIf", + "src": "11639:117:19" + }, + { + "nodeType": "YulAssignment", + "src": "11770:109:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11851:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11862:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11847:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "11847:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11871:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "11788:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "11788:91:19" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11770:6:19" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11778:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11253:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11264:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11276:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11284:6:19", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11292:6:19", + "type": "" + } + ], + "src": "11170:726:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11942:76:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11996:16:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12005:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12008:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11998:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "11998:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "11998:12:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11965:5:19" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11987:5:19" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "11972:14:19" + }, + "nodeType": "YulFunctionCall", + "src": "11972:21:19" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "11962:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "11962:32:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11955:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "11955:40:19" + }, + "nodeType": "YulIf", + "src": "11952:60:19" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11935:5:19", + "type": "" + } + ], + "src": "11902:116:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12073:84:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12083:29:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12105:6:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12092:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "12092:20:19" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12083:5:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12145:5:19" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "12121:23:19" + }, + "nodeType": "YulFunctionCall", + "src": "12121:30:19" + }, + "nodeType": "YulExpressionStatement", + "src": "12121:30:19" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12051:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12059:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12067:5:19", + "type": "" + } + ], + "src": "12024:133:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12243:388:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12289:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "12291:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "12291:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "12291:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12264:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12273:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12260:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "12260:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12285:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12256:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "12256:32:19" + }, + "nodeType": "YulIf", + "src": "12253:119:19" + }, + { + "nodeType": "YulBlock", + "src": "12382:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12397:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12411:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12401:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12426:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12461:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12472:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12457:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "12457:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12481:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "12436:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "12436:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12426:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12509:115:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12524:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12538:2:19", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12528:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12554:60:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12586:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12597:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12582:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "12582:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12606:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "12564:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "12564:50:19" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12554:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12205:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12216:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12228:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12236:6:19", + "type": "" + } + ], + "src": "12163:468:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12726:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12743:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12746:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12736:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "12736:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "12736:12:19" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "12637:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12788:152:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12805:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12808:77:19", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12798:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "12798:88:19" + }, + "nodeType": "YulExpressionStatement", + "src": "12798:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12902:1:19", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12905:4:19", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12895:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "12895:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "12895:15:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12926:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12929:4:19", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12919:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "12919:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "12919:15:19" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "12760:180:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12989:238:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12999:58:19", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13021:6:19" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13051:4:19" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "13029:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "13029:27:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13017:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "13017:40:19" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "13003:10:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13168:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "13170:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "13170:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "13170:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "13111:10:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13123:18:19", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13108:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "13108:34:19" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "13147:10:19" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13159:6:19" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13144:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "13144:22:19" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "13105:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "13105:62:19" + }, + "nodeType": "YulIf", + "src": "13102:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13206:2:19", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "13210:10:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13199:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "13199:22:19" + }, + "nodeType": "YulExpressionStatement", + "src": "13199:22:19" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12975:6:19", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12983:4:19", + "type": "" + } + ], + "src": "12946:281:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13274:88:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13284:30:19", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "13294:18:19" + }, + "nodeType": "YulFunctionCall", + "src": "13294:20:19" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13284:6:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13343:6:19" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13351:4:19" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "13323:19:19" + }, + "nodeType": "YulFunctionCall", + "src": "13323:33:19" + }, + "nodeType": "YulExpressionStatement", + "src": "13323:33:19" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "13258:4:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "13267:6:19", + "type": "" + } + ], + "src": "13233:129:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13434:241:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13539:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "13541:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "13541:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "13541:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13511:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13519:18:19", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13508:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "13508:30:19" + }, + "nodeType": "YulIf", + "src": "13505:56:19" + }, + { + "nodeType": "YulAssignment", + "src": "13571:37:19", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13601:6:19" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "13579:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "13579:29:19" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13571:4:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13645:23:19", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13657:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13663:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13653:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "13653:15:19" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13645:4:19" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13418:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "13429:4:19", + "type": "" + } + ], + "src": "13368:307:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13732:103:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13755:3:19" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13760:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13765:6:19" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "13742:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "13742:30:19" + }, + "nodeType": "YulExpressionStatement", + "src": "13742:30:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13813:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13818:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13809:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "13809:16:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13827:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13802:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "13802:27:19" + }, + "nodeType": "YulExpressionStatement", + "src": "13802:27:19" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13714:3:19", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13719:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13724:6:19", + "type": "" + } + ], + "src": "13681:154:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13924:327:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13934:74:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14000:6:19" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13959:40:19" + }, + "nodeType": "YulFunctionCall", + "src": "13959:48:19" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "13943:15:19" + }, + "nodeType": "YulFunctionCall", + "src": "13943:65:19" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13934:5:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14024:5:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14031:6:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14017:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "14017:21:19" + }, + "nodeType": "YulExpressionStatement", + "src": "14017:21:19" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14047:27:19", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14062:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14069:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14058:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14058:16:19" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "14051:3:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14112:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "14114:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "14114:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "14114:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "14093:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14098:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14089:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14089:16:19" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14107:3:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14086:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "14086:25:19" + }, + "nodeType": "YulIf", + "src": "14083:112:19" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "14228:3:19" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "14233:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14238:6:19" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "14204:23:19" + }, + "nodeType": "YulFunctionCall", + "src": "14204:41:19" + }, + "nodeType": "YulExpressionStatement", + "src": "14204:41:19" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13897:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13902:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13910:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13918:5:19", + "type": "" + } + ], + "src": "13841:410:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14331:277:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14380:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "14382:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "14382:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "14382:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14359:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14367:4:19", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14355:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14355:17:19" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14374:3:19" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14351:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14351:27:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14344:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "14344:35:19" + }, + "nodeType": "YulIf", + "src": "14341:122:19" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14472:34:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14499:6:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14486:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "14486:20:19" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14476:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14515:87:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14575:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14583:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14571:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14571:17:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14590:6:19" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14598:3:19" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14524:46:19" + }, + "nodeType": "YulFunctionCall", + "src": "14524:78:19" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14515:5:19" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14309:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14317:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "14325:5:19", + "type": "" + } + ], + "src": "14270:338:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14740:817:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14787:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "14789:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "14789:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "14789:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14761:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14770:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14757:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14757:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14782:3:19", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14753:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14753:33:19" + }, + "nodeType": "YulIf", + "src": "14750:120:19" + }, + { + "nodeType": "YulBlock", + "src": "14880:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14895:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14909:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14899:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14924:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14959:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14970:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14955:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "14955:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14979:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "14934:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "14934:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14924:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15007:118:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15022:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15036:2:19", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15026:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15052:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15087:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15098:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15083:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15083:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15107:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15062:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "15062:53:19" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15052:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15135:118:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15150:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15164:2:19", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15154:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15180:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15215:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15226:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15211:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15211:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15235:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "15190:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "15190:53:19" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15180:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15263:287:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15278:46:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15309:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15320:2:19", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15305:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15305:18:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15292:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "15292:32:19" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15282:6:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15371:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "15373:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "15373:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "15373:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15343:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15351:18:19", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15340:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "15340:30:19" + }, + "nodeType": "YulIf", + "src": "15337:117:19" + }, + { + "nodeType": "YulAssignment", + "src": "15468:72:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15512:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15523:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15508:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15508:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15532:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15478:29:19" + }, + "nodeType": "YulFunctionCall", + "src": "15478:62:19" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "15468:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14686:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14697:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14709:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14717:6:19", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14725:6:19", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14733:6:19", + "type": "" + } + ], + "src": "14614:943:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15646:391:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15692:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "15694:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "15694:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "15694:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15667:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15676:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15663:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15663:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15688:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15659:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15659:32:19" + }, + "nodeType": "YulIf", + "src": "15656:119:19" + }, + { + "nodeType": "YulBlock", + "src": "15785:117:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15800:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15814:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15804:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15829:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15864:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15875:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15860:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15860:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15884:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15839:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "15839:53:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15829:6:19" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15912:118:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15927:16:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15941:2:19", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15931:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15957:63:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15992:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16003:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15988:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "15988:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16012:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15967:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "15967:53:19" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15957:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15608:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15619:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15631:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15639:6:19", + "type": "" + } + ], + "src": "15563:474:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16071:152:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16088:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16091:77:19", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16081:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16081:88:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16081:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16185:1:19", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16188:4:19", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16178:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16178:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16178:15:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16209:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16212:4:19", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16202:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16202:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16202:15:19" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "16043:180:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16280:269:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16290:22:19", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "16304:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16310:1:19", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "16300:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "16300:12:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16290:6:19" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16321:38:19", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "16351:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16357:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "16347:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "16347:12:19" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "16325:18:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16398:51:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16412:27:19", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16426:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16434:4:19", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "16422:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "16422:17:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16412:6:19" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "16378:18:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "16371:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16371:26:19" + }, + "nodeType": "YulIf", + "src": "16368:81:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16501:42:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "16515:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "16515:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16515:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "16465:18:19" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16488:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16496:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "16485:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "16485:14:19" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "16462:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "16462:38:19" + }, + "nodeType": "YulIf", + "src": "16459:84:19" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "16264:4:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "16273:6:19", + "type": "" + } + ], + "src": "16229:320:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16583:152:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16600:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16603:77:19", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16593:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16593:88:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16593:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16697:1:19", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16700:4:19", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16690:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16690:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16690:15:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16721:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16724:4:19", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16714:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16714:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16714:15:19" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "16555:180:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16769:152:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16786:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16789:77:19", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16779:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16779:88:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16779:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16883:1:19", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16886:4:19", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16876:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16876:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16876:15:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16907:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16910:4:19", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16900:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "16900:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "16900:15:19" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "16741:180:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16970:190:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16980:33:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17007:5:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16989:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "16989:24:19" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16980:5:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17103:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "17105:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "17105:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "17105:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17028:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17035:66:19", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "17025:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "17025:77:19" + }, + "nodeType": "YulIf", + "src": "17022:103:19" + }, + { + "nodeType": "YulAssignment", + "src": "17134:20:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17145:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17152:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17141:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "17141:13:19" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "17134:3:19" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16956:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16966:3:19", + "type": "" + } + ], + "src": "16927:233:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17272:114:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17294:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17302:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17290:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "17290:14:19" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17306:34:19", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17283:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "17283:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "17283:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17362:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17370:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17358:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "17358:15:19" + }, + { + "hexValue": "72", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17375:3:19", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17351:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "17351:28:19" + }, + "nodeType": "YulExpressionStatement", + "src": "17351:28:19" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17264:6:19", + "type": "" + } + ], + "src": "17166:220:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17538:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17548:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17614:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17619:2:19", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17555:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "17555:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17548:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17720:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulIdentifier", + "src": "17631:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "17631:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "17631:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "17733:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17744:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17749:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17740:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "17740:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17733:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17526:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17534:3:19", + "type": "" + } + ], + "src": "17392:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17935:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17945:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17957:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17968:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17953:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "17953:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17945:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17992:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18003:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17988:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "17988:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18011:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18017:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18007:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "18007:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17981:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "17981:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "17981:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "18037:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18171:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18045:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "18045:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18037:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17915:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17930:4:19", + "type": "" + } + ], + "src": "17764:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18295:142:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18317:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18325:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18313:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "18313:14:19" + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18329:34:19", + "type": "", + "value": "ERC721: approve caller is not to" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18306:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "18306:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "18306:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18385:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18393:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18381:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "18381:15:19" + }, + { + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18398:31:19", + "type": "", + "value": "ken owner or approved for all" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18374:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "18374:56:19" + }, + "nodeType": "YulExpressionStatement", + "src": "18374:56:19" + } + ] + }, + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18287:6:19", + "type": "" + } + ], + "src": "18189:248:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18589:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18599:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18665:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18670:2:19", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18606:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "18606:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18599:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18771:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulIdentifier", + "src": "18682:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "18682:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "18682:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "18784:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18795:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18800:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18791:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "18791:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18784:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18577:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18585:3:19", + "type": "" + } + ], + "src": "18443:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18986:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18996:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19008:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19019:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19004:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "19004:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18996:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19043:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19054:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19039:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "19039:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19062:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19068:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19058:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "19058:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19032:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "19032:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "19032:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "19088:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19222:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19096:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "19096:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19088:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18966:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18981:4:19", + "type": "" + } + ], + "src": "18815:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19346:126:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19368:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19376:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19364:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "19364:14:19" + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19380:34:19", + "type": "", + "value": "ERC721: caller is not token owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19357:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "19357:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "19357:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19436:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19444:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19432:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "19432:15:19" + }, + { + "hexValue": "72206f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19449:15:19", + "type": "", + "value": "r or approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19425:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "19425:40:19" + }, + "nodeType": "YulExpressionStatement", + "src": "19425:40:19" + } + ] + }, + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19338:6:19", + "type": "" + } + ], + "src": "19240:232:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19624:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19634:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19700:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19705:2:19", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19641:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "19641:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19634:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19806:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulIdentifier", + "src": "19717:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "19717:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "19717:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "19819:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19830:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19835:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19826:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "19826:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19819:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19612:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19620:3:19", + "type": "" + } + ], + "src": "19478:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20021:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20031:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20043:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20054:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20039:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20039:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20031:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20078:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20089:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20074:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20074:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20097:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20103:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20093:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20093:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20067:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "20067:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "20067:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "20123:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20257:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20131:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "20131:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20123:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20001:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20016:4:19", + "type": "" + } + ], + "src": "19850:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20364:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20381:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20384:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "20374:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "20374:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "20374:12:19" + } + ] + }, + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nodeType": "YulFunctionDefinition", + "src": "20275:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20487:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20504:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20507:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "20497:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "20497:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "20497:12:19" + } + ] + }, + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nodeType": "YulFunctionDefinition", + "src": "20398:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20610:28:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20627:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20630:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "20620:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "20620:12:19" + }, + "nodeType": "YulExpressionStatement", + "src": "20620:12:19" + } + ] + }, + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nodeType": "YulFunctionDefinition", + "src": "20521:117:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20734:634:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20744:51:19", + "value": { + "arguments": [ + { + "name": "ptr_to_tail", + "nodeType": "YulIdentifier", + "src": "20783:11:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "20770:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "20770:25:19" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulTypedName", + "src": "20748:18:19", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20889:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nodeType": "YulIdentifier", + "src": "20891:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "20891:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "20891:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulIdentifier", + "src": "20818:18:19" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "20846:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "20846:14:19" + }, + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "20862:8:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20842:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20842:29:19" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20877:4:19", + "type": "", + "value": "0x20" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20883:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20873:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20873:12:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20838:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20838:48:19" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "20814:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20814:73:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20807:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "20807:81:19" + }, + "nodeType": "YulIf", + "src": "20804:168:19" + }, + { + "nodeType": "YulAssignment", + "src": "20981:41:19", + "value": { + "arguments": [ + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "20993:8:19" + }, + { + "name": "rel_offset_of_tail", + "nodeType": "YulIdentifier", + "src": "21003:18:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20989:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "20989:33:19" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "20981:4:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21032:28:19", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "21055:4:19" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "21042:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "21042:18:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21032:6:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21103:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nodeType": "YulIdentifier", + "src": "21105:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "21105:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "21105:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21075:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21083:18:19", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "21072:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "21072:30:19" + }, + "nodeType": "YulIf", + "src": "21069:117:19" + }, + { + "nodeType": "YulAssignment", + "src": "21195:21:19", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "21207:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21213:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21203:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21203:13:19" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "21195:4:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21278:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nodeType": "YulIdentifier", + "src": "21280:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "21280:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "21280:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "21232:4:19" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "21242:12:19" + }, + "nodeType": "YulFunctionCall", + "src": "21242:14:19" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21262:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21270:4:19", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "21258:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21258:17:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21238:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21238:38:19" + } + ], + "functionName": { + "name": "sgt", + "nodeType": "YulIdentifier", + "src": "21228:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21228:49:19" + }, + "nodeType": "YulIf", + "src": "21225:136:19" + } + ] + }, + "name": "access_calldata_tail_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nodeType": "YulTypedName", + "src": "20695:8:19", + "type": "" + }, + { + "name": "ptr_to_tail", + "nodeType": "YulTypedName", + "src": "20705:11:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "addr", + "nodeType": "YulTypedName", + "src": "20721:4:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20727:6:19", + "type": "" + } + ], + "src": "20644:724:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21418:261:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21428:25:19", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "21451:1:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "21433:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "21433:20:19" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "21428:1:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21462:25:19", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "21485:1:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "21467:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "21467:20:19" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "21462:1:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21625:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "21627:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "21627:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "21627:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "21546:1:19" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21553:66:19", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "21621:1:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21549:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21549:74:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "21543:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "21543:81:19" + }, + "nodeType": "YulIf", + "src": "21540:107:19" + }, + { + "nodeType": "YulAssignment", + "src": "21657:16:19", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "21668:1:19" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "21671:1:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21664:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21664:9:19" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "21657:3:19" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "21405:1:19", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "21408:1:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "21414:3:19", + "type": "" + } + ], + "src": "21374:305:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21791:124:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21813:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21821:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21809:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21809:14:19" + }, + { + "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21825:34:19", + "type": "", + "value": "ERC721Enumerable: owner index ou" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21802:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "21802:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "21802:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21881:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21889:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21877:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "21877:15:19" + }, + { + "hexValue": "74206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21894:13:19", + "type": "", + "value": "t of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21870:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "21870:38:19" + }, + "nodeType": "YulExpressionStatement", + "src": "21870:38:19" + } + ] + }, + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21783:6:19", + "type": "" + } + ], + "src": "21685:230:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22067:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22077:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22143:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22148:2:19", + "type": "", + "value": "43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22084:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "22084:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22077:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22249:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulIdentifier", + "src": "22160:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "22160:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "22160:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "22262:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22273:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22278:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22269:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "22269:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22262:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22055:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22063:3:19", + "type": "" + } + ], + "src": "21921:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22464:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22474:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22486:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22497:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22482:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "22482:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22474:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22521:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22532:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22517:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "22517:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22540:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22546:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22536:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "22536:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22510:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "22510:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "22510:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "22566:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22700:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22574:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "22574:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22566:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22444:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22459:4:19", + "type": "" + } + ], + "src": "22293:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22824:125:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22846:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22854:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22842:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "22842:14:19" + }, + { + "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22858:34:19", + "type": "", + "value": "ERC721Enumerable: global index o" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22835:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "22835:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "22835:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22914:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22922:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22910:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "22910:15:19" + }, + { + "hexValue": "7574206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22927:14:19", + "type": "", + "value": "ut of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22903:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "22903:39:19" + }, + "nodeType": "YulExpressionStatement", + "src": "22903:39:19" + } + ] + }, + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22816:6:19", + "type": "" + } + ], + "src": "22718:231:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23101:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23111:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23177:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23182:2:19", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23118:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "23118:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23111:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23283:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulIdentifier", + "src": "23194:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "23194:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "23194:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "23296:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23307:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23312:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23303:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "23303:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23296:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23089:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23097:3:19", + "type": "" + } + ], + "src": "22955:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23498:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23508:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23520:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23531:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23516:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "23516:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23508:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23555:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23566:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23551:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "23551:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23574:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23580:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23570:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "23570:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23544:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "23544:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "23544:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "23600:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23734:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23608:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "23608:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23600:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23478:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23493:4:19", + "type": "" + } + ], + "src": "23327:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23858:68:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23880:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23888:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23876:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "23876:14:19" + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23892:26:19", + "type": "", + "value": "ERC721: invalid token ID" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23869:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "23869:50:19" + }, + "nodeType": "YulExpressionStatement", + "src": "23869:50:19" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23850:6:19", + "type": "" + } + ], + "src": "23752:174:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24078:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24088:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24154:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24159:2:19", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24095:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "24095:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24088:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24260:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulIdentifier", + "src": "24171:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "24171:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "24171:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "24273:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24284:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24289:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24280:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "24280:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24273:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24066:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24074:3:19", + "type": "" + } + ], + "src": "23932:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24475:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24485:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24497:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24508:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24493:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "24493:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24485:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24532:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24543:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24528:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "24528:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24551:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24557:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24547:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "24547:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24521:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "24521:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "24521:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "24577:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24711:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24585:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "24585:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24577:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24455:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24470:4:19", + "type": "" + } + ], + "src": "24304:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24835:122:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24857:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24865:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24853:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "24853:14:19" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24869:34:19", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24846:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "24846:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "24846:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24925:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24933:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24921:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "24921:15:19" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24938:11:19", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24914:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "24914:36:19" + }, + "nodeType": "YulExpressionStatement", + "src": "24914:36:19" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24827:6:19", + "type": "" + } + ], + "src": "24729:228:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25109:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25119:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25185:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25190:2:19", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25126:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "25126:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25119:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25291:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulIdentifier", + "src": "25202:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "25202:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "25202:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "25304:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25315:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25320:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25311:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "25311:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25304:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25097:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25105:3:19", + "type": "" + } + ], + "src": "24963:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25506:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25516:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25528:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25539:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25524:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "25524:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25516:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25563:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25574:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25559:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "25559:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25582:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25588:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25578:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "25578:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25552:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "25552:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "25552:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "25608:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25742:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25616:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "25616:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25608:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25486:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25501:4:19", + "type": "" + } + ], + "src": "25335:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25866:73:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25888:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25896:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25884:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "25884:14:19" + }, + { + "hexValue": "696e76616c696420746f6b656e49642e206d7573742062652023393939", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25900:31:19", + "type": "", + "value": "invalid tokenId. must be #999" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25877:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "25877:55:19" + }, + "nodeType": "YulExpressionStatement", + "src": "25877:55:19" + } + ] + }, + "name": "store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25858:6:19", + "type": "" + } + ], + "src": "25760:179:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26091:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26101:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26167:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26172:2:19", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26108:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "26108:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26101:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26273:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "nodeType": "YulIdentifier", + "src": "26184:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "26184:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "26184:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "26286:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26297:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26302:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26293:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "26293:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26286:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26079:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26087:3:19", + "type": "" + } + ], + "src": "25945:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26488:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26498:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26510:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26521:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26506:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "26506:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26498:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26545:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26556:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26541:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "26541:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26564:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26570:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26560:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "26560:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26534:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "26534:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "26534:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "26590:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26724:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26598:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "26598:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26590:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26468:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26483:4:19", + "type": "" + } + ], + "src": "26317:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26848:62:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26870:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26878:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26866:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "26866:14:19" + }, + { + "hexValue": "696e73756666696369656e742066756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26882:20:19", + "type": "", + "value": "insufficient funds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26859:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "26859:44:19" + }, + "nodeType": "YulExpressionStatement", + "src": "26859:44:19" + } + ] + }, + "name": "store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26840:6:19", + "type": "" + } + ], + "src": "26742:168:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27062:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27072:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27138:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27143:2:19", + "type": "", + "value": "18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27079:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "27079:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27072:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27244:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "nodeType": "YulIdentifier", + "src": "27155:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "27155:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "27155:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "27257:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27268:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27273:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27264:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "27264:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27257:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27050:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27058:3:19", + "type": "" + } + ], + "src": "26916:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27459:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27469:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27481:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27492:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27477:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "27477:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27469:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27516:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27527:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27512:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "27512:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27535:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27541:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27531:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "27531:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27505:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "27505:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "27505:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "27561:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27695:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27569:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "27569:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27561:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27439:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27454:4:19", + "type": "" + } + ], + "src": "27288:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27819:119:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27841:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27849:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27837:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "27837:14:19" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27853:34:19", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27830:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "27830:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "27830:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27909:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27917:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27905:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "27905:15:19" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27922:8:19", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27898:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "27898:33:19" + }, + "nodeType": "YulExpressionStatement", + "src": "27898:33:19" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27811:6:19", + "type": "" + } + ], + "src": "27713:225:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28090:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28100:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28166:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28171:2:19", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28107:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "28107:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28100:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28272:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "28183:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "28183:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "28183:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "28285:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28296:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28301:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28292:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "28292:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28285:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28078:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28086:3:19", + "type": "" + } + ], + "src": "27944:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28487:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28497:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28509:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28520:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28505:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "28505:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28497:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28544:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28555:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28540:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "28540:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28563:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28569:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28559:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "28559:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28533:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "28533:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "28533:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "28589:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28723:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28597:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "28597:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28589:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28467:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28482:4:19", + "type": "" + } + ], + "src": "28316:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28847:118:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28869:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28877:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28865:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "28865:14:19" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28881:34:19", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28858:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "28858:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "28858:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28937:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28945:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28933:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "28933:15:19" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28950:7:19", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28926:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "28926:32:19" + }, + "nodeType": "YulExpressionStatement", + "src": "28926:32:19" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28839:6:19", + "type": "" + } + ], + "src": "28741:224:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29117:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29127:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29193:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29198:2:19", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29134:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "29134:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29127:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29299:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulIdentifier", + "src": "29210:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "29210:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "29210:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "29312:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29323:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29328:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29319:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "29319:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29312:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29105:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29113:3:19", + "type": "" + } + ], + "src": "28971:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29514:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29524:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29536:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29547:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29532:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "29532:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29524:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29571:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29582:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29567:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "29567:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29590:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29596:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29586:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "29586:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29560:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "29560:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "29560:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "29616:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29750:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29624:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "29624:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29616:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29494:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29509:4:19", + "type": "" + } + ], + "src": "29343:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29874:117:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29896:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29904:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29892:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "29892:14:19" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29908:34:19", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29885:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "29885:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "29885:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29964:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29972:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29960:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "29960:15:19" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29977:6:19", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29953:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "29953:31:19" + }, + "nodeType": "YulExpressionStatement", + "src": "29953:31:19" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29866:6:19", + "type": "" + } + ], + "src": "29768:223:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30143:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30153:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30219:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30224:2:19", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30160:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "30160:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30153:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30325:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulIdentifier", + "src": "30236:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "30236:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "30236:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "30338:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30349:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30354:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30345:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "30345:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30338:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30131:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30139:3:19", + "type": "" + } + ], + "src": "29997:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30540:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30550:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30562:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30573:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30558:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "30558:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30550:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30597:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30608:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30593:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "30593:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30616:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30622:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30612:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "30612:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30586:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "30586:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "30586:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "30642:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30776:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30650:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "30650:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30642:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30520:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30535:4:19", + "type": "" + } + ], + "src": "30369:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30900:76:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30922:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30930:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30918:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "30918:14:19" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30934:34:19", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30911:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "30911:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "30911:58:19" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30892:6:19", + "type": "" + } + ], + "src": "30794:182:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31128:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31138:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31204:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31209:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31145:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "31145:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31138:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31310:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "31221:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "31221:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "31221:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "31323:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31334:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31339:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31330:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "31330:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31323:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31116:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31124:3:19", + "type": "" + } + ], + "src": "30982:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31525:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31535:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31547:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31558:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31543:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "31543:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31535:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31582:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31593:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31578:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "31578:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31601:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31607:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31597:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "31597:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31571:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "31571:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "31571:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "31627:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31761:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31635:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "31635:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31627:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31505:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31520:4:19", + "type": "" + } + ], + "src": "31354:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31893:34:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31903:18:19", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31918:3:19" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "31903:11:19" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31865:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "31870:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "31881:11:19", + "type": "" + } + ], + "src": "31779:148:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32039:108:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32061:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32069:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32057:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "32057:14:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32073:66:19", + "type": "", + "value": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32050:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "32050:90:19" + }, + "nodeType": "YulExpressionStatement", + "src": "32050:90:19" + } + ] + }, + "name": "store_literal_in_memory_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "32031:6:19", + "type": "" + } + ], + "src": "31933:214:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32317:236:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32327:91:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32411:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32416:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32334:76:19" + }, + "nodeType": "YulFunctionCall", + "src": "32334:84:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32327:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32516:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a", + "nodeType": "YulIdentifier", + "src": "32427:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "32427:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "32427:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "32529:18:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32540:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32545:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32536:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "32536:11:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32529:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32305:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32313:3:19", + "type": "" + } + ], + "src": "32153:400:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32617:40:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32628:22:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32644:5:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32638:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "32638:12:19" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32628:6:19" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32600:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32610:6:19", + "type": "" + } + ], + "src": "32559:98:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32776:34:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32786:18:19", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32801:3:19" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "32786:11:19" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32748:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32753:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "32764:11:19", + "type": "" + } + ], + "src": "32663:147:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32924:265:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32934:52:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32980:5:19" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "32948:31:19" + }, + "nodeType": "YulFunctionCall", + "src": "32948:38:19" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32938:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32995:95:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33078:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "33083:6:19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "33002:75:19" + }, + "nodeType": "YulFunctionCall", + "src": "33002:88:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32995:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33125:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33132:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33121:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "33121:16:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33139:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "33144:6:19" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "33099:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "33099:52:19" + }, + "nodeType": "YulExpressionStatement", + "src": "33099:52:19" + }, + { + "nodeType": "YulAssignment", + "src": "33160:23:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33171:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "33176:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33167:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "33167:16:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33160:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32905:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32912:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32920:3:19", + "type": "" + } + ], + "src": "32816:373:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33430:302:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33441:155:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33592:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "33448:142:19" + }, + "nodeType": "YulFunctionCall", + "src": "33448:148:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33441:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33606:100:19", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "33693:6:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33702:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "33613:79:19" + }, + "nodeType": "YulFunctionCall", + "src": "33613:93:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33606:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33716:10:19", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33723:3:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33716:3:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33409:3:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33415:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33426:3:19", + "type": "" + } + ], + "src": "33195:537:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33844:69:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33866:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33874:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33862:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "33862:14:19" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33878:27:19", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33855:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "33855:51:19" + }, + "nodeType": "YulExpressionStatement", + "src": "33855:51:19" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33836:6:19", + "type": "" + } + ], + "src": "33738:175:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34065:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34075:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34141:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34146:2:19", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34082:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "34082:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34075:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34247:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulIdentifier", + "src": "34158:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "34158:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "34158:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "34260:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34271:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34276:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34267:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "34267:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34260:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34053:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34061:3:19", + "type": "" + } + ], + "src": "33919:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34462:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34472:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34484:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34495:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34480:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "34480:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34472:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34519:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34530:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34515:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "34515:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34538:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34544:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34534:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "34534:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34508:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "34508:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "34508:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "34564:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34698:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34572:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "34572:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34564:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34442:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34457:4:19", + "type": "" + } + ], + "src": "34291:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34822:131:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34844:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34852:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34840:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "34840:14:19" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34856:34:19", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34833:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "34833:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "34833:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34912:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34920:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34908:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "34908:15:19" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34925:20:19", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34901:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "34901:45:19" + }, + "nodeType": "YulExpressionStatement", + "src": "34901:45:19" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34814:6:19", + "type": "" + } + ], + "src": "34716:237:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35105:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35115:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35181:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35186:2:19", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35122:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "35122:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35115:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35287:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulIdentifier", + "src": "35198:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "35198:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "35198:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "35300:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35311:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35316:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35307:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "35307:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35300:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35093:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35101:3:19", + "type": "" + } + ], + "src": "34959:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35502:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35512:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35524:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35535:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35520:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "35520:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35512:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35559:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35570:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35555:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "35555:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35578:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35584:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35574:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "35574:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35548:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "35548:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "35548:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "35604:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35738:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35612:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "35612:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35604:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35482:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35497:4:19", + "type": "" + } + ], + "src": "35331:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35801:146:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35811:25:19", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35834:1:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "35816:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "35816:20:19" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35811:1:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "35845:25:19", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35868:1:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "35850:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "35850:20:19" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35845:1:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35892:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "35894:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "35894:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "35894:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35886:1:19" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35889:1:19" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "35883:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "35883:8:19" + }, + "nodeType": "YulIf", + "src": "35880:34:19" + }, + { + "nodeType": "YulAssignment", + "src": "35924:17:19", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35936:1:19" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35939:1:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35932:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "35932:9:19" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "35924:4:19" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "35787:1:19", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "35790:1:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "35796:4:19", + "type": "" + } + ], + "src": "35756:191:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36004:51:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36014:34:19", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36039:1:19", + "type": "", + "value": "1" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "36042:5:19" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "36035:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "36035:13:19" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "36014:8:19" + } + ] + } + ] + }, + "name": "shift_right_1_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "35985:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "35995:8:19", + "type": "" + } + ], + "src": "35953:102:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36134:775:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36144:15:19", + "value": { + "name": "_power", + "nodeType": "YulIdentifier", + "src": "36153:6:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "36144:5:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "36168:14:19", + "value": { + "name": "_base", + "nodeType": "YulIdentifier", + "src": "36177:5:19" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36168:4:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36226:677:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "36314:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "36316:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "36316:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "36316:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36292:4:19" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "36302:3:19" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36307:4:19" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "36298:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "36298:14:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "36289:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "36289:24:19" + }, + "nodeType": "YulIf", + "src": "36286:50:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36381:419:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36761:25:19", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "36774:5:19" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36781:4:19" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "36770:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "36770:16:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "36761:5:19" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "36356:8:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36366:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "36352:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "36352:16:19" + }, + "nodeType": "YulIf", + "src": "36349:451:19" + }, + { + "nodeType": "YulAssignment", + "src": "36813:23:19", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36825:4:19" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36831:4:19" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "36821:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "36821:15:19" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "36813:4:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "36849:44:19", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "36884:8:19" + } + ], + "functionName": { + "name": "shift_right_1_unsigned", + "nodeType": "YulIdentifier", + "src": "36861:22:19" + }, + "nodeType": "YulFunctionCall", + "src": "36861:32:19" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "36849:8:19" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "36202:8:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36212:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "36199:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "36199:15:19" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "36215:2:19", + "statements": [] + }, + "pre": { + "nodeType": "YulBlock", + "src": "36195:3:19", + "statements": [] + }, + "src": "36191:712:19" + } + ] + }, + "name": "checked_exp_helper", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "_power", + "nodeType": "YulTypedName", + "src": "36089:6:19", + "type": "" + }, + { + "name": "_base", + "nodeType": "YulTypedName", + "src": "36097:5:19", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "36104:8:19", + "type": "" + }, + { + "name": "max", + "nodeType": "YulTypedName", + "src": "36114:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "36122:5:19", + "type": "" + }, + { + "name": "base", + "nodeType": "YulTypedName", + "src": "36129:4:19", + "type": "" + } + ], + "src": "36061:848:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36975:1013:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "37170:20:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37172:10:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37181:1:19", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37172:5:19" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "37183:5:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37160:8:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "37153:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "37153:16:19" + }, + "nodeType": "YulIf", + "src": "37150:40:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37215:20:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37217:10:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37226:1:19", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37217:5:19" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "37228:5:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37209:4:19" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "37202:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "37202:12:19" + }, + "nodeType": "YulIf", + "src": "37199:36:19" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "37345:20:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37347:10:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37356:1:19", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37347:5:19" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "37358:5:19" + } + ] + }, + "nodeType": "YulCase", + "src": "37338:27:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37343:1:19", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37389:176:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "37424:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "37426:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "37426:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "37426:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37409:8:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37419:3:19", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "37406:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37406:17:19" + }, + "nodeType": "YulIf", + "src": "37403:43:19" + }, + { + "nodeType": "YulAssignment", + "src": "37459:25:19", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37472:1:19", + "type": "", + "value": "2" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37475:8:19" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "37468:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "37468:16:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37459:5:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37515:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "37517:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "37517:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "37517:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37503:5:19" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "37510:3:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "37500:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37500:14:19" + }, + "nodeType": "YulIf", + "src": "37497:40:19" + }, + { + "nodeType": "YulLeave", + "src": "37550:5:19" + } + ] + }, + "nodeType": "YulCase", + "src": "37374:191:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37379:1:19", + "type": "", + "value": "2" + } + } + ], + "expression": { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37295:4:19" + }, + "nodeType": "YulSwitch", + "src": "37288:277:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37697:123:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37711:28:19", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37724:4:19" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37730:8:19" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "37720:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "37720:19:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37711:5:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37770:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "37772:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "37772:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "37772:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37758:5:19" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "37765:3:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "37755:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37755:14:19" + }, + "nodeType": "YulIf", + "src": "37752:40:19" + }, + { + "nodeType": "YulLeave", + "src": "37805:5:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37600:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37606:2:19", + "type": "", + "value": "11" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37597:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37597:12:19" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37614:8:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37624:2:19", + "type": "", + "value": "78" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37611:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37611:16:19" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "37593:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "37593:35:19" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37649:4:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37655:3:19", + "type": "", + "value": "307" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37646:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37646:13:19" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37664:8:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37674:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37661:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37661:16:19" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "37642:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "37642:36:19" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "37577:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37577:111:19" + }, + "nodeType": "YulIf", + "src": "37574:246:19" + }, + { + "nodeType": "YulAssignment", + "src": "37830:57:19", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37864:1:19", + "type": "", + "value": "1" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37867:4:19" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "37873:8:19" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "37883:3:19" + } + ], + "functionName": { + "name": "checked_exp_helper", + "nodeType": "YulIdentifier", + "src": "37845:18:19" + }, + "nodeType": "YulFunctionCall", + "src": "37845:42:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37830:5:19" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37837:4:19" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37926:22:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "37928:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "37928:18:19" + }, + "nodeType": "YulExpressionStatement", + "src": "37928:18:19" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37903:5:19" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "37914:3:19" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37919:4:19" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "37910:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "37910:14:19" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "37900:2:19" + }, + "nodeType": "YulFunctionCall", + "src": "37900:25:19" + }, + "nodeType": "YulIf", + "src": "37897:51:19" + }, + { + "nodeType": "YulAssignment", + "src": "37957:25:19", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37970:5:19" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "37977:4:19" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "37966:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "37966:16:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "37957:5:19" + } + ] + } + ] + }, + "name": "checked_exp_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "36945:4:19", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "36951:8:19", + "type": "" + }, + { + "name": "max", + "nodeType": "YulTypedName", + "src": "36961:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "36969:5:19", + "type": "" + } + ], + "src": "36915:1073:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38060:219:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38070:31:19", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "38096:4:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "38078:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "38078:23:19" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "38070:4:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38110:39:19", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "38140:8:19" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "38122:17:19" + }, + "nodeType": "YulFunctionCall", + "src": "38122:27:19" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "38110:8:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38159:113:19", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "38189:4:19" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "38195:8:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38205:66:19", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "checked_exp_unsigned", + "nodeType": "YulIdentifier", + "src": "38168:20:19" + }, + "nodeType": "YulFunctionCall", + "src": "38168:104:19" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "38159:5:19" + } + ] + } + ] + }, + "name": "checked_exp_t_uint256_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "38035:4:19", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "38041:8:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "38054:5:19", + "type": "" + } + ], + "src": "37994:285:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38391:134:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38413:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38421:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38409:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "38409:14:19" + }, + { + "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38425:34:19", + "type": "", + "value": "ERC721Enumerable: consecutive tr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38402:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "38402:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "38402:58:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38481:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38489:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38477:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "38477:15:19" + }, + { + "hexValue": "616e7366657273206e6f7420737570706f72746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38494:23:19", + "type": "", + "value": "ansfers not supported" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38470:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "38470:48:19" + }, + "nodeType": "YulExpressionStatement", + "src": "38470:48:19" + } + ] + }, + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38383:6:19", + "type": "" + } + ], + "src": "38285:240:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38677:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38687:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38753:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38758:2:19", + "type": "", + "value": "53" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38694:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "38694:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38687:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38859:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulIdentifier", + "src": "38770:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "38770:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "38770:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "38872:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38883:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38888:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38879:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "38879:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38872:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38665:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38673:3:19", + "type": "" + } + ], + "src": "38531:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39074:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39084:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39096:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39107:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39092:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "39092:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39084:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39131:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39142:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39127:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "39127:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39150:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39156:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39146:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "39146:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39120:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "39120:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "39120:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "39176:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39310:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39184:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "39184:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39176:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39054:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39069:4:19", + "type": "" + } + ], + "src": "38903:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39434:45:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39456:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39464:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39452:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "39452:14:19" + }, + { + "hexValue": "63", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39468:3:19", + "type": "", + "value": "c" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39445:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "39445:27:19" + }, + "nodeType": "YulExpressionStatement", + "src": "39445:27:19" + } + ] + }, + "name": "store_literal_in_memory_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "39426:6:19", + "type": "" + } + ], + "src": "39328:151:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39649:236:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39659:91:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39743:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39748:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39666:76:19" + }, + "nodeType": "YulFunctionCall", + "src": "39666:84:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39659:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39848:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2", + "nodeType": "YulIdentifier", + "src": "39759:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "39759:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "39759:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "39861:18:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39872:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39877:1:19", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39868:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "39868:11:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39861:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39637:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39645:3:19", + "type": "" + } + ], + "src": "39485:400:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39935:49:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39945:33:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39960:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39967:10:19", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "39956:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "39956:22:19" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "39945:7:19" + } + ] + } + ] + }, + "name": "cleanup_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "39917:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "39927:7:19", + "type": "" + } + ], + "src": "39891:93:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40033:53:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40043:36:19", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40068:3:19", + "type": "", + "value": "224" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40073:5:19" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "40064:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "40064:15:19" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "40043:8:19" + } + ] + } + ] + }, + "name": "shift_left_224", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40014:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "40024:8:19", + "type": "" + } + ], + "src": "39990:96:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40138:48:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40148:32:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40174:5:19" + } + ], + "functionName": { + "name": "shift_left_224", + "nodeType": "YulIdentifier", + "src": "40159:14:19" + }, + "nodeType": "YulFunctionCall", + "src": "40159:21:19" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "40148:7:19" + } + ] + } + ] + }, + "name": "leftAlign_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40120:5:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "40130:7:19", + "type": "" + } + ], + "src": "40092:94:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40273:72:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40290:3:19" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40331:5:19" + } + ], + "functionName": { + "name": "cleanup_t_uint32", + "nodeType": "YulIdentifier", + "src": "40314:16:19" + }, + "nodeType": "YulFunctionCall", + "src": "40314:23:19" + } + ], + "functionName": { + "name": "leftAlign_t_uint32", + "nodeType": "YulIdentifier", + "src": "40295:18:19" + }, + "nodeType": "YulFunctionCall", + "src": "40295:43:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40283:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "40283:56:19" + }, + "nodeType": "YulExpressionStatement", + "src": "40283:56:19" + } + ] + }, + "name": "abi_encode_t_uint32_to_t_uint32_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40261:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40268:3:19", + "type": "" + } + ], + "src": "40192:153:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40457:108:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "40479:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40487:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40475:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "40475:14:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40491:66:19", + "type": "", + "value": "0x80600e6000396000f30000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40468:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "40468:90:19" + }, + "nodeType": "YulExpressionStatement", + "src": "40468:90:19" + } + ] + }, + "name": "store_literal_in_memory_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40449:6:19", + "type": "" + } + ], + "src": "40351:214:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40735:236:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40745:91:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40829:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40834:1:19", + "type": "", + "value": "9" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40752:76:19" + }, + "nodeType": "YulFunctionCall", + "src": "40752:84:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40745:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40934:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e", + "nodeType": "YulIdentifier", + "src": "40845:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "40845:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "40845:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "40947:18:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40958:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40963:1:19", + "type": "", + "value": "9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40954:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "40954:11:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40947:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40723:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40731:3:19", + "type": "" + } + ], + "src": "40571:400:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41339:577:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41350:155:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41501:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41357:142:19" + }, + "nodeType": "YulFunctionCall", + "src": "41357:148:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41350:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "41575:6:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41584:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint32_to_t_uint32_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41515:59:19" + }, + "nodeType": "YulFunctionCall", + "src": "41515:73:19" + }, + "nodeType": "YulExpressionStatement", + "src": "41515:73:19" + }, + { + "nodeType": "YulAssignment", + "src": "41597:18:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41608:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41613:1:19", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41604:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "41604:11:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41597:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41625:155:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41776:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41632:142:19" + }, + "nodeType": "YulFunctionCall", + "src": "41632:148:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41625:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41790:100:19", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "41877:6:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41886:3:19" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41797:79:19" + }, + "nodeType": "YulFunctionCall", + "src": "41797:93:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41790:3:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41900:10:19", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41907:3:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41900:3:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2_t_uint32_t_stringliteral_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e_t_bytes_memory_ptr__to_t_string_memory_ptr_t_uint32_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41310:3:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "41316:6:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "41324:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41335:3:19", + "type": "" + } + ], + "src": "40977:939:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42017:73:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42034:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "42039:6:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42027:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "42027:19:19" + }, + "nodeType": "YulExpressionStatement", + "src": "42027:19:19" + }, + { + "nodeType": "YulAssignment", + "src": "42055:29:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42074:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42079:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42070:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42070:14:19" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "42055:11:19" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41989:3:19", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "41994:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "42005:11:19", + "type": "" + } + ], + "src": "41922:168:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42186:270:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "42196:52:19", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42242:5:19" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "42210:31:19" + }, + "nodeType": "YulFunctionCall", + "src": "42210:38:19" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "42200:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42257:77:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42322:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "42327:6:19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42264:57:19" + }, + "nodeType": "YulFunctionCall", + "src": "42264:70:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42257:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42369:5:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42376:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42365:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42365:16:19" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42383:3:19" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "42388:6:19" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "42343:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "42343:52:19" + }, + "nodeType": "YulExpressionStatement", + "src": "42343:52:19" + }, + { + "nodeType": "YulAssignment", + "src": "42404:46:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42415:3:19" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "42442:6:19" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "42420:21:19" + }, + "nodeType": "YulFunctionCall", + "src": "42420:29:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42411:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42411:39:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "42404:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "42167:5:19", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42174:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42182:3:19", + "type": "" + } + ], + "src": "42096:360:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42662:440:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42672:27:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42684:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42695:3:19", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42680:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42680:19:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42672:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42753:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42766:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42777:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42762:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42762:17:19" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "42709:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "42709:71:19" + }, + "nodeType": "YulExpressionStatement", + "src": "42709:71:19" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "42834:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42847:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42858:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42843:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42843:18:19" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "42790:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "42790:72:19" + }, + "nodeType": "YulExpressionStatement", + "src": "42790:72:19" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "42916:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42929:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42940:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42925:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42925:18:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "42872:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "42872:72:19" + }, + "nodeType": "YulExpressionStatement", + "src": "42872:72:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42965:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42976:2:19", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42961:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42961:18:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42985:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42991:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42981:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "42981:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42954:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "42954:48:19" + }, + "nodeType": "YulExpressionStatement", + "src": "42954:48:19" + }, + { + "nodeType": "YulAssignment", + "src": "43011:84:19", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "43081:6:19" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43090:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43019:61:19" + }, + "nodeType": "YulFunctionCall", + "src": "43019:76:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43011:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42610:9:19", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "42622:6:19", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "42630:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "42638:6:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "42646:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42657:4:19", + "type": "" + } + ], + "src": "42462:640:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43170:79:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43180:22:19", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "43195:6:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "43189:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "43189:13:19" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43180:5:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43237:5:19" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "43211:25:19" + }, + "nodeType": "YulFunctionCall", + "src": "43211:32:19" + }, + "nodeType": "YulExpressionStatement", + "src": "43211:32:19" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "43148:6:19", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "43156:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "43164:5:19", + "type": "" + } + ], + "src": "43108:141:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43331:273:19", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "43377:83:19", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "43379:77:19" + }, + "nodeType": "YulFunctionCall", + "src": "43379:79:19" + }, + "nodeType": "YulExpressionStatement", + "src": "43379:79:19" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "43352:7:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43361:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43348:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "43348:23:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43373:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "43344:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "43344:32:19" + }, + "nodeType": "YulIf", + "src": "43341:119:19" + }, + { + "nodeType": "YulBlock", + "src": "43470:127:19", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43485:15:19", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43499:1:19", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "43489:6:19", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43514:73:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43559:9:19" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "43570:6:19" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43555:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "43555:22:19" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "43579:7:19" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulIdentifier", + "src": "43524:30:19" + }, + "nodeType": "YulFunctionCall", + "src": "43524:63:19" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "43514:6:19" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43301:9:19", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "43312:7:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "43324:6:19", + "type": "" + } + ], + "src": "43255:349:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43764:288:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43774:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43786:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43797:2:19", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43782:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "43782:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43774:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "43854:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43867:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43878:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43863:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "43863:17:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "43810:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "43810:71:19" + }, + "nodeType": "YulExpressionStatement", + "src": "43810:71:19" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "43935:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43948:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43959:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43944:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "43944:18:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "43891:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "43891:72:19" + }, + "nodeType": "YulExpressionStatement", + "src": "43891:72:19" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "44017:6:19" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44030:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44041:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44026:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "44026:18:19" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "43973:43:19" + }, + "nodeType": "YulFunctionCall", + "src": "43973:72:19" + }, + "nodeType": "YulExpressionStatement", + "src": "43973:72:19" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43720:9:19", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "43732:6:19", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "43740:6:19", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "43748:6:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43759:4:19", + "type": "" + } + ], + "src": "43610:442:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44086:152:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44103:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44106:77:19", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44096:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "44096:88:19" + }, + "nodeType": "YulExpressionStatement", + "src": "44096:88:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44200:1:19", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44203:4:19", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44193:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "44193:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "44193:15:19" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44224:1:19", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44227:4:19", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "44217:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "44217:15:19" + }, + "nodeType": "YulExpressionStatement", + "src": "44217:15:19" + } + ] + }, + "name": "panic_error_0x31", + "nodeType": "YulFunctionDefinition", + "src": "44058:180:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44350:76:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "44372:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44380:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44368:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "44368:14:19" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44384:34:19", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44361:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "44361:58:19" + }, + "nodeType": "YulExpressionStatement", + "src": "44361:58:19" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "44342:6:19", + "type": "" + } + ], + "src": "44244:182:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44578:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44588:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44654:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44659:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44595:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "44595:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44588:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44760:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "44671:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "44671:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "44671:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "44773:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44784:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44789:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44780:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "44780:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44773:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44566:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "44574:3:19", + "type": "" + } + ], + "src": "44432:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44975:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44985:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44997:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45008:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44993:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "44993:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44985:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45032:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45043:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45028:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "45028:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45051:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45057:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45047:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "45047:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45021:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "45021:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "45021:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "45077:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45211:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45085:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "45085:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45077:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44955:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44970:4:19", + "type": "" + } + ], + "src": "44804:419:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45335:72:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "45357:6:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45365:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45353:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "45353:14:19" + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45369:30:19", + "type": "", + "value": "ERC721: token already minted" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45346:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "45346:54:19" + }, + "nodeType": "YulExpressionStatement", + "src": "45346:54:19" + } + ] + }, + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "45327:6:19", + "type": "" + } + ], + "src": "45229:178:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45559:220:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45569:74:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45635:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45640:2:19", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45576:58:19" + }, + "nodeType": "YulFunctionCall", + "src": "45576:67:19" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45569:3:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45741:3:19" + } + ], + "functionName": { + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulIdentifier", + "src": "45652:88:19" + }, + "nodeType": "YulFunctionCall", + "src": "45652:93:19" + }, + "nodeType": "YulExpressionStatement", + "src": "45652:93:19" + }, + { + "nodeType": "YulAssignment", + "src": "45754:19:19", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45765:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45770:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45761:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "45761:12:19" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "45754:3:19" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45547:3:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45555:3:19", + "type": "" + } + ], + "src": "45413:366:19" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45956:248:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45966:26:19", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45978:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45989:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45974:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "45974:18:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45966:4:19" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46013:9:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46024:1:19", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46009:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "46009:17:19" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46032:4:19" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46038:9:19" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46028:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "46028:20:19" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46002:6:19" + }, + "nodeType": "YulFunctionCall", + "src": "46002:47:19" + }, + "nodeType": "YulExpressionStatement", + "src": "46002:47:19" + }, + { + "nodeType": "YulAssignment", + "src": "46058:139:19", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46192:4:19" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46066:124:19" + }, + "nodeType": "YulFunctionCall", + "src": "46066:131:19" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46058:4:19" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45936:9:19", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45951:4:19", + "type": "" + } + ], + "src": "45785:419:19" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_array$_t_bool_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bool_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_bool_to_t_bool(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encodeUpdatedPos_t_bool_to_t_bool(value0, pos) -> updatedPos {\n abi_encode_t_bool_to_t_bool(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_bool_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bool[] -> bool[]\n function abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_bool_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bool_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_bool_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_bool_to_t_bool(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_bool_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bool_$dyn_memory_ptr_to_t_array$_t_bool_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes[]\n function abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_uint256t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid tokenId. must be #999\")\n\n }\n\n function abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5(memPtr) {\n\n mstore(add(memPtr, 0), \"insufficient funds\")\n\n }\n\n function abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a(memPtr) {\n\n mstore(add(memPtr, 0), 0x0000000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a(pos)\n end := add(pos, 1)\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: consecutive tr\")\n\n mstore(add(memPtr, 32), \"ansfers not supported\")\n\n }\n\n function abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2(memPtr) {\n\n mstore(add(memPtr, 0), \"c\")\n\n }\n\n function abi_encode_t_stringliteral_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2(pos)\n end := add(pos, 1)\n }\n\n function cleanup_t_uint32(value) -> cleaned {\n cleaned := and(value, 0xffffffff)\n }\n\n function shift_left_224(value) -> newValue {\n newValue :=\n\n shl(224, value)\n\n }\n\n function leftAlign_t_uint32(value) -> aligned {\n aligned := shift_left_224(value)\n }\n\n function abi_encode_t_uint32_to_t_uint32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint32(cleanup_t_uint32(value)))\n }\n\n function store_literal_in_memory_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e(memPtr) {\n\n mstore(add(memPtr, 0), 0x80600e6000396000f30000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 9)\n store_literal_in_memory_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e(pos)\n end := add(pos, 9)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2_t_uint32_t_stringliteral_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e_t_bytes_memory_ptr__to_t_string_memory_ptr_t_uint32_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_uint32_to_t_uint32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 4)\n\n pos := abi_encode_t_stringliteral_e60bf27c198d7ff49e9b26b4f7eb58903fb9b75165f2451681c67000b3f2895e_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 19, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "321:2992:14:-:0;;;443:4;414:33;;482:10;453:39;;546:50;;;;;;;;;;1390:113:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1464:5;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;;;:32;;:::i;:::-;321:2992:14;;655:96:8;708:7;734:10;727:17;;655:96;:::o;2426:187:0:-;2499:16;2518:6;;;;;;;;;;;2499:25;;2543:8;2534:6;;:17;;;;;;;;;;;;;;;;;;2597:8;2566:40;;2587:8;2566:40;;;;;;;;;;;;2489:124;2426:187;:::o;321:2992:14:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:180:19:-;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;193:320;237:6;274:1;268:4;264:12;254:22;;321:1;315:4;311:12;342:18;332:81;;398:4;390:6;386:17;376:27;;332:81;460:2;452:6;449:14;429:18;426:38;423:84;;479:18;;:::i;:::-;423:84;244:269;193:320;;;:::o;321:2992:14:-;;;;;;;", + "deployedSourceMap": "321:2992:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1005:222:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1061:361:14;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1630:111:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1559:323:14;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4612:296:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1888:280:14;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:253:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4974:149:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1813:230:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2190:219:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1824:101:0;;;;;;;;;;;;;:::i;:::-;;1201:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2174:612:14;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;682:281:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2074:198:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1005:222:4;1107:4;1145:35;1130:50;;;:11;:50;;;;:90;;;;1184:36;1208:11;1184:23;:36::i;:::-;1130:90;1123:97;;1005:222;;;:::o;2471:98:1:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;1061:361:14:-;1125:13;1150:28;1192:24;1209:6;1192:16;:24::i;:::-;1181:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:67;;1227:6;1244:139;1260:24;1277:6;1260:16;:24::i;:::-;1256:1;:28;1244:139;;;1325:47;1362:6;1370:1;1325:36;:47::i;:::-;1305:14;1320:1;1305:17;;;;;;;;:::i;:::-;;;;;;;:67;;;;;1286:3;;;;;:::i;:::-;;;;1244:139;;;1400:14;1392:23;;;;1061:361;;;:::o;3935:167:1:-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;1630:111:4:-;1691:7;1717:10;:17;;;;1710:24;;1630:111;:::o;1559:323:14:-;1610:13;1635:28;1677:10;;1666:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1635:53;;1698:6;1715:130;1731:10;;1727:1;:14;1715:130;;;1766:10;1774:1;1766:7;:10::i;:::-;1762:73;;;1816:4;1796:14;1811:1;1796:17;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;1762:73;1743:3;;;;;:::i;:::-;;;;1715:130;;;1861:14;1854:21;;;;1559:323;:::o;4612:296:1:-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;1888:280:14:-;1094:13:0;:11;:13::i;:::-;1981:9:14::1;1976:186;2000:6;;:13;;1996:1;:17;1976:186;;;2034:6;:15;2041:7;2034:15;;;;;;;;;;;:25;;2065:24;2079:6;;2086:1;2079:9;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2065:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:24::i;:::-;2034:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2135:6;;2142:1;2135:9;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:16;;2104:6;:15;2111:7;2104:15;;;;;;;;;;;:27;;;:47;;;;;;;:::i;:::-;;;;;;;;2015:3;;;;;:::i;:::-;;;;1976:186;;;;1888:280:::0;;;:::o;1306:253:4:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:12;:19;1539:5;1526:19;;;;;;;;;;;;;;;:26;1546:5;1526:26;;;;;;;;;;;;1519:33;;1306:253;;;;:::o;4974:149:1:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;1813:230:4:-;1888:7;1923:30;:28;:30::i;:::-;1915:5;:38;1907:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;;2012:24;;1813:230;;;:::o;2190:219:1:-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1201:85::-;1247:7;1273:6;;;;;;;;;;;1266:13;;1201:85;:::o;2633:102:1:-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2174:612:14:-;2239:13;2269:16;2277:7;2269;:16::i;:::-;2264:49;;2294:19;;;;;;;;;;;;;;2264:49;2323:16;2352:6;:15;2359:7;2352:15;;;;;;;;;;;:27;;;2342:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2323:57;;2391:15;2412:21;2429:3;2412:16;:21::i;:::-;2390:43;;;2448:9;2443:309;2467:6;:15;2474:7;2467:15;;;;;;;;;;;:25;;:32;;;;2463:1;:36;2443:309;;;2520:17;2540:42;2553:6;:15;2560:7;2553:15;;;;;;;;;;;:25;;2579:1;2553:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2540:12;:42::i;:::-;2520:62;;2597:16;2615:15;2634:22;2651:4;2634:16;:22::i;:::-;2596:60;;;;2670:39;2682:8;2692:7;2701;2670:11;:39::i;:::-;2734:7;2723:18;;;;;:::i;:::-;;;2506:246;;;2501:3;;;;;:::i;:::-;;;;2443:309;;;;2775:3;2761:18;;;;2174:612;;;:::o;4388:162:1:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;682:281:14:-;766:10;;753;:23;745:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;841:10;;828:9;:23;;820:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;885:33;895:10;907;885:9;:33::i;:::-;945:10;934:22;;;;;;;;;;682:281;:::o;2074:198:0:-;1094:13;:11;:13::i;:::-;2182:1:::1;2162:22;;:8;:22;;::::0;2154:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1570:300:1:-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;13240:133::-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;655:96:8:-;708:7;734:10;727:17;;655:96;:::o;12572:171:1:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7120:126::-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;1359:130:0:-;1433:12;:10;:12::i;:::-;1422:23;;:7;:5;:7::i;:::-;:23;;;1414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1359:130::o;583:474:18:-;636:15;748:17;768:58;819:5;793:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;768:24;:58::i;:::-;748:78;;942:4;936:11;931:2;925:4;921:13;918:1;911:37;900:48;;1027:1;1008:21;;:7;:21;;;1004:46;;1038:12;;;;;;;;;;;;;;1004:46;653:404;583:474;;;:::o;6702:115:1:-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;2426:187:0:-;2499:16;2518:6;;;;;;;;;;;2499:25;;2543:8;2534:6;;:17;;;;;;;;;;;;;;;;;;2597:8;2566:40;;2587:8;2566:40;;;;;;;;;;;;2489:124;2426:187;:::o;12879:277:1:-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;4148:266:16:-;4208:12;4222:11;4251:3;:10;4245:16;;4382:2;4323:3;4302:96;4294:104;;4148:266;;;:::o;1315:140:18:-;1370:12;1401:47;1417:8;1427:1;1430:17;1401:15;:47::i;:::-;1394:54;;1315:140;;;:::o;2850:654:16:-;3008:193;344:2;3015:3;:16;3008:193;;3111:3;3105:10;3099:4;3092:24;344:2;3143:17;;;;;:::i;:::-;;;344:2;3174:16;;;;;:::i;:::-;;;344:2;3033:16;;;;;:::i;:::-;;;3008:193;;;3222:1;3215:3;:8;3211:21;3225:7;3211:21;3274:12;3314:1;3307:3;344:2;3295:15;;;;:::i;:::-;3289:3;:22;;;;:::i;:::-;:26;;;;:::i;:::-;3274:41;;3383:4;3379:9;3373:3;3367:10;3363:26;3435:4;3428;3422:11;3418:22;3479:7;3469:8;3466:21;3460:4;3453:35;3334:164;;;2850:654;;;;:::o;7995:108:1:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::o;829:155:10:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;2112:890:4:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;;;;;;;;;:::i;:::-;;;;;;;;2355:219;2584:15;2602:12;2584:30;;2645:1;2629:18;;:4;:18;;;2625:183;;2663:40;2695:7;2663:31;:40::i;:::-;2625:183;;;2732:2;2724:10;;:4;:10;;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;2720:88;2625:183;2835:1;2821:16;;:2;:16;;;2817:179;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;2919:10;;:2;:10;;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2915:81;2817:179;2273:729;2112:890;;;;:::o;16294:115:1:-;;;;;:::o;378:700:17:-;446:12;1002:5;:12;1062:5;956:117;;;;;;;;;:::i;:::-;;;;;;;;;;;;;949:124;;378:700;;;:::o;13925:831:1:-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;1793:946:17:-;1877:18;1903:13;1919:15;1928:5;1919:8;:15::i;:::-;1903:31;;1953:1;1944:5;:10;1940:32;;1963:9;;;;;;;;;;;;1956:16;;;;;1940:32;1992:5;1983:6;:14;1979:36;;;2006:9;;;;;;;;;;;;1999:16;;;;;1979:36;2032:6;2025:4;:13;2021:65;;;2066:5;2073:6;2081:4;2047:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;2021:65;2112:15;2137:6;2130:4;:13;2112:31;;2151:15;2177:6;2169:5;:14;2151:32;;2192:12;2217:7;2207;:17;:37;;2237:7;2207:37;;;2227:7;2207:37;2192:52;;2413:4;2407:11;2398:20;;2533:4;2529:9;2522:4;2515;2509;2505:15;2501:26;2497:42;2490:5;2486:54;2480:4;2473:68;2598:4;2591:5;2584:19;2716:4;2708:6;2701:4;2694:5;2690:16;2683:5;2671:50;2262:467;;;1897:842;1793:946;;;;;;:::o;8324:279:1:-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:279;;;:::o;15472:116::-;;;;;:::o;3708:161:4:-;3811:10;:17;;;;3784:15;:24;3800:7;3784:24;;;;;;;;;;;:44;;;;3838:10;3854:7;3838:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3708:161;:::o;4486:970::-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4748:51;;4809:18;4830:17;:26;4848:7;4830:26;;;;;;;;;;;;4809:47;;4974:14;4960:10;:28;4956:323;;5004:19;5026:12;:18;5039:4;5026:18;;;;;;;;;;;;;;;:34;5045:14;5026:34;;;;;;;;;;;;5004:56;;5108:11;5075:12;:18;5088:4;5075:18;;;;;;;;;;;;;;;:30;5094:10;5075:30;;;;;;;;;;;:44;;;;5224:10;5191:17;:30;5209:11;5191:30;;;;;;;;;;;:43;;;;4990:289;4956:323;5372:17;:26;5390:7;5372:26;;;;;;;;;;;5365:33;;;5415:12;:18;5428:4;5415:18;;;;;;;;;;;;;;;:34;5434:14;5415:34;;;;;;;;;;;5408:41;;;4567:889;;4486:970;;:::o;5744:1061::-;5993:22;6038:1;6018:10;:17;;;;:21;;;;:::i;:::-;5993:46;;6049:18;6070:15;:24;6086:7;6070:24;;;;;;;;;;;;6049:45;;6416:19;6438:10;6449:14;6438:26;;;;;;;;:::i;:::-;;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6610:10;6579:15;:28;6595:11;6579:28;;;;;;;;;;;:41;;;;6748:15;:24;6764:7;6748:24;;;;;;;;;;;6741:31;;;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;3380:37;;3454:7;3427:12;:16;3440:2;3427:16;;;;;;;;;;;;;;;:24;3444:6;3427:24;;;;;;;;;;;:34;;;;3500:6;3471:17;:26;3489:7;3471:26;;;;;;;;;;;:35;;;;3370:143;3296:217;;:::o;1412:320:7:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;1261:119:17:-;1317:12;1368:5;1356:18;1348:26;;1261:119;;;:::o;8925:920:1:-;9018:1;9004:16;;:2;:16;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;7:75:19:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:126::-;2945:7;2985:42;2978:5;2974:54;2963:65;;2908:126;;;:::o;3040:96::-;3077:7;3106:24;3124:5;3106:24;:::i;:::-;3095:35;;3040:96;;;:::o;3142:122::-;3215:24;3233:5;3215:24;:::i;:::-;3208:5;3205:35;3195:63;;3254:1;3251;3244:12;3195:63;3142:122;:::o;3270:139::-;3316:5;3354:6;3341:20;3332:29;;3370:33;3397:5;3370:33;:::i;:::-;3270:139;;;;:::o;3415:329::-;3474:6;3523:2;3511:9;3502:7;3498:23;3494:32;3491:119;;;3529:79;;:::i;:::-;3491:119;3649:1;3674:53;3719:7;3710:6;3699:9;3695:22;3674:53;:::i;:::-;3664:63;;3620:117;3415:329;;;;:::o;3750:114::-;3817:6;3851:5;3845:12;3835:22;;3750:114;;;:::o;3870:184::-;3969:11;4003:6;3998:3;3991:19;4043:4;4038:3;4034:14;4019:29;;3870:184;;;;:::o;4060:132::-;4127:4;4150:3;4142:11;;4180:4;4175:3;4171:14;4163:22;;4060:132;;;:::o;4198:77::-;4235:7;4264:5;4253:16;;4198:77;;;:::o;4281:108::-;4358:24;4376:5;4358:24;:::i;:::-;4353:3;4346:37;4281:108;;:::o;4395:179::-;4464:10;4485:46;4527:3;4519:6;4485:46;:::i;:::-;4563:4;4558:3;4554:14;4540:28;;4395:179;;;;:::o;4580:113::-;4650:4;4682;4677:3;4673:14;4665:22;;4580:113;;;:::o;4729:732::-;4848:3;4877:54;4925:5;4877:54;:::i;:::-;4947:86;5026:6;5021:3;4947:86;:::i;:::-;4940:93;;5057:56;5107:5;5057:56;:::i;:::-;5136:7;5167:1;5152:284;5177:6;5174:1;5171:13;5152:284;;;5253:6;5247:13;5280:63;5339:3;5324:13;5280:63;:::i;:::-;5273:70;;5366:60;5419:6;5366:60;:::i;:::-;5356:70;;5212:224;5199:1;5196;5192:9;5187:14;;5152:284;;;5156:14;5452:3;5445:10;;4853:608;;;4729:732;;;;:::o;5467:373::-;5610:4;5648:2;5637:9;5633:18;5625:26;;5697:9;5691:4;5687:20;5683:1;5672:9;5668:17;5661:47;5725:108;5828:4;5819:6;5725:108;:::i;:::-;5717:116;;5467:373;;;;:::o;5846:122::-;5919:24;5937:5;5919:24;:::i;:::-;5912:5;5909:35;5899:63;;5958:1;5955;5948:12;5899:63;5846:122;:::o;5974:139::-;6020:5;6058:6;6045:20;6036:29;;6074:33;6101:5;6074:33;:::i;:::-;5974:139;;;;:::o;6119:329::-;6178:6;6227:2;6215:9;6206:7;6202:23;6198:32;6195:119;;;6233:79;;:::i;:::-;6195:119;6353:1;6378:53;6423:7;6414:6;6403:9;6399:22;6378:53;:::i;:::-;6368:63;;6324:117;6119:329;;;;:::o;6454:118::-;6541:24;6559:5;6541:24;:::i;:::-;6536:3;6529:37;6454:118;;:::o;6578:222::-;6671:4;6709:2;6698:9;6694:18;6686:26;;6722:71;6790:1;6779:9;6775:17;6766:6;6722:71;:::i;:::-;6578:222;;;;:::o;6806:474::-;6874:6;6882;6931:2;6919:9;6910:7;6906:23;6902:32;6899:119;;;6937:79;;:::i;:::-;6899:119;7057:1;7082:53;7127:7;7118:6;7107:9;7103:22;7082:53;:::i;:::-;7072:63;;7028:117;7184:2;7210:53;7255:7;7246:6;7235:9;7231:22;7210:53;:::i;:::-;7200:63;;7155:118;6806:474;;;;;:::o;7286:118::-;7373:24;7391:5;7373:24;:::i;:::-;7368:3;7361:37;7286:118;;:::o;7410:222::-;7503:4;7541:2;7530:9;7526:18;7518:26;;7554:71;7622:1;7611:9;7607:17;7598:6;7554:71;:::i;:::-;7410:222;;;;:::o;7638:111::-;7702:6;7736:5;7730:12;7720:22;;7638:111;;;:::o;7755:181::-;7851:11;7885:6;7880:3;7873:19;7925:4;7920:3;7916:14;7901:29;;7755:181;;;;:::o;7942:129::-;8006:4;8029:3;8021:11;;8059:4;8054:3;8050:14;8042:22;;7942:129;;;:::o;8077:99::-;8148:21;8163:5;8148:21;:::i;:::-;8143:3;8136:34;8077:99;;:::o;8182:167::-;8245:10;8266:40;8302:3;8294:6;8266:40;:::i;:::-;8338:4;8333:3;8329:14;8315:28;;8182:167;;;;:::o;8355:110::-;8422:4;8454;8449:3;8445:14;8437:22;;8355:110;;;:::o;8495:708::-;8608:3;8637:51;8682:5;8637:51;:::i;:::-;8704:83;8780:6;8775:3;8704:83;:::i;:::-;8697:90;;8811:53;8858:5;8811:53;:::i;:::-;8887:7;8918:1;8903:275;8928:6;8925:1;8922:13;8903:275;;;9004:6;8998:13;9031:57;9084:3;9069:13;9031:57;:::i;:::-;9024:64;;9111:57;9161:6;9111:57;:::i;:::-;9101:67;;8963:215;8950:1;8947;8943:9;8938:14;;8903:275;;;8907:14;9194:3;9187:10;;8613:590;;;8495:708;;;;:::o;9209:361::-;9346:4;9384:2;9373:9;9369:18;9361:26;;9433:9;9427:4;9423:20;9419:1;9408:9;9404:17;9397:47;9461:102;9558:4;9549:6;9461:102;:::i;:::-;9453:110;;9209:361;;;;:::o;9576:619::-;9653:6;9661;9669;9718:2;9706:9;9697:7;9693:23;9689:32;9686:119;;;9724:79;;:::i;:::-;9686:119;9844:1;9869:53;9914:7;9905:6;9894:9;9890:22;9869:53;:::i;:::-;9859:63;;9815:117;9971:2;9997:53;10042:7;10033:6;10022:9;10018:22;9997:53;:::i;:::-;9987:63;;9942:118;10099:2;10125:53;10170:7;10161:6;10150:9;10146:22;10125:53;:::i;:::-;10115:63;;10070:118;9576:619;;;;;:::o;10201:117::-;10310:1;10307;10300:12;10324:117;10433:1;10430;10423:12;10447:117;10556:1;10553;10546:12;10585:579;10669:8;10679:6;10729:3;10722:4;10714:6;10710:17;10706:27;10696:122;;10737:79;;:::i;:::-;10696:122;10850:6;10837:20;10827:30;;10880:18;10872:6;10869:30;10866:117;;;10902:79;;:::i;:::-;10866:117;11016:4;11008:6;11004:17;10992:29;;11070:3;11062:4;11054:6;11050:17;11040:8;11036:32;11033:41;11030:128;;;11077:79;;:::i;:::-;11030:128;10585:579;;;;;:::o;11170:726::-;11276:6;11284;11292;11341:2;11329:9;11320:7;11316:23;11312:32;11309:119;;;11347:79;;:::i;:::-;11309:119;11467:1;11492:53;11537:7;11528:6;11517:9;11513:22;11492:53;:::i;:::-;11482:63;;11438:117;11622:2;11611:9;11607:18;11594:32;11653:18;11645:6;11642:30;11639:117;;;11675:79;;:::i;:::-;11639:117;11788:91;11871:7;11862:6;11851:9;11847:22;11788:91;:::i;:::-;11770:109;;;;11565:324;11170:726;;;;;:::o;11902:116::-;11972:21;11987:5;11972:21;:::i;:::-;11965:5;11962:32;11952:60;;12008:1;12005;11998:12;11952:60;11902:116;:::o;12024:133::-;12067:5;12105:6;12092:20;12083:29;;12121:30;12145:5;12121:30;:::i;:::-;12024:133;;;;:::o;12163:468::-;12228:6;12236;12285:2;12273:9;12264:7;12260:23;12256:32;12253:119;;;12291:79;;:::i;:::-;12253:119;12411:1;12436:53;12481:7;12472:6;12461:9;12457:22;12436:53;:::i;:::-;12426:63;;12382:117;12538:2;12564:50;12606:7;12597:6;12586:9;12582:22;12564:50;:::i;:::-;12554:60;;12509:115;12163:468;;;;;:::o;12637:117::-;12746:1;12743;12736:12;12760:180;12808:77;12805:1;12798:88;12905:4;12902:1;12895:15;12929:4;12926:1;12919:15;12946:281;13029:27;13051:4;13029:27;:::i;:::-;13021:6;13017:40;13159:6;13147:10;13144:22;13123:18;13111:10;13108:34;13105:62;13102:88;;;13170:18;;:::i;:::-;13102:88;13210:10;13206:2;13199:22;12989:238;12946:281;;:::o;13233:129::-;13267:6;13294:20;;:::i;:::-;13284:30;;13323:33;13351:4;13343:6;13323:33;:::i;:::-;13233:129;;;:::o;13368:307::-;13429:4;13519:18;13511:6;13508:30;13505:56;;;13541:18;;:::i;:::-;13505:56;13579:29;13601:6;13579:29;:::i;:::-;13571:37;;13663:4;13657;13653:15;13645:23;;13368:307;;;:::o;13681:154::-;13765:6;13760:3;13755;13742:30;13827:1;13818:6;13813:3;13809:16;13802:27;13681:154;;;:::o;13841:410::-;13918:5;13943:65;13959:48;14000:6;13959:48;:::i;:::-;13943:65;:::i;:::-;13934:74;;14031:6;14024:5;14017:21;14069:4;14062:5;14058:16;14107:3;14098:6;14093:3;14089:16;14086:25;14083:112;;;14114:79;;:::i;:::-;14083:112;14204:41;14238:6;14233:3;14228;14204:41;:::i;:::-;13924:327;13841:410;;;;;:::o;14270:338::-;14325:5;14374:3;14367:4;14359:6;14355:17;14351:27;14341:122;;14382:79;;:::i;:::-;14341:122;14499:6;14486:20;14524:78;14598:3;14590:6;14583:4;14575:6;14571:17;14524:78;:::i;:::-;14515:87;;14331:277;14270:338;;;;:::o;14614:943::-;14709:6;14717;14725;14733;14782:3;14770:9;14761:7;14757:23;14753:33;14750:120;;;14789:79;;:::i;:::-;14750:120;14909:1;14934:53;14979:7;14970:6;14959:9;14955:22;14934:53;:::i;:::-;14924:63;;14880:117;15036:2;15062:53;15107:7;15098:6;15087:9;15083:22;15062:53;:::i;:::-;15052:63;;15007:118;15164:2;15190:53;15235:7;15226:6;15215:9;15211:22;15190:53;:::i;:::-;15180:63;;15135:118;15320:2;15309:9;15305:18;15292:32;15351:18;15343:6;15340:30;15337:117;;;15373:79;;:::i;:::-;15337:117;15478:62;15532:7;15523:6;15512:9;15508:22;15478:62;:::i;:::-;15468:72;;15263:287;14614:943;;;;;;;:::o;15563:474::-;15631:6;15639;15688:2;15676:9;15667:7;15663:23;15659:32;15656:119;;;15694:79;;:::i;:::-;15656:119;15814:1;15839:53;15884:7;15875:6;15864:9;15860:22;15839:53;:::i;:::-;15829:63;;15785:117;15941:2;15967:53;16012:7;16003:6;15992:9;15988:22;15967:53;:::i;:::-;15957:63;;15912:118;15563:474;;;;;:::o;16043:180::-;16091:77;16088:1;16081:88;16188:4;16185:1;16178:15;16212:4;16209:1;16202:15;16229:320;16273:6;16310:1;16304:4;16300:12;16290:22;;16357:1;16351:4;16347:12;16378:18;16368:81;;16434:4;16426:6;16422:17;16412:27;;16368:81;16496:2;16488:6;16485:14;16465:18;16462:38;16459:84;;16515:18;;:::i;:::-;16459:84;16280:269;16229:320;;;:::o;16555:180::-;16603:77;16600:1;16593:88;16700:4;16697:1;16690:15;16724:4;16721:1;16714:15;16741:180;16789:77;16786:1;16779:88;16886:4;16883:1;16876:15;16910:4;16907:1;16900:15;16927:233;16966:3;16989:24;17007:5;16989:24;:::i;:::-;16980:33;;17035:66;17028:5;17025:77;17022:103;;17105:18;;:::i;:::-;17022:103;17152:1;17145:5;17141:13;17134:20;;16927:233;;;:::o;17166:220::-;17306:34;17302:1;17294:6;17290:14;17283:58;17375:3;17370:2;17362:6;17358:15;17351:28;17166:220;:::o;17392:366::-;17534:3;17555:67;17619:2;17614:3;17555:67;:::i;:::-;17548:74;;17631:93;17720:3;17631:93;:::i;:::-;17749:2;17744:3;17740:12;17733:19;;17392:366;;;:::o;17764:419::-;17930:4;17968:2;17957:9;17953:18;17945:26;;18017:9;18011:4;18007:20;18003:1;17992:9;17988:17;17981:47;18045:131;18171:4;18045:131;:::i;:::-;18037:139;;17764:419;;;:::o;18189:248::-;18329:34;18325:1;18317:6;18313:14;18306:58;18398:31;18393:2;18385:6;18381:15;18374:56;18189:248;:::o;18443:366::-;18585:3;18606:67;18670:2;18665:3;18606:67;:::i;:::-;18599:74;;18682:93;18771:3;18682:93;:::i;:::-;18800:2;18795:3;18791:12;18784:19;;18443:366;;;:::o;18815:419::-;18981:4;19019:2;19008:9;19004:18;18996:26;;19068:9;19062:4;19058:20;19054:1;19043:9;19039:17;19032:47;19096:131;19222:4;19096:131;:::i;:::-;19088:139;;18815:419;;;:::o;19240:232::-;19380:34;19376:1;19368:6;19364:14;19357:58;19449:15;19444:2;19436:6;19432:15;19425:40;19240:232;:::o;19478:366::-;19620:3;19641:67;19705:2;19700:3;19641:67;:::i;:::-;19634:74;;19717:93;19806:3;19717:93;:::i;:::-;19835:2;19830:3;19826:12;19819:19;;19478:366;;;:::o;19850:419::-;20016:4;20054:2;20043:9;20039:18;20031:26;;20103:9;20097:4;20093:20;20089:1;20078:9;20074:17;20067:47;20131:131;20257:4;20131:131;:::i;:::-;20123:139;;19850:419;;;:::o;20275:117::-;20384:1;20381;20374:12;20398:117;20507:1;20504;20497:12;20521:117;20630:1;20627;20620:12;20644:724;20721:4;20727:6;20783:11;20770:25;20883:1;20877:4;20873:12;20862:8;20846:14;20842:29;20838:48;20818:18;20814:73;20804:168;;20891:79;;:::i;:::-;20804:168;21003:18;20993:8;20989:33;20981:41;;21055:4;21042:18;21032:28;;21083:18;21075:6;21072:30;21069:117;;;21105:79;;:::i;:::-;21069:117;21213:2;21207:4;21203:13;21195:21;;21270:4;21262:6;21258:17;21242:14;21238:38;21232:4;21228:49;21225:136;;;21280:79;;:::i;:::-;21225:136;20734:634;20644:724;;;;;:::o;21374:305::-;21414:3;21433:20;21451:1;21433:20;:::i;:::-;21428:25;;21467:20;21485:1;21467:20;:::i;:::-;21462:25;;21621:1;21553:66;21549:74;21546:1;21543:81;21540:107;;;21627:18;;:::i;:::-;21540:107;21671:1;21668;21664:9;21657:16;;21374:305;;;;:::o;21685:230::-;21825:34;21821:1;21813:6;21809:14;21802:58;21894:13;21889:2;21881:6;21877:15;21870:38;21685:230;:::o;21921:366::-;22063:3;22084:67;22148:2;22143:3;22084:67;:::i;:::-;22077:74;;22160:93;22249:3;22160:93;:::i;:::-;22278:2;22273:3;22269:12;22262:19;;21921:366;;;:::o;22293:419::-;22459:4;22497:2;22486:9;22482:18;22474:26;;22546:9;22540:4;22536:20;22532:1;22521:9;22517:17;22510:47;22574:131;22700:4;22574:131;:::i;:::-;22566:139;;22293:419;;;:::o;22718:231::-;22858:34;22854:1;22846:6;22842:14;22835:58;22927:14;22922:2;22914:6;22910:15;22903:39;22718:231;:::o;22955:366::-;23097:3;23118:67;23182:2;23177:3;23118:67;:::i;:::-;23111:74;;23194:93;23283:3;23194:93;:::i;:::-;23312:2;23307:3;23303:12;23296:19;;22955:366;;;:::o;23327:419::-;23493:4;23531:2;23520:9;23516:18;23508:26;;23580:9;23574:4;23570:20;23566:1;23555:9;23551:17;23544:47;23608:131;23734:4;23608:131;:::i;:::-;23600:139;;23327:419;;;:::o;23752:174::-;23892:26;23888:1;23880:6;23876:14;23869:50;23752:174;:::o;23932:366::-;24074:3;24095:67;24159:2;24154:3;24095:67;:::i;:::-;24088:74;;24171:93;24260:3;24171:93;:::i;:::-;24289:2;24284:3;24280:12;24273:19;;23932:366;;;:::o;24304:419::-;24470:4;24508:2;24497:9;24493:18;24485:26;;24557:9;24551:4;24547:20;24543:1;24532:9;24528:17;24521:47;24585:131;24711:4;24585:131;:::i;:::-;24577:139;;24304:419;;;:::o;24729:228::-;24869:34;24865:1;24857:6;24853:14;24846:58;24938:11;24933:2;24925:6;24921:15;24914:36;24729:228;:::o;24963:366::-;25105:3;25126:67;25190:2;25185:3;25126:67;:::i;:::-;25119:74;;25202:93;25291:3;25202:93;:::i;:::-;25320:2;25315:3;25311:12;25304:19;;24963:366;;;:::o;25335:419::-;25501:4;25539:2;25528:9;25524:18;25516:26;;25588:9;25582:4;25578:20;25574:1;25563:9;25559:17;25552:47;25616:131;25742:4;25616:131;:::i;:::-;25608:139;;25335:419;;;:::o;25760:179::-;25900:31;25896:1;25888:6;25884:14;25877:55;25760:179;:::o;25945:366::-;26087:3;26108:67;26172:2;26167:3;26108:67;:::i;:::-;26101:74;;26184:93;26273:3;26184:93;:::i;:::-;26302:2;26297:3;26293:12;26286:19;;25945:366;;;:::o;26317:419::-;26483:4;26521:2;26510:9;26506:18;26498:26;;26570:9;26564:4;26560:20;26556:1;26545:9;26541:17;26534:47;26598:131;26724:4;26598:131;:::i;:::-;26590:139;;26317:419;;;:::o;26742:168::-;26882:20;26878:1;26870:6;26866:14;26859:44;26742:168;:::o;26916:366::-;27058:3;27079:67;27143:2;27138:3;27079:67;:::i;:::-;27072:74;;27155:93;27244:3;27155:93;:::i;:::-;27273:2;27268:3;27264:12;27257:19;;26916:366;;;:::o;27288:419::-;27454:4;27492:2;27481:9;27477:18;27469:26;;27541:9;27535:4;27531:20;27527:1;27516:9;27512:17;27505:47;27569:131;27695:4;27569:131;:::i;:::-;27561:139;;27288:419;;;:::o;27713:225::-;27853:34;27849:1;27841:6;27837:14;27830:58;27922:8;27917:2;27909:6;27905:15;27898:33;27713:225;:::o;27944:366::-;28086:3;28107:67;28171:2;28166:3;28107:67;:::i;:::-;28100:74;;28183:93;28272:3;28183:93;:::i;:::-;28301:2;28296:3;28292:12;28285:19;;27944:366;;;:::o;28316:419::-;28482:4;28520:2;28509:9;28505:18;28497:26;;28569:9;28563:4;28559:20;28555:1;28544:9;28540:17;28533:47;28597:131;28723:4;28597:131;:::i;:::-;28589:139;;28316:419;;;:::o;28741:224::-;28881:34;28877:1;28869:6;28865:14;28858:58;28950:7;28945:2;28937:6;28933:15;28926:32;28741:224;:::o;28971:366::-;29113:3;29134:67;29198:2;29193:3;29134:67;:::i;:::-;29127:74;;29210:93;29299:3;29210:93;:::i;:::-;29328:2;29323:3;29319:12;29312:19;;28971:366;;;:::o;29343:419::-;29509:4;29547:2;29536:9;29532:18;29524:26;;29596:9;29590:4;29586:20;29582:1;29571:9;29567:17;29560:47;29624:131;29750:4;29624:131;:::i;:::-;29616:139;;29343:419;;;:::o;29768:223::-;29908:34;29904:1;29896:6;29892:14;29885:58;29977:6;29972:2;29964:6;29960:15;29953:31;29768:223;:::o;29997:366::-;30139:3;30160:67;30224:2;30219:3;30160:67;:::i;:::-;30153:74;;30236:93;30325:3;30236:93;:::i;:::-;30354:2;30349:3;30345:12;30338:19;;29997:366;;;:::o;30369:419::-;30535:4;30573:2;30562:9;30558:18;30550:26;;30622:9;30616:4;30612:20;30608:1;30597:9;30593:17;30586:47;30650:131;30776:4;30650:131;:::i;:::-;30642:139;;30369:419;;;:::o;30794:182::-;30934:34;30930:1;30922:6;30918:14;30911:58;30794:182;:::o;30982:366::-;31124:3;31145:67;31209:2;31204:3;31145:67;:::i;:::-;31138:74;;31221:93;31310:3;31221:93;:::i;:::-;31339:2;31334:3;31330:12;31323:19;;30982:366;;;:::o;31354:419::-;31520:4;31558:2;31547:9;31543:18;31535:26;;31607:9;31601:4;31597:20;31593:1;31582:9;31578:17;31571:47;31635:131;31761:4;31635:131;:::i;:::-;31627:139;;31354:419;;;:::o;31779:148::-;31881:11;31918:3;31903:18;;31779:148;;;;:::o;31933:214::-;32073:66;32069:1;32061:6;32057:14;32050:90;31933:214;:::o;32153:400::-;32313:3;32334:84;32416:1;32411:3;32334:84;:::i;:::-;32327:91;;32427:93;32516:3;32427:93;:::i;:::-;32545:1;32540:3;32536:11;32529:18;;32153:400;;;:::o;32559:98::-;32610:6;32644:5;32638:12;32628:22;;32559:98;;;:::o;32663:147::-;32764:11;32801:3;32786:18;;32663:147;;;;:::o;32816:373::-;32920:3;32948:38;32980:5;32948:38;:::i;:::-;33002:88;33083:6;33078:3;33002:88;:::i;:::-;32995:95;;33099:52;33144:6;33139:3;33132:4;33125:5;33121:16;33099:52;:::i;:::-;33176:6;33171:3;33167:16;33160:23;;32924:265;32816:373;;;;:::o;33195:537::-;33426:3;33448:148;33592:3;33448:148;:::i;:::-;33441:155;;33613:93;33702:3;33693:6;33613:93;:::i;:::-;33606:100;;33723:3;33716:10;;33195:537;;;;:::o;33738:175::-;33878:27;33874:1;33866:6;33862:14;33855:51;33738:175;:::o;33919:366::-;34061:3;34082:67;34146:2;34141:3;34082:67;:::i;:::-;34075:74;;34158:93;34247:3;34158:93;:::i;:::-;34276:2;34271:3;34267:12;34260:19;;33919:366;;;:::o;34291:419::-;34457:4;34495:2;34484:9;34480:18;34472:26;;34544:9;34538:4;34534:20;34530:1;34519:9;34515:17;34508:47;34572:131;34698:4;34572:131;:::i;:::-;34564:139;;34291:419;;;:::o;34716:237::-;34856:34;34852:1;34844:6;34840:14;34833:58;34925:20;34920:2;34912:6;34908:15;34901:45;34716:237;:::o;34959:366::-;35101:3;35122:67;35186:2;35181:3;35122:67;:::i;:::-;35115:74;;35198:93;35287:3;35198:93;:::i;:::-;35316:2;35311:3;35307:12;35300:19;;34959:366;;;:::o;35331:419::-;35497:4;35535:2;35524:9;35520:18;35512:26;;35584:9;35578:4;35574:20;35570:1;35559:9;35555:17;35548:47;35612:131;35738:4;35612:131;:::i;:::-;35604:139;;35331:419;;;:::o;35756:191::-;35796:4;35816:20;35834:1;35816:20;:::i;:::-;35811:25;;35850:20;35868:1;35850:20;:::i;:::-;35845:25;;35889:1;35886;35883:8;35880:34;;;35894:18;;:::i;:::-;35880:34;35939:1;35936;35932:9;35924:17;;35756:191;;;;:::o;35953:102::-;35995:8;36042:5;36039:1;36035:13;36014:34;;35953:102;;;:::o;36061:848::-;36122:5;36129:4;36153:6;36144:15;;36177:5;36168:14;;36191:712;36212:1;36202:8;36199:15;36191:712;;;36307:4;36302:3;36298:14;36292:4;36289:24;36286:50;;;36316:18;;:::i;:::-;36286:50;36366:1;36356:8;36352:16;36349:451;;;36781:4;36774:5;36770:16;36761:25;;36349:451;36831:4;36825;36821:15;36813:23;;36861:32;36884:8;36861:32;:::i;:::-;36849:44;;36191:712;;;36061:848;;;;;;;:::o;36915:1073::-;36969:5;37160:8;37150:40;;37181:1;37172:10;;37183:5;;37150:40;37209:4;37199:36;;37226:1;37217:10;;37228:5;;37199:36;37295:4;37343:1;37338:27;;;;37379:1;37374:191;;;;37288:277;;37338:27;37356:1;37347:10;;37358:5;;;37374:191;37419:3;37409:8;37406:17;37403:43;;;37426:18;;:::i;:::-;37403:43;37475:8;37472:1;37468:16;37459:25;;37510:3;37503:5;37500:14;37497:40;;;37517:18;;:::i;:::-;37497:40;37550:5;;;37288:277;;37674:2;37664:8;37661:16;37655:3;37649:4;37646:13;37642:36;37624:2;37614:8;37611:16;37606:2;37600:4;37597:12;37593:35;37577:111;37574:246;;;37730:8;37724:4;37720:19;37711:28;;37765:3;37758:5;37755:14;37752:40;;;37772:18;;:::i;:::-;37752:40;37805:5;;37574:246;37845:42;37883:3;37873:8;37867:4;37864:1;37845:42;:::i;:::-;37830:57;;;;37919:4;37914:3;37910:14;37903:5;37900:25;37897:51;;;37928:18;;:::i;:::-;37897:51;37977:4;37970:5;37966:16;37957:25;;36915:1073;;;;;;:::o;37994:285::-;38054:5;38078:23;38096:4;38078:23;:::i;:::-;38070:31;;38122:27;38140:8;38122:27;:::i;:::-;38110:39;;38168:104;38205:66;38195:8;38189:4;38168:104;:::i;:::-;38159:113;;37994:285;;;;:::o;38285:240::-;38425:34;38421:1;38413:6;38409:14;38402:58;38494:23;38489:2;38481:6;38477:15;38470:48;38285:240;:::o;38531:366::-;38673:3;38694:67;38758:2;38753:3;38694:67;:::i;:::-;38687:74;;38770:93;38859:3;38770:93;:::i;:::-;38888:2;38883:3;38879:12;38872:19;;38531:366;;;:::o;38903:419::-;39069:4;39107:2;39096:9;39092:18;39084:26;;39156:9;39150:4;39146:20;39142:1;39131:9;39127:17;39120:47;39184:131;39310:4;39184:131;:::i;:::-;39176:139;;38903:419;;;:::o;39328:151::-;39468:3;39464:1;39456:6;39452:14;39445:27;39328:151;:::o;39485:400::-;39645:3;39666:84;39748:1;39743:3;39666:84;:::i;:::-;39659:91;;39759:93;39848:3;39759:93;:::i;:::-;39877:1;39872:3;39868:11;39861:18;;39485:400;;;:::o;39891:93::-;39927:7;39967:10;39960:5;39956:22;39945:33;;39891:93;;;:::o;39990:96::-;40024:8;40073:5;40068:3;40064:15;40043:36;;39990:96;;;:::o;40092:94::-;40130:7;40159:21;40174:5;40159:21;:::i;:::-;40148:32;;40092:94;;;:::o;40192:153::-;40295:43;40314:23;40331:5;40314:23;:::i;:::-;40295:43;:::i;:::-;40290:3;40283:56;40192:153;;:::o;40351:214::-;40491:66;40487:1;40479:6;40475:14;40468:90;40351:214;:::o;40571:400::-;40731:3;40752:84;40834:1;40829:3;40752:84;:::i;:::-;40745:91;;40845:93;40934:3;40845:93;:::i;:::-;40963:1;40958:3;40954:11;40947:18;;40571:400;;;:::o;40977:939::-;41335:3;41357:148;41501:3;41357:148;:::i;:::-;41350:155;;41515:73;41584:3;41575:6;41515:73;:::i;:::-;41613:1;41608:3;41604:11;41597:18;;41632:148;41776:3;41632:148;:::i;:::-;41625:155;;41797:93;41886:3;41877:6;41797:93;:::i;:::-;41790:100;;41907:3;41900:10;;40977:939;;;;;:::o;41922:168::-;42005:11;42039:6;42034:3;42027:19;42079:4;42074:3;42070:14;42055:29;;41922:168;;;;:::o;42096:360::-;42182:3;42210:38;42242:5;42210:38;:::i;:::-;42264:70;42327:6;42322:3;42264:70;:::i;:::-;42257:77;;42343:52;42388:6;42383:3;42376:4;42369:5;42365:16;42343:52;:::i;:::-;42420:29;42442:6;42420:29;:::i;:::-;42415:3;42411:39;42404:46;;42186:270;42096:360;;;;:::o;42462:640::-;42657:4;42695:3;42684:9;42680:19;42672:27;;42709:71;42777:1;42766:9;42762:17;42753:6;42709:71;:::i;:::-;42790:72;42858:2;42847:9;42843:18;42834:6;42790:72;:::i;:::-;42872;42940:2;42929:9;42925:18;42916:6;42872:72;:::i;:::-;42991:9;42985:4;42981:20;42976:2;42965:9;42961:18;42954:48;43019:76;43090:4;43081:6;43019:76;:::i;:::-;43011:84;;42462:640;;;;;;;:::o;43108:141::-;43164:5;43195:6;43189:13;43180:22;;43211:32;43237:5;43211:32;:::i;:::-;43108:141;;;;:::o;43255:349::-;43324:6;43373:2;43361:9;43352:7;43348:23;43344:32;43341:119;;;43379:79;;:::i;:::-;43341:119;43499:1;43524:63;43579:7;43570:6;43559:9;43555:22;43524:63;:::i;:::-;43514:73;;43470:127;43255:349;;;;:::o;43610:442::-;43759:4;43797:2;43786:9;43782:18;43774:26;;43810:71;43878:1;43867:9;43863:17;43854:6;43810:71;:::i;:::-;43891:72;43959:2;43948:9;43944:18;43935:6;43891:72;:::i;:::-;43973;44041:2;44030:9;44026:18;44017:6;43973:72;:::i;:::-;43610:442;;;;;;:::o;44058:180::-;44106:77;44103:1;44096:88;44203:4;44200:1;44193:15;44227:4;44224:1;44217:15;44244:182;44384:34;44380:1;44372:6;44368:14;44361:58;44244:182;:::o;44432:366::-;44574:3;44595:67;44659:2;44654:3;44595:67;:::i;:::-;44588:74;;44671:93;44760:3;44671:93;:::i;:::-;44789:2;44784:3;44780:12;44773:19;;44432:366;;;:::o;44804:419::-;44970:4;45008:2;44997:9;44993:18;44985:26;;45057:9;45051:4;45047:20;45043:1;45032:9;45028:17;45021:47;45085:131;45211:4;45085:131;:::i;:::-;45077:139;;44804:419;;;:::o;45229:178::-;45369:30;45365:1;45357:6;45353:14;45346:54;45229:178;:::o;45413:366::-;45555:3;45576:67;45640:2;45635:3;45576:67;:::i;:::-;45569:74;;45652:93;45741:3;45652:93;:::i;:::-;45770:2;45765:3;45761:12;45754:19;;45413:366;;;:::o;45785:419::-;45951:4;45989:2;45978:9;45974:18;45966:26;;46038:9;46032:4;46028:20;46024:1;46013:9;46009:17;46002:47;46066:131;46192:4;46066:131;:::i;:::-;46058:139;;45785:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"./lib/sstore2/SSTORE2.sol\";\nimport \"./lib/Memory.sol\";\n\nstruct Token {\n uint256 bytesLength;\n address[] addresses;\n}\n\ncontract FlutterBirdSkins is ERC721Enumerable, Ownable {\n using Strings for uint256;\n\n uint256 private _maxSupply = 1000;\n uint256 private _mintPrice = 0.01 ether;\n\n mapping(uint256 => Token) private tokens;\n\n constructor() ERC721(\"FlutterBirdSkins\", \"FBS\") {}\n\n event SkinMinted(uint256 indexed tokenId);\n\n error TokenDoesNotExist();\n\n function mintSkin(uint256 newTokenId) public payable {\n require(newTokenId < _maxSupply, \"invalid tokenId. must be #999\");\n require(msg.value >= _mintPrice, \"insufficient funds\");\n\n _safeMint(msg.sender, newTokenId);\n\n emit SkinMinted(newTokenId);\n }\n\n /**\n * @notice returns a list of tokenIds that are owned by the given address\n */\n function getTokensForOwner(address _owner) public view returns (uint[] memory) {\n uint[] memory _tokensOfOwner = new uint[](ERC721.balanceOf(_owner));\n uint i;\n\n for (i = 0; i < ERC721.balanceOf(_owner); i++) {\n _tokensOfOwner[i] = ERC721Enumerable.tokenOfOwnerByIndex(_owner, i);\n }\n return (_tokensOfOwner);\n }\n\n /**\n * @notice returns a list of boolean values indicating whether the skin with that index has been minted already.\n */\n function getMintedTokenList() public view returns (bool[] memory) {\n bool[] memory _unmintedTokes = new bool[](_maxSupply);\n uint i;\n\n for (i = 0; i < _maxSupply; i++) {\n if (_exists(i)) {\n _unmintedTokes[i] = true;\n }\n }\n return _unmintedTokes;\n }\n\n function appendUri(uint256 tokenId, bytes[] calldata values) public onlyOwner {\n for (uint256 i = 0; i < values.length; i++) {\n tokens[tokenId].addresses.push(SSTORE2.write(values[i]));\n tokens[tokenId].bytesLength += values[i].length;\n }\n }\n\n function tokenURI(uint256 tokenId) public view override returns (string memory) {\n if (!_exists(tokenId)) revert TokenDoesNotExist();\n bytes memory uri = new bytes(tokens[tokenId].bytesLength);\n (uint256 uriAddr, ) = Memory.fromBytes(uri);\n for (uint256 i = 0; i < tokens[tokenId].addresses.length; i++) {\n bytes memory data = SSTORE2.read(tokens[tokenId].addresses[i]);\n (uint256 dataAddr, uint256 dataLen) = Memory.fromBytes(data);\n Memory.copy(dataAddr, uriAddr, dataLen);\n uriAddr += dataLen;\n }\n return string(uri);\n }\n\n // function setTokenUri(uint256 tokenId, string memory _tokenURI) public {\n // require(\n // _isApprovedOrOwner(_msgSender(), tokenId),\n // \"ERC721: transfer caller is not owner nor approved\"\n // );\n // _setTokenURI(tokenId, _tokenURI);\n // }\n\n // function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n // require(_exists(tokenId), \"ERC721URIStorage: URI set of nonexistent token\");\n // _tokenURIs[tokenId] = _tokenURI;\n // }\n}\n", + "sourcePath": "/app/flutter_bird_skins/contracts/FlutterBirdSkins.sol", + "ast": { + "absolutePath": "project:/contracts/FlutterBirdSkins.sol", + "exportedSymbols": { + "Address": [ + 1915 + ], + "Bytecode": [ + 3893 + ], + "Context": [ + 1945 + ], + "ERC165": [ + 2198 + ], + "ERC721": [ + 1039 + ], + "ERC721Enumerable": [ + 1527 + ], + "FlutterBirdSkins": [ + 3494 + ], + "IERC165": [ + 2210 + ], + "IERC721": [ + 1155 + ], + "IERC721Enumerable": [ + 1558 + ], + "IERC721Metadata": [ + 1585 + ], + "IERC721Receiver": [ + 1173 + ], + "Math": [ + 3076 + ], + "Memory": [ + 3781 + ], + "Ownable": [ + 112 + ], + "SSTORE2": [ + 3999 + ], + "SignedMath": [ + 3181 + ], + "Strings": [ + 2174 + ], + "Token": [ + 3193 + ] + }, + "id": 3495, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3183, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:14" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "id": 3184, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3495, + "sourceUnit": 1528, + "src": "57:78:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 3185, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3495, + "sourceUnit": 113, + "src": "136:52:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/lib/sstore2/SSTORE2.sol", + "file": "./lib/sstore2/SSTORE2.sol", + "id": 3186, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3495, + "sourceUnit": 4000, + "src": "189:35:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/lib/Memory.sol", + "file": "./lib/Memory.sol", + "id": 3187, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3495, + "sourceUnit": 3782, + "src": "225:26:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "canonicalName": "Token", + "id": 3193, + "members": [ + { + "constant": false, + "id": 3189, + "mutability": "mutable", + "name": "bytesLength", + "nameLocation": "280:11:14", + "nodeType": "VariableDeclaration", + "scope": 3193, + "src": "272:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "272:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3192, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "307:9:14", + "nodeType": "VariableDeclaration", + "scope": 3193, + "src": "297:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3190, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "297:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3191, + "nodeType": "ArrayTypeName", + "src": "297:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "name": "Token", + "nameLocation": "260:5:14", + "nodeType": "StructDefinition", + "scope": 3495, + "src": "253:66:14", + "visibility": "public" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3194, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1527, + "src": "350:16:14" + }, + "id": 3195, + "nodeType": "InheritanceSpecifier", + "src": "350:16:14" + }, + { + "baseName": { + "id": 3196, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 112, + "src": "368:7:14" + }, + "id": 3197, + "nodeType": "InheritanceSpecifier", + "src": "368:7:14" + } + ], + "canonicalName": "FlutterBirdSkins", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3494, + "linearizedBaseContracts": [ + 3494, + 112, + 1527, + 1558, + 1039, + 1585, + 1155, + 2198, + 2210, + 1945 + ], + "name": "FlutterBirdSkins", + "nameLocation": "330:16:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 3200, + "libraryName": { + "id": 3198, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2174, + "src": "388:7:14" + }, + "nodeType": "UsingForDirective", + "src": "382:26:14", + "typeName": { + "id": 3199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "400:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 3203, + "mutability": "mutable", + "name": "_maxSupply", + "nameLocation": "430:10:14", + "nodeType": "VariableDeclaration", + "scope": 3494, + "src": "414:33:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31303030", + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "443:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 3206, + "mutability": "mutable", + "name": "_mintPrice", + "nameLocation": "469:10:14", + "nodeType": "VariableDeclaration", + "scope": 3494, + "src": "453:39:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "453:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "302e3031", + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "482:10:14", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "value": "0.01" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 3211, + "mutability": "mutable", + "name": "tokens", + "nameLocation": "533:6:14", + "nodeType": "VariableDeclaration", + "scope": 3494, + "src": "499:40:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token)" + }, + "typeName": { + "id": 3210, + "keyType": { + "id": 3207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "507:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "499:25:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token)" + }, + "valueType": { + "id": 3209, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3208, + "name": "Token", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3193, + "src": "518:5:14" + }, + "referencedDeclaration": 3193, + "src": "518:5:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$3193_storage_ptr", + "typeString": "struct Token" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 3218, + "nodeType": "Block", + "src": "594:2:14", + "statements": [] + }, + "id": 3219, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "466c757474657242697264536b696e73", + "id": 3214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "567:18:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ba2c2f1ba442486612e05e03e9fb6475caf4217513c0743bd3c4612282a469e0", + "typeString": "literal_string \"FlutterBirdSkins\"" + }, + "value": "FlutterBirdSkins" + }, + { + "hexValue": "464253", + "id": 3215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "587:5:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d21348567a3dab91169e2391c5019f6bd62e203ef0492f2f93b5806dcb7243e6", + "typeString": "literal_string \"FBS\"" + }, + "value": "FBS" + } + ], + "id": 3216, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3213, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1039, + "src": "560:6:14" + }, + "nodeType": "ModifierInvocation", + "src": "560:33:14" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3212, + "nodeType": "ParameterList", + "parameters": [], + "src": "557:2:14" + }, + "returnParameters": { + "id": 3217, + "nodeType": "ParameterList", + "parameters": [], + "src": "594:0:14" + }, + "scope": 3494, + "src": "546:50:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "f8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e95", + "id": 3223, + "name": "SkinMinted", + "nameLocation": "608:10:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 3222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3221, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "635:7:14", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "619:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "619:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "618:25:14" + }, + "src": "602:42:14" + }, + { + "errorSelector": "ceea21b6", + "id": 3225, + "name": "TokenDoesNotExist", + "nameLocation": "656:17:14", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3224, + "nodeType": "ParameterList", + "parameters": [], + "src": "673:2:14" + }, + "src": "650:26:14" + }, + { + "body": { + "id": 3255, + "nodeType": "Block", + "src": "735:228:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3231, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3227, + "src": "753:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3232, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3203, + "src": "766:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "753:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "696e76616c696420746f6b656e49642e206d7573742062652023393939", + "id": 3234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "778:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "typeString": "literal_string \"invalid tokenId. must be #999\"" + }, + "value": "invalid tokenId. must be #999" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a694c7d0af81c0139c2d9cf9013fb42115382a7b8abc6fa7e09c0326c0773524", + "typeString": "literal_string \"invalid tokenId. must be #999\"" + } + ], + "id": 3230, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "745:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "745:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3236, + "nodeType": "ExpressionStatement", + "src": "745:65:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3238, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "828:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "828:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 3240, + "name": "_mintPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3206, + "src": "841:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "828:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "696e73756666696369656e742066756e6473", + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "853:20:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "typeString": "literal_string \"insufficient funds\"" + }, + "value": "insufficient funds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c6bc4f5b747fbbc581777f92b42c6eac56dbbb4e624c68b8c1a6001ff2001fc5", + "typeString": "literal_string \"insufficient funds\"" + } + ], + "id": 3237, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "820:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "820:54:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3244, + "nodeType": "ExpressionStatement", + "src": "820:54:14" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 3246, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "895:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "895:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3248, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3227, + "src": "907:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3245, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 607, + 636 + ], + "referencedDeclaration": 607, + "src": "885:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "885:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3250, + "nodeType": "ExpressionStatement", + "src": "885:33:14" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3252, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3227, + "src": "945:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3251, + "name": "SkinMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3223, + "src": "934:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "934:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3254, + "nodeType": "EmitStatement", + "src": "929:27:14" + } + ] + }, + "functionSelector": "f0352651", + "id": 3256, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mintSkin", + "nameLocation": "691:8:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3227, + "mutability": "mutable", + "name": "newTokenId", + "nameLocation": "708:10:14", + "nodeType": "VariableDeclaration", + "scope": 3256, + "src": "700:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3226, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "700:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "699:20:14" + }, + "returnParameters": { + "id": 3229, + "nodeType": "ParameterList", + "parameters": [], + "src": "735:0:14" + }, + "scope": 3494, + "src": "682:281:14", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3310, + "nodeType": "Block", + "src": "1140:282:14", + "statements": [ + { + "assignments": [ + 3269 + ], + "declarations": [ + { + "constant": false, + "id": 3269, + "mutability": "mutable", + "name": "_tokensOfOwner", + "nameLocation": "1164:14:14", + "nodeType": "VariableDeclaration", + "scope": 3310, + "src": "1150:28:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3267, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1150:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3268, + "nodeType": "ArrayTypeName", + "src": "1150:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 3278, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 3275, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3259, + "src": "1209:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3273, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1039, + "src": "1192:6:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$1039_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 3274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 230, + "src": "1192:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 3276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1192:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1181:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 3270, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1185:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3271, + "nodeType": "ArrayTypeName", + "src": "1185:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 3277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1181:36:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1150:67:14" + }, + { + "assignments": [ + 3280 + ], + "declarations": [ + { + "constant": false, + "id": 3280, + "mutability": "mutable", + "name": "i", + "nameLocation": "1232:1:14", + "nodeType": "VariableDeclaration", + "scope": 3310, + "src": "1227:6:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3279, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1227:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3281, + "nodeType": "VariableDeclarationStatement", + "src": "1227:6:14" + }, + { + "body": { + "id": 3305, + "nodeType": "Block", + "src": "1291:92:14", + "statements": [ + { + "expression": { + "id": 3303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3295, + "name": "_tokensOfOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3269, + "src": "1305:14:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3297, + "indexExpression": { + "id": 3296, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1320:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1305:17:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3300, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3259, + "src": "1362:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3301, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1370:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3298, + "name": "ERC721Enumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1527, + "src": "1325:16:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721Enumerable_$1527_$", + "typeString": "type(contract ERC721Enumerable)" + } + }, + "id": 3299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenOfOwnerByIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 1251, + "src": "1325:36:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 3302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1325:47:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1305:67:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3304, + "nodeType": "ExpressionStatement", + "src": "1305:67:14" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3286, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1256:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "id": 3289, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3259, + "src": "1277:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3287, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1039, + "src": "1260:6:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$1039_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 3288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 230, + "src": "1260:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1260:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1256:28:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3306, + "initializationExpression": { + "expression": { + "id": 3284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3282, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1249:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 3283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1253:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1249:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3285, + "nodeType": "ExpressionStatement", + "src": "1249:5:14" + }, + "loopExpression": { + "expression": { + "id": 3293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1286:3:14", + "subExpression": { + "id": 3292, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1286:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3294, + "nodeType": "ExpressionStatement", + "src": "1286:3:14" + }, + "nodeType": "ForStatement", + "src": "1244:139:14" + }, + { + "expression": { + "components": [ + { + "id": 3307, + "name": "_tokensOfOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3269, + "src": "1400:14:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 3308, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1399:16:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 3264, + "id": 3309, + "nodeType": "Return", + "src": "1392:23:14" + } + ] + }, + "documentation": { + "id": 3257, + "nodeType": "StructuredDocumentation", + "src": "969:87:14", + "text": " @notice returns a list of tokenIds that are owned by the given address" + }, + "functionSelector": "0725e898", + "id": 3311, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokensForOwner", + "nameLocation": "1070:17:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3259, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "1096:6:14", + "nodeType": "VariableDeclaration", + "scope": 3311, + "src": "1088:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1088:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1087:16:14" + }, + "returnParameters": { + "id": 3264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3263, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3311, + "src": "1125:13:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3261, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1125:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3262, + "nodeType": "ArrayTypeName", + "src": "1125:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1124:15:14" + }, + "scope": 3494, + "src": "1061:361:14", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3357, + "nodeType": "Block", + "src": "1625:257:14", + "statements": [ + { + "assignments": [ + 3322 + ], + "declarations": [ + { + "constant": false, + "id": 3322, + "mutability": "mutable", + "name": "_unmintedTokes", + "nameLocation": "1649:14:14", + "nodeType": "VariableDeclaration", + "scope": 3357, + "src": "1635:28:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 3320, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1635:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3321, + "nodeType": "ArrayTypeName", + "src": "1635:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "id": 3328, + "initialValue": { + "arguments": [ + { + "id": 3326, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3203, + "src": "1677:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1666:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bool[] memory)" + }, + "typeName": { + "baseType": { + "id": 3323, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1670:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3324, + "nodeType": "ArrayTypeName", + "src": "1670:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + } + }, + "id": 3327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1666:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1635:53:14" + }, + { + "assignments": [ + 3330 + ], + "declarations": [ + { + "constant": false, + "id": 3330, + "mutability": "mutable", + "name": "i", + "nameLocation": "1703:1:14", + "nodeType": "VariableDeclaration", + "scope": 3357, + "src": "1698:6:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3329, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1698:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3331, + "nodeType": "VariableDeclarationStatement", + "src": "1698:6:14" + }, + { + "body": { + "id": 3353, + "nodeType": "Block", + "src": "1748:97:14", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 3343, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "1774:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3342, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "1766:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1766:10:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3352, + "nodeType": "IfStatement", + "src": "1762:73:14", + "trueBody": { + "id": 3351, + "nodeType": "Block", + "src": "1778:57:14", + "statements": [ + { + "expression": { + "id": 3349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3345, + "name": "_unmintedTokes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3322, + "src": "1796:14:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 3347, + "indexExpression": { + "id": 3346, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "1811:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1796:17:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1816:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1796:24:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3350, + "nodeType": "ExpressionStatement", + "src": "1796:24:14" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3336, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "1727:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3337, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3203, + "src": "1731:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1727:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3354, + "initializationExpression": { + "expression": { + "id": 3334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3332, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "1720:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 3333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1724:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1720:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3335, + "nodeType": "ExpressionStatement", + "src": "1720:5:14" + }, + "loopExpression": { + "expression": { + "id": 3340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1743:3:14", + "subExpression": { + "id": 3339, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "1743:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3341, + "nodeType": "ExpressionStatement", + "src": "1743:3:14" + }, + "nodeType": "ForStatement", + "src": "1715:130:14" + }, + { + "expression": { + "id": 3355, + "name": "_unmintedTokes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3322, + "src": "1861:14:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "functionReturnParameters": 3317, + "id": 3356, + "nodeType": "Return", + "src": "1854:21:14" + } + ] + }, + "documentation": { + "id": 3312, + "nodeType": "StructuredDocumentation", + "src": "1428:126:14", + "text": " @notice returns a list of boolean values indicating whether the skin with that index has been minted already." + }, + "functionSelector": "19a0b41b", + "id": 3358, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMintedTokenList", + "nameLocation": "1568:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3313, + "nodeType": "ParameterList", + "parameters": [], + "src": "1586:2:14" + }, + "returnParameters": { + "id": 3317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3316, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3358, + "src": "1610:13:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 3314, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1610:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3315, + "nodeType": "ArrayTypeName", + "src": "1610:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "1609:15:14" + }, + "scope": 3494, + "src": "1559:323:14", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3404, + "nodeType": "Block", + "src": "1966:202:14", + "statements": [ + { + "body": { + "id": 3402, + "nodeType": "Block", + "src": "2020:142:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 3386, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3363, + "src": "2079:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 3388, + "indexExpression": { + "id": 3387, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "2086:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2079:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 3384, + "name": "SSTORE2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "2065:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SSTORE2_$3999_$", + "typeString": "type(library SSTORE2)" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "write", + "nodeType": "MemberAccess", + "referencedDeclaration": 3930, + "src": "2065:13:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes memory) returns (address)" + } + }, + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2065:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "expression": { + "baseExpression": { + "id": 3379, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "2034:6:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token storage ref)" + } + }, + "id": 3381, + "indexExpression": { + "id": 3380, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "2041:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2034:15:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$3193_storage", + "typeString": "struct Token storage ref" + } + }, + "id": 3382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 3192, + "src": "2034:25:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 3383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2034:30:14", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer,address)" + } + }, + "id": 3390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2034:56:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3391, + "nodeType": "ExpressionStatement", + "src": "2034:56:14" + }, + { + "expression": { + "id": 3400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 3392, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "2104:6:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token storage ref)" + } + }, + "id": 3394, + "indexExpression": { + "id": 3393, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "2111:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2104:15:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$3193_storage", + "typeString": "struct Token storage ref" + } + }, + "id": 3395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "bytesLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 3189, + "src": "2104:27:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 3396, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3363, + "src": "2135:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 3398, + "indexExpression": { + "id": 3397, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "2142:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2135:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 3399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2135:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2104:47:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3401, + "nodeType": "ExpressionStatement", + "src": "2104:47:14" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3372, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "1996:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3373, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3363, + "src": "2000:6:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 3374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2000:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1996:17:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3403, + "initializationExpression": { + "assignments": [ + 3369 + ], + "declarations": [ + { + "constant": false, + "id": 3369, + "mutability": "mutable", + "name": "i", + "nameLocation": "1989:1:14", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "1981:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1981:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3371, + "initialValue": { + "hexValue": "30", + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1993:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1981:13:14" + }, + "loopExpression": { + "expression": { + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2015:3:14", + "subExpression": { + "id": 3376, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "2015:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3378, + "nodeType": "ExpressionStatement", + "src": "2015:3:14" + }, + "nodeType": "ForStatement", + "src": "1976:186:14" + } + ] + }, + "functionSelector": "2f0fe447", + "id": 3405, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3366, + "kind": "modifierInvocation", + "modifierName": { + "id": 3365, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 31, + "src": "1956:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "1956:9:14" + } + ], + "name": "appendUri", + "nameLocation": "1897:9:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3360, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1915:7:14", + "nodeType": "VariableDeclaration", + "scope": 3405, + "src": "1907:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3359, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1907:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3363, + "mutability": "mutable", + "name": "values", + "nameLocation": "1941:6:14", + "nodeType": "VariableDeclaration", + "scope": 3405, + "src": "1924:23:14", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 3361, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1924:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 3362, + "nodeType": "ArrayTypeName", + "src": "1924:7:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "1906:42:14" + }, + "returnParameters": { + "id": 3367, + "nodeType": "ParameterList", + "parameters": [], + "src": "1966:0:14" + }, + "scope": 3494, + "src": "1888:280:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 317 + ], + "body": { + "id": 3492, + "nodeType": "Block", + "src": "2254:532:14", + "statements": [ + { + "condition": { + "id": 3416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2268:17:14", + "subExpression": { + "arguments": [ + { + "id": 3414, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "2277:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3413, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "2269:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2269:16:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3420, + "nodeType": "IfStatement", + "src": "2264:49:14", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3417, + "name": "TokenDoesNotExist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "2294:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2294:19:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3419, + "nodeType": "RevertStatement", + "src": "2287:26:14" + } + }, + { + "assignments": [ + 3422 + ], + "declarations": [ + { + "constant": false, + "id": 3422, + "mutability": "mutable", + "name": "uri", + "nameLocation": "2336:3:14", + "nodeType": "VariableDeclaration", + "scope": 3492, + "src": "2323:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3421, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2323:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3430, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 3425, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "2352:6:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token storage ref)" + } + }, + "id": 3427, + "indexExpression": { + "id": 3426, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "2359:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2352:15:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$3193_storage", + "typeString": "struct Token storage ref" + } + }, + "id": 3428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "bytesLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 3189, + "src": "2352:27:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2342:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 3423, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2346:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:38:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2323:57:14" + }, + { + "assignments": [ + 3432, + null + ], + "declarations": [ + { + "constant": false, + "id": 3432, + "mutability": "mutable", + "name": "uriAddr", + "nameLocation": "2399:7:14", + "nodeType": "VariableDeclaration", + "scope": 3492, + "src": "2391:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2391:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3437, + "initialValue": { + "arguments": [ + { + "id": 3435, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "2429:3:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3433, + "name": "Memory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3781, + "src": "2412:6:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Memory_$3781_$", + "typeString": "type(library Memory)" + } + }, + "id": 3434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "fromBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 3735, + "src": "2412:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256,uint256)" + } + }, + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2412:21:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2390:43:14" + }, + { + "body": { + "id": 3485, + "nodeType": "Block", + "src": "2506:246:14", + "statements": [ + { + "assignments": [ + 3453 + ], + "declarations": [ + { + "constant": false, + "id": 3453, + "mutability": "mutable", + "name": "data", + "nameLocation": "2533:4:14", + "nodeType": "VariableDeclaration", + "scope": 3485, + "src": "2520:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3452, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2520:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3463, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 3456, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "2553:6:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token storage ref)" + } + }, + "id": 3458, + "indexExpression": { + "id": 3457, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "2560:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2553:15:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$3193_storage", + "typeString": "struct Token storage ref" + } + }, + "id": 3459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 3192, + "src": "2553:25:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 3461, + "indexExpression": { + "id": 3460, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3439, + "src": "2579:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2553:28:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3454, + "name": "SSTORE2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "2540:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SSTORE2_$3999_$", + "typeString": "type(library SSTORE2)" + } + }, + "id": 3455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read", + "nodeType": "MemberAccess", + "referencedDeclaration": 3950, + "src": "2540:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address) view returns (bytes memory)" + } + }, + "id": 3462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2540:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2520:62:14" + }, + { + "assignments": [ + 3465, + 3467 + ], + "declarations": [ + { + "constant": false, + "id": 3465, + "mutability": "mutable", + "name": "dataAddr", + "nameLocation": "2605:8:14", + "nodeType": "VariableDeclaration", + "scope": 3485, + "src": "2597:16:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3464, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2597:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3467, + "mutability": "mutable", + "name": "dataLen", + "nameLocation": "2623:7:14", + "nodeType": "VariableDeclaration", + "scope": 3485, + "src": "2615:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2615:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3472, + "initialValue": { + "arguments": [ + { + "id": 3470, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3453, + "src": "2651:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3468, + "name": "Memory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3781, + "src": "2634:6:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Memory_$3781_$", + "typeString": "type(library Memory)" + } + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "fromBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 3735, + "src": "2634:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256,uint256)" + } + }, + "id": 3471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2634:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2596:60:14" + }, + { + "expression": { + "arguments": [ + { + "id": 3476, + "name": "dataAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3465, + "src": "2682:8:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3477, + "name": "uriAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3432, + "src": "2692:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3478, + "name": "dataLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3467, + "src": "2701:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3473, + "name": "Memory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3781, + "src": "2670:6:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Memory_$3781_$", + "typeString": "type(library Memory)" + } + }, + "id": 3475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "copy", + "nodeType": "MemberAccess", + "referencedDeclaration": 3701, + "src": "2670:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) pure" + } + }, + "id": 3479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2670:39:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3480, + "nodeType": "ExpressionStatement", + "src": "2670:39:14" + }, + { + "expression": { + "id": 3483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3481, + "name": "uriAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3432, + "src": "2723:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 3482, + "name": "dataLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3467, + "src": "2734:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2723:18:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3484, + "nodeType": "ExpressionStatement", + "src": "2723:18:14" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3442, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3439, + "src": "2463:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "baseExpression": { + "id": 3443, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "2467:6:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$3193_storage_$", + "typeString": "mapping(uint256 => struct Token storage ref)" + } + }, + "id": 3445, + "indexExpression": { + "id": 3444, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "2474:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2467:15:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$3193_storage", + "typeString": "struct Token storage ref" + } + }, + "id": 3446, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 3192, + "src": "2467:25:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2467:32:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:36:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3486, + "initializationExpression": { + "assignments": [ + 3439 + ], + "declarations": [ + { + "constant": false, + "id": 3439, + "mutability": "mutable", + "name": "i", + "nameLocation": "2456:1:14", + "nodeType": "VariableDeclaration", + "scope": 3486, + "src": "2448:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2448:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3441, + "initialValue": { + "hexValue": "30", + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2460:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2448:13:14" + }, + "loopExpression": { + "expression": { + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2501:3:14", + "subExpression": { + "id": 3449, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3439, + "src": "2501:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3451, + "nodeType": "ExpressionStatement", + "src": "2501:3:14" + }, + "nodeType": "ForStatement", + "src": "2443:309:14" + }, + { + "expression": { + "arguments": [ + { + "id": 3489, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "2775:3:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2768:6:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3487, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2768:6:14", + "typeDescriptions": {} + } + }, + "id": 3490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2768:11:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3412, + "id": 3491, + "nodeType": "Return", + "src": "2761:18:14" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 3493, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "2183:8:14", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3409, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2221:8:14" + }, + "parameters": { + "id": 3408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2200:7:14", + "nodeType": "VariableDeclaration", + "scope": 3493, + "src": "2192:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2192:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2191:17:14" + }, + "returnParameters": { + "id": 3412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3411, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3493, + "src": "2239:13:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3410, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2239:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2238:15:14" + }, + "scope": 3494, + "src": "2174:612:14", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3495, + "src": "321:2992:14", + "usedErrors": [ + 3225, + 3791, + 3899 + ] + } + ], + "src": "32:3282:14" + }, + "compiler": { + "name": "solc", + "version": "0.8.14+commit.80d49f37.Emscripten.clang" + }, + "networks": { + "1001": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0xf8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e95": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "SkinMinted", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + }, + "links": {}, + "address": "0xde8056279F21F43725cE2226457E98F1cDFef1f3", + "transactionHash": "0x963c3ad59b3849334025bb289297acc1fe3dfdd8dfc7ba7a5f9f67ce7a3e24b7" + }, + "5777": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0xf8a1d8b71931385fc2643b62738ac48b2b5dfed67d40bebe158bca04f9995e95": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "SkinMinted", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + }, + "links": {}, + "address": "0xa5A0f85CE806205436618BcfD382BA45c8B9C476", + "transactionHash": "0x3b52a52af00fa48207edcc034b62e514b57115e61de92541d6cc3039a771bd03" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-07-19T02:04:43.792Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "getMintedTokenList()": { + "notice": "returns a list of boolean values indicating whether the skin with that index has been minted already." + }, + "getTokensForOwner(address)": { + "notice": "returns a list of tokenIds that are owned by the given address" + } + }, + "version": 1 + } +} \ No newline at end of file diff --git a/flutter_bird_app/assets/flutterbirds.abi.json b/flutter_bird_app/assets/flutterbirds.abi.json deleted file mode 100644 index 48ee820..0000000 --- a/flutter_bird_app/assets/flutterbirds.abi.json +++ /dev/null @@ -1,497 +0,0 @@ -[ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "SkinMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newTokenId", - "type": "uint256" - } - ], - "name": "mintSkin", - "outputs": [], - "stateMutability": "payable", - "type": "function", - "payable": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "getTokensForOwner", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "getMintedTokenList", - "outputs": [ - { - "internalType": "bool[]", - "name": "", - "type": "bool[]" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_tokenURI", - "type": "string" - } - ], - "name": "setTokenUri", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/flutter_bird_app/lib/config.dart b/flutter_bird_app/lib/config.dart index 249dec3..bd3d939 100644 --- a/flutter_bird_app/lib/config.dart +++ b/flutter_bird_app/lib/config.dart @@ -1,5 +1,5 @@ const chainId = 1001; // Klaytn Testnet baobab -const flutterBirdSkinsContractAddress = '0xAca84dc56A05bbC7a335a74d9e13C91dfA2Ea16D'; +const flutterBirdSkinsContractAddress = '0xde8056279F21F43725cE2226457E98F1cDFef1f3'; const ipfsGatewayUrl = 'https://nftstorage.link/ipfs/'; //FIXME: const alchemyNodeProviderUrl = 'https://eth-goerli.g.alchemy.com/v2/'; const walletConnectBridge = 'https://bridge.walletconnect.org'; diff --git a/flutter_bird_app/lib/controller/authentication_service.dart b/flutter_bird_app/lib/controller/authentication_service.dart index 31790c2..de7effd 100644 --- a/flutter_bird_app/lib/controller/authentication_service.dart +++ b/flutter_bird_app/lib/controller/authentication_service.dart @@ -145,7 +145,7 @@ class AuthenticationServiceImpl implements AuthenticationService { requiredNamespaces: { 'eip155': RequiredNamespace( chains: ['eip155:$operatingChain'], - methods: ['personal_sign'], + methods: ['personal_sign', 'eth_sendTransaction'], events: [], ), }, @@ -199,6 +199,33 @@ class AuthenticationServiceImpl implements AuthenticationService { } } + Future sendTransaction({ + required String topic, + required int chainId, + required Map txParams, + }) async { + try { + final dynamic txHash = await _connector!.request( + topic: topic, + chainId: 'eip155:$chainId', + request: SessionRequestParams( + method: 'eth_sendTransaction', + params: [txParams], + ), + ); + + if (txHash is String) { + return txHash; + } else { + print('Unexpected response type: ${txHash.runtimeType}'); + return null; + } + } catch (e) { + print('Error sending transaction: $e'); + return null; + } + } + Future _updateConnectionStatus() async { final sessions = _connector?.sessions.getAll(); } diff --git a/flutter_bird_app/lib/controller/authorization_service.dart b/flutter_bird_app/lib/controller/authorization_service.dart index 2bc3823..3af7fa1 100644 --- a/flutter_bird_app/lib/controller/authorization_service.dart +++ b/flutter_bird_app/lib/controller/authorization_service.dart @@ -55,8 +55,8 @@ class AuthorizationServiceImpl implements AuthorizationService { futures.add(contract.tokenURI(tokenId).then((tokenUri) async { // Replace placeholder with actual skin - Skin? skin = await getSkin(tokenUri, tokenId.toInt()); - if (skin == null) { + Skin? skin = await Skin(tokenId: tokenId.toInt(), name: skinName, imageLocation: tokenUri); + if (tokenUri.isEmpty) { skins?.remove(tokenId.toInt()); } else { skins?[tokenId.toInt()] = skin; @@ -68,26 +68,4 @@ class AuthorizationServiceImpl implements AuthorizationService { await Future.value(futures); } - /// Uses the token URI to fetch the image file from IPFS - /// @return the Skin Object with the correct image data - Future getSkin(String tokenUri, int tokenId) async { - Uri metadataUrl = Uri.parse(_ipfsUriToGateway(tokenUri)); - - try { - Response? metadataResponse = await http.get(metadataUrl); - Map metadata = jsonDecode(metadataResponse.body); - - String skinName = metadata['name']; - String imageIpfsUri = metadata['image']; - String imageUrl = _ipfsUriToGateway(imageIpfsUri); - - return Skin(tokenId: tokenId, name: skinName, imageLocation: imageUrl); - } on Exception catch (e) { - log('Failed to load metadata for tokenURI $tokenUri'); - log(e.toString()); - } - return null; - } - - String _ipfsUriToGateway(String ipfsUri) => ipfsGatewayUrl + ipfsUri.substring(7); } diff --git a/flutter_bird_app/lib/controller/flutter_bird_controller.dart b/flutter_bird_app/lib/controller/flutter_bird_controller.dart index 7580c9a..e626270 100644 --- a/flutter_bird_app/lib/controller/flutter_bird_controller.dart +++ b/flutter_bird_app/lib/controller/flutter_bird_controller.dart @@ -1,7 +1,10 @@ import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_bird/controller/authentication_service.dart'; import 'package:flutter_bird/controller/authorization_service.dart'; +import 'package:flutter_bird/controller/mint_nft_service.dart'; import 'package:flutter_bird/config.dart'; +import 'package:flutter/services.dart'; import '../model/account.dart'; import '../model/skin.dart'; @@ -10,6 +13,7 @@ import '../model/wallet_provider.dart'; class FlutterBirdController extends ChangeNotifier { late final AuthenticationService _authenticationService; late final AuthorizationService _authorizationService; + late final NFTMinterService _nftMinterService; // Authentication state List get availableWallets => _authenticationService.availableWallets; @@ -24,6 +28,8 @@ class FlutterBirdController extends ChangeNotifier { bool get isConnected => _authenticationService.isConnected; + NFTMinterService get nftMinterService => _nftMinterService; + WalletProvider? get lastUsedWallet => (_authenticationService as AuthenticationServiceImpl).lastUsedWallet; String? get currentAddressShort => @@ -57,6 +63,9 @@ class FlutterBirdController extends ChangeNotifier { await (_authenticationService as AuthenticationServiceImpl).initialize(isInLiff); _authorizationService = AuthorizationServiceImpl(contractAddress: skinContractAddress, rpcUrl: rpcUrl); + + final String abiJsonString = await rootBundle.loadString('assets/FlutterBirdSkins.json'); + _nftMinterService = NFTMinterService(rpcUrl, flutterBirdSkinsContractAddress, abiJsonString, _authenticationService as AuthenticationServiceImpl); } catch (e) { lastError = 'Initialization error: $e'; @@ -65,6 +74,10 @@ class FlutterBirdController extends ChangeNotifier { } } + Future mintNft() async { + await _nftMinterService.mintRandomSkin(); + } + Future verifySignature() async { try { bool result = await (_authenticationService as AuthenticationServiceImpl).verifySignature(); diff --git a/flutter_bird_app/lib/controller/mint_nft_service.dart b/flutter_bird_app/lib/controller/mint_nft_service.dart new file mode 100644 index 0000000..33b4a91 --- /dev/null +++ b/flutter_bird_app/lib/controller/mint_nft_service.dart @@ -0,0 +1,239 @@ +import 'dart:convert'; +import 'dart:typed_data'; +import 'dart:math'; +import 'package:flutter/services.dart'; +import 'package:web3dart/web3dart.dart'; +import 'package:http/http.dart' as http; +import './authentication_service.dart'; +import 'package:web3dart/crypto.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; + +class NFTMinterService { + final Web3Client _client; + final EthereumAddress _contractAddress; + final DeployedContract _contract; + final AuthenticationServiceImpl _authService; + + String key = dotenv.env['PRIVATE_KEY'] ?? ''; + + NFTMinterService(String rpcUrl, String contractAddress, String abiJsonString, AuthenticationServiceImpl _authService) + : _client = Web3Client(rpcUrl, http.Client()), + _authService = _authService, + _contractAddress = EthereumAddress.fromHex(contractAddress), + _contract = _createContract(contractAddress, abiJsonString); + + static DeployedContract _createContract(String contractAddress, String abiJsonString) { + try { + final abiJson = jsonDecode(abiJsonString); + final abiList = abiJson['abi'] as List; + return DeployedContract( + ContractAbi.fromJson(jsonEncode(abiList), 'FlutterBirdSkins'), + EthereumAddress.fromHex(contractAddress), + ); + } catch (e) { + throw Exception('Failed to create contract: $e\nABI JSON: $abiJsonString'); + } + } + + Future mintRandomSkin() async { + if (!_authService.isAuthenticated || !_authService.isOnOperatingChain) { + throw Exception('Wallet not connected or on wrong chain'); + } + + final session = _authService.currentSession; + if (session == null) { + throw Exception('No active WalletConnect session'); + } + + try { + // Get minted status list + final mintedStatusList = await _client.call( + contract: _contract, + function: _contract.function('getMintedTokenList'), + params: [], + ); + + final unmintedTokenId = _getUnmintedTokenId(mintedStatusList[0]); + + if (unmintedTokenId == null) { + throw Exception("No unminted token available. All tokenIds have been minted."); + } + + // Create and upload URI + await _createAndUploadUri(unmintedTokenId); + + // Prepare transaction data + final function = _contract.function('mintSkin'); + final data = function.encodeCall([BigInt.from(unmintedTokenId)]); + + final sender = EthereumAddress.fromHex(_authService.authenticatedAccount!.address); + final gasEstimate = (await _client.estimateGas( + sender: sender, + to: _contractAddress, + data: data, + value: EtherAmount.fromInt(EtherUnit.ether, 1), + ) * BigInt.from(110)) ~/ BigInt.from(100); + + final gasPrice = await _client.getGasPrice(); + final nonce = await _client.getTransactionCount(sender); + + final chainId = _authService.operatingChain; + + final totalCost = gasEstimate * gasPrice.getInWei + BigInt.from(10).pow(18); + + final balance = await _client.getBalance(sender); + if (balance.getInWei < totalCost) { + throw Exception('Insufficient balance. Required: ${totalCost}, Available: ${balance.getInWei}'); + } + + final gasLimit = gasEstimate * BigInt.from(2); + final txParams = { + 'from': sender.hexEip55, + 'to': _contractAddress.hexEip55, + 'data': '0x${bytesToHex(data)}', + 'value': '0x${BigInt.from(10).pow(18).toRadixString(16)}', // 1 ETH + 'gasPrice': '0x${gasPrice.getInWei.toRadixString(16)}', + 'gasLimit': '0x${gasLimit.toRadixString(16)}', + 'nonce': '0x${nonce.toRadixString(16)}', + }; + + + final txHash = await _authService.sendTransaction( + topic: session.topic, + chainId: chainId, + txParams: txParams, + ); + + if (txHash == null) { + throw Exception('Failed to send transaction'); + } + + return unmintedTokenId; + + } catch (e) { + print('Error minting NFT: $e'); + rethrow; + } + } + + Future _createAndUploadUri(int tokenId) async { + print('Create And Upload uri NFT # $tokenId'); + final String imageUrl = 'https://flutter-bird-image-server.vercel.app'; + final String name = 'Flutter Bird - $tokenId'; + final String description = 'NFT Flutter Bird'; + + try { + final uri = await _createUri( + name: name, + description: description, + imageServerUrl: imageUrl, + tokenId: tokenId, + ); + + await _uploadUri( + BigInt.from(tokenId), + uri, + ); + + return uri; + } catch (e) { + print('Error: $e'); + rethrow; + } + } + + + Future _createUri({ + required String name, + required String description, + required String imageServerUrl, + required int tokenId, + }) async { + try { + final response = await http.get( + Uri.parse('$imageServerUrl/api/image/$tokenId'), + headers: { + 'Access-Control-Allow-Origin': '*', + }, + ); + + if (response.statusCode != 200) { + throw Exception('Failed to load image: ${response.statusCode}'); + } + + final Map responseData = jsonDecode(response.body); + + final String imageDataUrl = responseData['imageDataUrl']; + + final json = jsonEncode({ + 'name': name, + 'description': description, + 'image': imageDataUrl, + }).trim(); + + return 'data:application/json,${Uri.encodeFull(json)}'; + } catch (e) { + print('Error creating URI: $e'); + rethrow; + } + } + + Future _uploadUri(BigInt tokenId, String uri) async { + final data = Uint8List.fromList(utf8.encode(uri)); + final function = _contract.function('appendUri'); + + Uint8List encodedCall = function.encodeCall([tokenId, [data]]); + + try { + final privateKey = EthPrivateKey.fromHex(key); + final sender = await privateKey.address; + + final gasEstimate = await _client.estimateGas( + sender: sender, + to: _contractAddress, + data: encodedCall, + ); + + final gasPrice = await _client.getGasPrice(); + final nonce = await _client.getTransactionCount(sender); + final chainId = _authService.operatingChain; + + final tx = Transaction( + to: _contractAddress, + from: sender, + nonce: nonce, + gasPrice: gasPrice, + maxGas: gasEstimate.toInt(), + data: encodedCall, + ); + + final signedTx = await _client.signTransaction(privateKey, tx, chainId: chainId); + final txResult = await _client.sendRawTransaction(signedTx); + + print('Transaction hash: $txResult'); + } catch (e) { + print('Error sending transaction: $e'); + rethrow; + } + + } + + int? _getUnmintedTokenId(List mintedStatusList) { + final unmintedTokenIds = List.generate( + mintedStatusList.length, + (i) => i, + ).where((i) => !mintedStatusList[i]).toList(); + + if (unmintedTokenIds.isEmpty) return null; + + return unmintedTokenIds[Random().nextInt(unmintedTokenIds.length)]; + } + + String _bytesToHex(Uint8List bytes) { + return '0x' + bytes.map((byte) => byte.toRadixString(16).padLeft(2, '0')).join(); + } + + void dispose() { + _client.dispose(); + } +} diff --git a/flutter_bird_app/lib/view/main_menu_view.dart b/flutter_bird_app/lib/view/main_menu_view.dart index 10e6778..234d068 100644 --- a/flutter_bird_app/lib/view/main_menu_view.dart +++ b/flutter_bird_app/lib/view/main_menu_view.dart @@ -8,6 +8,9 @@ import 'package:provider/provider.dart'; import '../controller/flutter_bird_controller.dart'; import '../controller/persistence/persistence_service.dart'; +import '../controller/authentication_service.dart'; +import '../controller/mint_nft_service.dart'; +import '../config.dart'; import '../extensions.dart'; import 'game_view.dart'; import 'widgets/background.dart'; @@ -26,6 +29,7 @@ class MainMenuView extends StatefulWidget { class _MainMenuViewState extends State with AutomaticKeepAliveClientMixin { bool playing = false; + bool _isOverlayVisible = false; int lastScore = 0; int? highScore; @@ -101,12 +105,14 @@ class _MainMenuViewState extends State with AutomaticKeepAliveClie const Background(), _buildBirdSelector(web3Service), _buildMenu(web3Service), + _buildAuthenticationView(web3Service), + if (_isOverlayVisible) _buildOverlayMenu(web3Service), ]), ), ); }), ); - } catch(e, stackTrace) { + } catch (e, stackTrace) { print("Error in MainMenuView: $e"); print("StackTrace: $stackTrace"); return Scaffold( @@ -115,7 +121,6 @@ class _MainMenuViewState extends State with AutomaticKeepAliveClie ), ); } - } Widget _buildMenu(FlutterBirdController web3Service) => Column( @@ -156,7 +161,7 @@ class _MainMenuViewState extends State with AutomaticKeepAliveClie )), Expanded( flex: 1, - child: _buildAuthenticationView(web3Service), + child: SizedBox(), ) ], ); @@ -263,68 +268,110 @@ class _MainMenuViewState extends State with AutomaticKeepAliveClie ], ); - _buildAuthenticationView(FlutterBirdController web3Service) { - String statusText = 'No Wallet\nConnected'; - if (web3Service.isAuthenticated) { - statusText = web3Service.isOnOperatingChain ? 'Wallet Connected' : 'Wallet on wrong chain'; - } + Widget _buildAuthenticationView(FlutterBirdController web3Service) { + return Positioned( + bottom: 20, + right: 32, + child: GestureDetector( + onTap: _toggleOverlay, + child: Container( + height: 64, + width: 64, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + color: Colors.white, + boxShadow: const [ + BoxShadow( + color: Colors.black26, + blurRadius: 4, + offset: Offset(2, 2), + ) + ], + ), + child: const Icon(Icons.menu, color: Colors.black), + ), + ), + ); + } - return SafeArea( + void _toggleOverlay() { + setState(() { + _isOverlayVisible = !_isOverlayVisible; + }); + } + + Widget _buildOverlayMenu(FlutterBirdController web3Service) { + if (!_isOverlayVisible) return const SizedBox.shrink(); + + return Positioned.fill( child: GestureDetector( - onTap: _showAuthenticationPopUp, - child: Stack( - clipBehavior: Clip.none, - children: [ - Positioned( - bottom: 20, - left: 32, - child: Row( + onTap: _toggleOverlay, + child: Container( + color: Colors.black54, + child: Center( + child: Container( + width: 300, + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + ), + child: Column( + mainAxisSize: MainAxisSize.min, children: [ - Container( - height: 64, - width: 64, - decoration: - BoxDecoration(borderRadius: BorderRadius.circular(8), color: Colors.white, boxShadow: const [ - BoxShadow( - color: Colors.black26, - blurRadius: 4, - offset: Offset(2, 2), - ) - ]), - child: Center( - child: - kIsWeb ? Image.network('images/walletconnect.png') : Image.asset('images/walletconnect.png'), - ), - ), - const SizedBox( - width: 12, - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - statusText, - style: Theme.of(context) - .textTheme - .titleMedium - ?.copyWith(color: Colors.white, fontWeight: FontWeight.bold), - ), - if (web3Service.isAuthenticated) - Text( - web3Service.currentAddressShort ?? '', - style: Theme.of(context).textTheme.bodyMedium?.copyWith(color: Colors.white), - ) - ], - ) + _buildWalletConnectButton(web3Service), + const SizedBox(height: 16), + _buildMintButton(web3Service), ], ), ), - ], + ), ), ), ); } + Widget _buildWalletConnectButton(FlutterBirdController web3Service) { + String statusText = web3Service.isAuthenticated + ? (web3Service.isOnOperatingChain ? 'Wallet Connected' : 'Wrong Chain') + : 'Connect Wallet'; + + return ElevatedButton( + onPressed: _showAuthenticationPopUp, + child: Text(statusText), + ); + } + + Widget _buildMintButton(FlutterBirdController web3Service) { + return ElevatedButton( + onPressed: web3Service.isAuthenticated && web3Service.isOnOperatingChain + ? () => _mintNFT(web3Service) + : null, + child: const Text('Mint Bird'), + ); + } + + Future _mintNFT(FlutterBirdController web3Service) async { + try { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Minting process started. Please check your wallet for confirmation.')), + ); + + int newTokenId = await web3Service.nftMinterService.mintRandomSkin(); + + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('NFT #$newTokenId minted successfully!')), + ); + + await web3Service.authorizeUser(forceReload: true); + + } catch (e) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('Error minting NFT: $e')), + ); + } + } + _showAuthenticationPopUp() { Navigator.of(context).push(PageRouteBuilder( opaque: false, diff --git a/flutter_bird_app/lib/view/widgets/bird.dart b/flutter_bird_app/lib/view/widgets/bird.dart index 6ba0c43..1496716 100644 --- a/flutter_bird_app/lib/view/widgets/bird.dart +++ b/flutter_bird_app/lib/view/widgets/bird.dart @@ -1,5 +1,6 @@ +import 'dart:convert'; +import 'dart:typed_data'; import 'package:flutter/material.dart'; - import '../../model/skin.dart'; class Bird extends StatelessWidget { @@ -24,17 +25,53 @@ class Bird extends StatelessWidget { return _buildLoadingIndicator(context, 0.3); } - return Image.network( - skin!.imageLocation!, - loadingBuilder: (context, child, loadingProgress) { - if (loadingProgress == null) return child; - return _buildLoadingIndicator( - context, loadingProgress.cumulativeBytesLoaded / (loadingProgress.expectedTotalBytes ?? 1000)); - }, + try { + final imageDataUrl = _extractImageDataUrl(skin!.imageLocation!); + return Image.memory( + _dataUrlToBytes(imageDataUrl), + errorBuilder: (context, error, stackTrace) { + print('Error loading image: $error'); + return _buildErrorWidget(context); + }, + ); + } catch (e) { + print('Error processing image data: $e'); + return _buildErrorWidget(context); + } + } + + Uint8List _dataUrlToBytes(String dataUrl) { + final base64Str = dataUrl.split(',').last; + return base64Decode(base64Str); + } + + String _extractImageDataUrl(String tokenUri) { + try { + final jsonStr = tokenUri.replaceFirst('data:application/json,', ''); + String decodedStr = Uri.decodeFull(jsonStr); + Map jsonData = jsonDecode(decodedStr); + if (jsonData.containsKey('image')) { + return jsonData['image'] as String; + } else { + throw FormatException('Invalid JSON structure or missing image field'); + } + } catch (e) { + print('Error extracting image data URL: $e'); + print("tokenUri: ${tokenUri}, ${e}"); + rethrow; + } + } + + Widget _buildErrorWidget(BuildContext context) { + return Container( + color: Colors.grey[300], + child: Center( + child: Icon(Icons.error, color: Colors.red), + ), ); } - _buildLoadingIndicator(BuildContext context, double? value) => Column( + Widget _buildLoadingIndicator(BuildContext context, double? value) => Column( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ CircularProgressIndicator( From a61f85f076b9756295e9188030873bac2c68167f Mon Sep 17 00:00:00 2001 From: shiki-tak Date: Mon, 29 Jul 2024 12:47:50 +0900 Subject: [PATCH 5/5] fix: add lock file to docker --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6091e5b..60fe754 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -y \ RUN npm install -g node-gyp RUN npm install -g truffle -COPY ./flutter_bird_skins/package.json ./ +COPY ./flutter_bird_skins/package*.json ./ RUN npm install COPY ./flutter_bird_skins .