diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..470701d7 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +WEB3_PROVIDER_URL="" +NETWORK_ID="" diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..eb79dd5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +.idea diff --git a/README.md b/README.md new file mode 100644 index 00000000..7e2159fe --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Vehicle Registration +

Vehicle registration system to replace recorder deeds

+ +## Installation + +Use the package manager NPM, so you need to install [Nodejs](https://nodejs.org/en/download/) + +```bash +npm install +``` + +## Usage + +```bash +npm run start +``` + +## Contributing + +Pull requests are welcome. For major changes, please open an issue first +to discuss what you would like to change. + +Please make sure to update tests as appropriate. + +## License + +[MIT](https://choosealicense.com/licenses/mit/) diff --git a/app.js b/app.js new file mode 100644 index 00000000..0dfc2634 --- /dev/null +++ b/app.js @@ -0,0 +1,81 @@ +const createError = require('http-errors'); +const express = require('express'); +const path = require('path'); +const cookieParser = require('cookie-parser'); +const logger = require('morgan'); +const expressValidator = require("express-validator") +const session = require("express-session") +const expressLayout = require('express-ejs-layouts') +const flash = require('express-flash') + +require('dotenv').config() + +// Routes +const userRoutes = require("./routes/users"); +const homeRoutes = require("./routes/home"); +const vehiclesRoutes = require("./routes/vehicles"); +const installUsers = require("./helpers/installUsers"); +const installManufactures = require("./helpers/installManufactures"); +const installVehicles = require("./helpers/installVehicles"); +const licensesRoutes = require("./routes/licenses"); +const manufacturersRoutes = require("./routes/manufacturers"); +const banksRoutes = require("./routes/banks"); +const installBanks = require("./helpers/installBanks"); +const roles = require("./utilities/roles"); +const installLicenses = require("./helpers/installLicenses"); + +const app = express(); + +app.use(flash()) +// Global middleware +app.use((req, res, next) => { + res.locals.session = req.session + res.locals.user = req.user + next() +}) +// view engine setup +app.use(expressLayout) +app.set("views", path.join(__dirname, "resources/views")); +app.set("view engine", "ejs"); + +app.use(logger('dev')); +app.use(express.json()); +app.use(express.urlencoded({extended: false})); +app.use(expressValidator()) +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, 'public'))); + +const oneDay = 1000 * 60 * 60 * 24; +app.use(session({ + secret: "thisismysecrctekeyfhrgfgrfrty84fwir767", + saveUninitialized: true, + cookie: {maxAge: oneDay}, + resave: false +})); + +// init +installUsers() +installManufactures() +installVehicles() +installBanks() +installLicenses() + +app.use(function (req, res, next) { + res.locals.currentUser = req.session.user; + res.locals.currentUserRole = roles(req.session.user?.user_role); + res.locals.message = req.flash(); + next() +}) + +homeRoutes(app) +userRoutes(app) +vehiclesRoutes(app) +licensesRoutes(app) +manufacturersRoutes(app) +banksRoutes(app) + +app.use((req, res) => { + res.status(404).render('404') +}) + +module.exports = app; diff --git a/app/controllers/BanksController.js b/app/controllers/BanksController.js new file mode 100644 index 00000000..9403544f --- /dev/null +++ b/app/controllers/BanksController.js @@ -0,0 +1,28 @@ +const mainContract = require("../../utilities/contract"); + +function BanksController() { + return { + async allBanks(req, res, next) { + + const contract = await mainContract() + let users = [] + let banks = await contract.methods.get_banks().call(async function (err, result) { + return result + }) + + for (const i in banks) { + const user = await contract.methods.get_user(banks[i].user_id).call((err, result) => { + return result + }) + banks[i].user = user + users.push(user) + } + + res.render("banks/list", { + banks, users + }) + } + } +} + +module.exports = BanksController diff --git a/app/controllers/HomeController.js b/app/controllers/HomeController.js new file mode 100644 index 00000000..8bad45a6 --- /dev/null +++ b/app/controllers/HomeController.js @@ -0,0 +1,5 @@ +function HomeController() { + +} + +module.exports = HomeController diff --git a/app/controllers/LicensesController.js b/app/controllers/LicensesController.js new file mode 100644 index 00000000..4421e5d6 --- /dev/null +++ b/app/controllers/LicensesController.js @@ -0,0 +1,105 @@ +const mainContract = require("../../utilities/contract"); +const {accounts} = require("../../utilities/accounts"); + +function LicensesController() { + return { + async allLicenses(req, res) { + + const contract = await mainContract() + + const licenses = await contract.methods.get_licenses().call((err, result) => { + return result + }) + + const vehicles = await contract.methods.get_vehicles().call((err, result) => { + return result + }) + + function timeConverter(UNIX_timestamp) { + let a = new Date(parseInt(UNIX_timestamp)); + let months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + let year = a.getFullYear(); + let month = a.getMonth(); + let date = a.getDate(); + return year + '/' + month + '/' + date; + } + + const currentUserRole = res.locals.currentUserRole + + if (currentUserRole.toString() === 'admin') { + return res.render('licenses/list', { + licenses: licenses, + vehicles: vehicles, + timeConverter, + currentTime: Date.now(), + }) + } else { + const user_id = res.locals.currentUser?.user_id + let new_licenses = [] + let new_licenses_id = [] + for (const i in licenses) { + if (parseInt(licenses[i].user_id) === parseInt(user_id)) { + new_licenses.push(licenses[i]) + new_licenses_id.push(i) + } + } + + let new_vehicles = [] + + for (const license of new_licenses) { + new_vehicles.push(vehicles[license.car_id]) + } + + return res.render('licenses/list', { + licenses: new_licenses, + vehicles: new_vehicles, + timeConverter, + currentTime: Date.now(), + new_licenses_id + }) + } + }, + + async add(req, res) { + const contract = await mainContract() + + const vehicles = await contract.methods.get_vehicles().call((err, result) => { + return result + }) + + const user_id = res.locals.currentUser?.user_id + let new_vehicles = [] + for (const vehicle of vehicles) { + if (parseInt(vehicle.user_id) === parseInt(user_id)) new_vehicles.push(vehicle) + } + + res.render('licenses/add', { + vehicles: new_vehicles + }) + }, + + async renewal(req, res) { + const license_id = req.params.id + const expire_at = req.params.expire_at + const allAccounts = await accounts() + + const contract = await mainContract() + + const aYearFromNow = new Date(parseInt(expire_at)); + aYearFromNow.setFullYear(new Date().getFullYear() + 5); + + const new_expire_at = aYearFromNow.getTime().toString() + + await contract.methods.renewal_license(license_id, new_expire_at).send({ + from: allAccounts[0], + gas: 200000000 + }) + + req.flash('success', "Renewal Successfully!"); + + res.redirect("/licenses") + } + } +} + +module.exports = LicensesController diff --git a/app/controllers/ManufacturersController.js b/app/controllers/ManufacturersController.js new file mode 100644 index 00000000..402ceb59 --- /dev/null +++ b/app/controllers/ManufacturersController.js @@ -0,0 +1,27 @@ +const mainContract = require("../../utilities/contract"); + +function ManufacturersController() { + return { + async allManufacturers(req, res, next) { + const contract = await mainContract() + let users = [] + let manufactures = await contract.methods.get_manufactures().call(async function (err, result) { + return result + }) + + for (const i in manufactures) { + const user = await contract.methods.get_user(manufactures[i].user_id).call((err, result) => { + return result + }) + manufactures[i].user = user + users.push(user) + } + + res.render("manufacturers/list", { + manufactures, users + }) + } + } +} + +module.exports = ManufacturersController diff --git a/app/controllers/UsersController.js b/app/controllers/UsersController.js new file mode 100644 index 00000000..28d04375 --- /dev/null +++ b/app/controllers/UsersController.js @@ -0,0 +1,140 @@ +const mainContract = require("../../utilities/contract"); +const {getFirstAccount, accounts} = require("../../utilities/accounts"); + +function UsersController() { + + return { + async login(req, res, next) { + return res.render('user/login') + }, + async loginPost(req, res, next) { + const contract = await mainContract() + + const email = req.body.email + const password = req.body.password + + await contract.methods.login(email, password).call(async function (error, result) { + if (parseInt(result) === -1) { + req.flash('error', "Wrong credentials"); + res.redirect("/login") + } else { + await contract.methods.get_user(parseInt(result)).call(function (error, userResult) { + req.session.user = { + user_id: parseInt(result), + user_address: userResult.user_address, + user_name: userResult.user_name, + user_email: userResult.user_email, + user_password: userResult.user_password, + user_phone: userResult.user_phone, + user_national_id: userResult.user_national_id, + user_role: userResult.role + } + }) + req.flash('success', "Login Successfully"); + res.redirect("/") + } + }) + }, + signup(req, res, next) { + res.render('user/signup') + }, + async signupPost(req, res, next) { + const contract = await mainContract() + const allAccounts = await accounts() + let userAddress = await getFirstAccount() + + req.checkBody("full_name").notEmpty() + req.checkBody("email").notEmpty().isEmail() + req.checkBody("national_id").notEmpty() + req.checkBody("phone").notEmpty() + req.checkBody("public_address").notEmpty() + req.checkBody("password").notEmpty().isLength({min: 8}) + // req.checkBody("confirm_password").notEmpty().equals(req.body.password) + + let errors = req.validationErrors(); + if (errors) { + // return res.send(JSON.stringify({ + // "message": errors, + // })); + req.flash('error', "Error happened when try to signup"); + res.redirect("/signup") + } + + const full_name = req.body.full_name + const email = req.body.email + const national_id = req.body.national_id + const phone = req.body.phone + const password = req.body.password + const public_address = req.body.public_address + + if(allAccounts.indexOf(public_address) == -1) { + req.flash('error', "Public Adddress not found"); + return res.redirect("/signup") + } + + await contract.methods.register(public_address, full_name, email, phone, password, national_id, 0).send({ + from: public_address, + gas: 200000000 + }) + + req.flash('success', "Signup Successfully!"); + res.redirect("/") + }, + logout(req, res) { + delete req.session.user + req.flash('success', "Logout Successfully!"); + res.redirect("/") + }, + async profile(req, res) { + res.render("user/profile", { + user: req.session.user + }) + }, + async users(req, res) { + const contract = await mainContract() + + const users = await contract.methods.get_users().call(function (err, result) { + return result + }) + + const roles = require("../../utilities/roles") + const capitalize = require("../../utilities/capitalize") + + res.render("user/list", { + users, + roles, + capitalize + }) + }, + async profilePost(req, res) { + const contract = await mainContract() + + req.checkBody("phone").notEmpty() + req.checkBody("password").notEmpty().isLength({min: 8}) + req.checkBody("confirm_password").notEmpty().equals(req.body.password) + + let errors = req.validationErrors(); + if (errors) { + return res.send(JSON.stringify({ + "message": errors, + })); + } + + const phone = req.body.phone + const password = req.body.password + + req.session.user.user_phone = phone + req.session.user.user_password = password + + await contract.methods.edit_user(req.session.user.user_id, phone, password).send({ + from: req.session.user.user_address, + gas: 200000000 + }) + + req.flash('success', "Updated Successfully!"); + res.redirect("/profile") + } + } +} + +module.exports = UsersController diff --git a/app/controllers/VehiclesController.js b/app/controllers/VehiclesController.js new file mode 100644 index 00000000..3a7b461c --- /dev/null +++ b/app/controllers/VehiclesController.js @@ -0,0 +1,134 @@ +const mainContract = require("../../utilities/contract"); + +function VehiclesController() { + return { + async allVehicles(req, res, next) { + const contract = await mainContract() + + const vehicles = await contract.methods.get_vehicles().call((err, result) => { + return result + }) + + const currentUserRole = res.locals.currentUserRole + + console.log(currentUserRole.toString() === 'admin') + + if (currentUserRole.toString() === 'admin') { + return res.render("vehicles/list", { + vehicles + }) + } else { + const user_id = res.locals.currentUser?.user_id + let new_vehicles = [] + let new_vehicles_id = [] + for (const i in vehicles) { + if (parseInt(vehicles[i].user_id) == parseInt(user_id)) { + new_vehicles.push(vehicles[i]) + new_vehicles_id.push(i) + } + } + return res.render("vehicles/list", { + vehicles: new_vehicles, + vehicles_id: new_vehicles_id + }) + } + }, + addVehicle(req, res, next) { + res.render("vehicles/add") + }, + async addVehiclePost(req, res, next) { + const contract = await mainContract() + + req.checkBody("vehicle_name").notEmpty() + req.checkBody("vehicle_model").notEmpty() + req.checkBody("vehicle_type").notEmpty() + req.checkBody("vehicle_production_year").notEmpty() + req.checkBody("vehicle_motor_number").notEmpty() + req.checkBody("vehicle_chassis_number").notEmpty() + req.checkBody("vehicle_color").notEmpty() + req.checkBody("owner_address").notEmpty() + + let errors = req.validationErrors(); + if (errors) { + return res.send(JSON.stringify({ + "message": errors, + })); + } + + const vehicle_name = req.body.vehicle_name + const vehicle_model = req.body.vehicle_model + const vehicle_type = req.body.vehicle_type + const vehicle_production_year = req.body.vehicle_production_year + const vehicle_motor_number = req.body.vehicle_motor_number + const vehicle_chassis_number = req.body.vehicle_chassis_number + const vehicle_color = req.body.vehicle_color + const owner_address = req.body.owner_address + + await contract.methods.add_vehicle( + 1, + vehicle_name, + vehicle_type, + vehicle_model, + vehicle_motor_number, + vehicle_chassis_number, + vehicle_color, + vehicle_production_year, + false, + 0 + ).send({ + from: owner_address, + gas: 200000000 + }) + req.flash('success', "Added Successfully!"); + res.redirect("/vehicles") + }, + async editVehicle(req, res, next) { + const vehicle_id = req.params.id + const contract = await mainContract() + + const vehicle = await contract.methods.get_vehicle(vehicle_id).call((err, result) => { + return result + }) + + const user = await contract.methods.get_user(vehicle.user_id).call((err, result) => { + return result + }) + + res.render("vehicles/add", { + page: req.url, + vehicle: vehicle, + user: user, + }) + }, + async editVehiclePost(req, res, next) { + + const contract = await mainContract() + const vehicle_id = req.params.id + + req.checkBody("owner_address").notEmpty() + req.checkBody("vehicle_color").notEmpty() + + const owner_address = req.body.owner_address + const vehicle_color = req.body.vehicle_color + + const newOwner = await contract.methods.get_user_id_with_address(owner_address).call((err, result) => { + return result; + }) + + await contract.methods.edit_vehicle( + vehicle_id, + newOwner, + vehicle_color + ).send({ + from: owner_address, + gas: 200000000 + }) + + req.flash('success', "Updated Successfully!"); + res.redirect("/vehicles/edit/" + vehicle_id) + + }, + } +} + +module.exports = VehiclesController diff --git a/app/middlewares/admin.js b/app/middlewares/admin.js new file mode 100644 index 00000000..35f0d7de --- /dev/null +++ b/app/middlewares/admin.js @@ -0,0 +1,10 @@ +const roles = require("../../utilities/roles"); + +function admin(req, res, next) { + if (req.session.user && roles(req.session.user.user_role) === 'admin') { + return next() + } + return res.redirect('/') +} + +module.exports = admin diff --git a/app/middlewares/auth.js b/app/middlewares/auth.js new file mode 100644 index 00000000..14ba99a2 --- /dev/null +++ b/app/middlewares/auth.js @@ -0,0 +1,8 @@ +function auth(req, res, next) { + if (req.session.user) { + return next() + } + return res.redirect('/') +} + +module.exports = auth diff --git a/app/middlewares/bank.js b/app/middlewares/bank.js new file mode 100644 index 00000000..52db1bb7 --- /dev/null +++ b/app/middlewares/bank.js @@ -0,0 +1,10 @@ +const roles = require("../../utilities/roles"); + +function bank(req, res, next) { + if (req.session.user && roles(req.session.user.user_role) === 'bank') { + return next() + } + return res.redirect('/') +} + +module.exports = bank diff --git a/app/middlewares/guest.js b/app/middlewares/guest.js new file mode 100644 index 00000000..873eb3ac --- /dev/null +++ b/app/middlewares/guest.js @@ -0,0 +1,8 @@ +function guest(req, res, next) { + if (!req.session.user) { + return next() + } + return res.redirect('/') +} + +module.exports = guest diff --git a/app/middlewares/manufacture.js b/app/middlewares/manufacture.js new file mode 100644 index 00000000..056445b6 --- /dev/null +++ b/app/middlewares/manufacture.js @@ -0,0 +1,10 @@ +const roles = require("../../utilities/roles"); + +function manufacture(req, res, next) { + if (req.session.user && roles(req.session.user.user_role) === 'manufacture') { + return next() + } + return res.redirect('/') +} + +module.exports = manufacture diff --git a/bin/www b/bin/www new file mode 100644 index 00000000..473eb9e0 --- /dev/null +++ b/bin/www @@ -0,0 +1,92 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require('../app'); +var debug = require('debug')('folder:server'); +var http = require('http'); +const {add} = require("nodemon/lib/rules"); + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || '3000'); +app.set('port', port); + +/** + * Create HTTP server. + */ + +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port); +server.on('error', onError); +server.on('listening', onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== 'listen') { + throw error; + } + + var bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case 'EACCES': + console.error(bind + ' requires elevated privileges'); + process.exit(1); + break; + case 'EADDRINUSE': + console.error(bind + ' is already in use'); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + console.log("PORT: " + addr.port) + var bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port; + debug('Listening on ' + bind); +} diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json new file mode 100644 index 00000000..cebecca1 --- /dev/null +++ b/build/contracts/Migrations.json @@ -0,0 +1,1925 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "inputs": [], + "name": "last_completed_migration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/Migrations.sol\":{\"keccak256\":\"0x7eaedbb1a3e4e0f585d9063393872f88ded247ca3c3c3c8492ea18e7629a6411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3eb571cee910095df65a06a1c1d3f89187c72a3c184ef87a7538d9aa39ad07\",\"dweb:/ipfs/QmdqR3vrSSGR49qFGZr49Mb39z7dgD6tSzEDoaqtM31o61\"]}},\"version\":1}", + "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005057600080fd5b50610327806100606000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd57614610082575b600080fd5b61004e61009e565b60405161005b9190610179565b60405180910390f35b61006c6100a4565b60405161007991906101d5565b60405180910390f35b61009c60048036038101906100979190610221565b6100c8565b005b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014d906102d1565b60405180910390fd5b8060018190555050565b6000819050919050565b61017381610160565b82525050565b600060208201905061018e600083018461016a565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101bf82610194565b9050919050565b6101cf816101b4565b82525050565b60006020820190506101ea60008301846101c6565b92915050565b600080fd5b6101fe81610160565b811461020957600080fd5b50565b60008135905061021b816101f5565b92915050565b600060208284031215610237576102366101f0565b5b60006102458482850161020c565b91505092915050565b600082825260208201905092915050565b7f546869732066756e6374696f6e206973207265737472696374656420746f207460008201527f686520636f6e74726163742773206f776e657200000000000000000000000000602082015250565b60006102bb60338361024e565b91506102c68261025f565b604082019050919050565b600060208201905081810360008301526102ea816102ae565b905091905056fea26469706673582212205dca1aff29d0fbb145975f8cd99149315d3897703086ca83bf94fcd2c4fefd0e64736f6c634300080f0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd57614610082575b600080fd5b61004e61009e565b60405161005b9190610179565b60405180910390f35b61006c6100a4565b60405161007991906101d5565b60405180910390f35b61009c60048036038101906100979190610221565b6100c8565b005b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014d906102d1565b60405180910390fd5b8060018190555050565b6000819050919050565b61017381610160565b82525050565b600060208201905061018e600083018461016a565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101bf82610194565b9050919050565b6101cf816101b4565b82525050565b60006020820190506101ea60008301846101c6565b92915050565b600080fd5b6101fe81610160565b811461020957600080fd5b50565b60008135905061021b816101f5565b92915050565b600060208284031215610237576102366101f0565b5b60006102458482850161020c565b91505092915050565b600082825260208201905092915050565b7f546869732066756e6374696f6e206973207265737472696374656420746f207460008201527f686520636f6e74726163742773206f776e657200000000000000000000000000602082015250565b60006102bb60338361024e565b91506102c68261025f565b604082019050919050565b600060208201905081810360008301526102ea816102ae565b905091905056fea26469706673582212205dca1aff29d0fbb145975f8cd99149315d3897703086ca83bf94fcd2c4fefd0e64736f6c634300080f0033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:3176:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "52:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "62:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "73:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "62:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "34:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "44:7:2", + "type": "" + } + ], + "src": "7:77:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "155:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "172:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "195:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "177:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "177:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "165:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "165:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "165:37:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "143:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "150:3:2", + "type": "" + } + ], + "src": "90:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "312:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "322:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "334:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "345:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "330:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "330:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "322:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "402:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "415:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "426:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "411:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "411:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "358:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "358:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "358:71:2" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "284:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "296:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "307:4:2", + "type": "" + } + ], + "src": "214:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "487:81:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "497:65:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "512:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "519:42:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "508:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "508:54:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "497:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "469:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "479:7:2", + "type": "" + } + ], + "src": "442:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "619:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "629:35:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "658:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "640:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "640:24:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "629:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "601:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "611:7:2", + "type": "" + } + ], + "src": "574:96:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "741:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "758:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "781:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "763:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "763:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "751:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "751:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "751:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "729:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "736:3:2", + "type": "" + } + ], + "src": "676:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "898:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "908:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "920:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "931:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "916:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "916:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "908:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "988:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1001:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1012:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "997:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "997:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "944:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "944:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "944:71:2" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "870:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "882:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "893:4:2", + "type": "" + } + ], + "src": "800:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1068:35:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1078:19:2", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1094:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1088:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "1088:9:2" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1078:6:2" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1061:6:2", + "type": "" + } + ], + "src": "1028:75:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1198:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1215:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1218:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1208:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1208:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1208:12:2" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "1109:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1321:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1338:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1341:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1331:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1331:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1331:12:2" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "1232:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1398:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1455:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1464:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1467:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1457:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1457:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1457:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1421:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1446:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1428:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "1428:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1418:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "1418:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1411:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1411:43:2" + }, + "nodeType": "YulIf", + "src": "1408:63:2" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1391:5:2", + "type": "" + } + ], + "src": "1355:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1535:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1545:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1567:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1554:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "1554:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1545:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1610:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1583:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "1583:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1583:33:2" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1513:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1521:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1529:5:2", + "type": "" + } + ], + "src": "1483:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1694:263:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1740:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "1742:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "1742:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1742:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1715:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1724:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1711:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1711:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1736:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1707:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1707:32:2" + }, + "nodeType": "YulIf", + "src": "1704:119:2" + }, + { + "nodeType": "YulBlock", + "src": "1833:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1848:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1862:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1852:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1877:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1912:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1923:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1908:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1908:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1932:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1887:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1887:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1877:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1664:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1675:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1687:6:2", + "type": "" + } + ], + "src": "1628:329:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2059:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2076:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2081:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2069:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2069:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2069:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "2097:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2116:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2121:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2112:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2112:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "2097:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2031:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2036:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "2047:11:2", + "type": "" + } + ], + "src": "1963:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2244:132:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2266:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2274:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2262:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2262:14:2" + }, + { + "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2278:34:2", + "type": "", + "value": "This function is restricted to t" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2255:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2255:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2255:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2334:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2342:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2330:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2330:15:2" + }, + { + "hexValue": "686520636f6e74726163742773206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2347:21:2", + "type": "", + "value": "he contract's owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2323:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2323:46:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2323:46:2" + } + ] + }, + "name": "store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2236:6:2", + "type": "" + } + ], + "src": "2138:238:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2528:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2538:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2604:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2609:2:2", + "type": "", + "value": "51" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2545:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "2545:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2538:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2710:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", + "nodeType": "YulIdentifier", + "src": "2621:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "2621:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2621:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "2723:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2734:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2739:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2730:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2730:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2723:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2516:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2524:3:2", + "type": "" + } + ], + "src": "2382:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2925:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2935:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2947:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2958:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2943:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2943:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2935:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2982:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2993:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2978:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2978:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3001:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3007:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2997:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2997:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2971:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2971:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2971:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "3027:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3161:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3035:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "3035:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3027:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2905:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2920:4:2", + "type": "" + } + ], + "src": "2754:419:2" + } + ] + }, + "contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 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 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 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 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 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 store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1(memPtr) {\n\n mstore(add(memPtr, 0), \"This function is restricted to t\")\n\n mstore(add(memPtr, 32), \"he contract's owner\")\n\n }\n\n function abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 51)\n store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__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_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 2, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "66:352:0:-:0;;;113:10;90:33;;;;;;;;;;;;;;;;;;;;66:352;;;;;;;;;;;;;;;;", + "deployedSourceMap": "66:352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;127:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;90:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;313:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;127:36;;;;:::o;90:33::-;;;;;;;;;;;;:::o;313:103::-;225:5;;;;;;;;;;211:19;;:10;:19;;;196:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;402:9:::1;375:24;:36;;;;313:103:::0;:::o;7:77:2:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:126::-;479:7;519:42;512:5;508:54;497:65;;442:126;;;:::o;574:96::-;611:7;640:24;658:5;640:24;:::i;:::-;629:35;;574:96;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o;1109:117::-;1218:1;1215;1208:12;1355:122;1428:24;1446:5;1428:24;:::i;:::-;1421:5;1418:35;1408:63;;1467:1;1464;1457:12;1408:63;1355:122;:::o;1483:139::-;1529:5;1567:6;1554:20;1545:29;;1583:33;1610:5;1583:33;:::i;:::-;1483:139;;;;:::o;1628:329::-;1687:6;1736:2;1724:9;1715:7;1711:23;1707:32;1704:119;;;1742:79;;:::i;:::-;1704:119;1862:1;1887:53;1932:7;1923:6;1912:9;1908:22;1887:53;:::i;:::-;1877:63;;1833:117;1628:329;;;;:::o;1963:169::-;2047:11;2081:6;2076:3;2069:19;2121:4;2116:3;2112:14;2097:29;;1963:169;;;;:::o;2138:238::-;2278:34;2274:1;2266:6;2262:14;2255:58;2347:21;2342:2;2334:6;2330:15;2323:46;2138:238;:::o;2382:366::-;2524:3;2545:67;2609:2;2604:3;2545:67;:::i;:::-;2538:74;;2621:93;2710:3;2621:93;:::i;:::-;2739:2;2734:3;2730:12;2723:19;;2382:366;;;:::o;2754:419::-;2920:4;2958:2;2947:9;2943:18;2935:26;;3007:9;3001:4;2997:20;2993:1;2982:9;2978:17;2971:47;3035:131;3161:4;3035:131;:::i;:::-;3027:139;;2754:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint public last_completed_migration;\n\n modifier restricted() {\n require(\n msg.sender == owner,\n \"This function is restricted to the contract's owner\"\n );\n _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", + "sourcePath": "C:\\Users\\ahmedbadr\\Desktop\\Back-end\\contracts\\Migrations.sol", + "ast": { + "absolutePath": "project:/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 32 + ] + }, + "id": 33, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.4", + ".22", + "<", + "0.9", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:32:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Migrations", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 32, + "linearizedBaseContracts": [ + 32 + ], + "name": "Migrations", + "nameLocation": "75:10:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 5, + "mutability": "mutable", + "name": "owner", + "nameLocation": "105:5:0", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "90:33:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "90:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "expression": { + "id": 3, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "113:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "113:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "445df0ac", + "id": 7, + "mutability": "mutable", + "name": "last_completed_migration", + "nameLocation": "139:24:0", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "127:36:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "127:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 18, + "nodeType": "Block", + "src": "190:119:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 13, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 10, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "211:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "211:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 12, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "225:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "211:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", + "id": 14, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "238:53:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", + "typeString": "literal_string \"This function is restricted to the contract's owner\"" + }, + "value": "This function is restricted to the contract's owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", + "typeString": "literal_string \"This function is restricted to the contract's owner\"" + } + ], + "id": 9, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "196:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 15, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "196:101:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16, + "nodeType": "ExpressionStatement", + "src": "196:101:0" + }, + { + "id": 17, + "nodeType": "PlaceholderStatement", + "src": "303:1:0" + } + ] + }, + "id": 19, + "name": "restricted", + "nameLocation": "177:10:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [], + "src": "187:2:0" + }, + "src": "168:141:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 30, + "nodeType": "Block", + "src": "369:47:0", + "statements": [ + { + "expression": { + "id": 28, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "375:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 27, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "402:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "375:36:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29, + "nodeType": "ExpressionStatement", + "src": "375:36:0" + } + ] + }, + "functionSelector": "fdacd576", + "id": 31, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 24, + "kind": "modifierInvocation", + "modifierName": { + "id": 23, + "name": "restricted", + "nodeType": "IdentifierPath", + "referencedDeclaration": 19, + "src": "358:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "358:10:0" + } + ], + "name": "setCompleted", + "nameLocation": "322:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "completed", + "nameLocation": "340:9:0", + "nodeType": "VariableDeclaration", + "scope": 31, + "src": "335:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "335:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "334:16:0" + }, + "returnParameters": { + "id": 25, + "nodeType": "ParameterList", + "parameters": [], + "src": "369:0:0" + }, + "scope": 32, + "src": "313:103:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 33, + "src": "66:352:0", + "usedErrors": [] + } + ], + "src": "32:387:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.15+commit.e14f2714.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.7", + "updatedAt": "2022-06-16T13:47:22.306Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/VehicleSystem.json b/build/contracts/VehicleSystem.json new file mode 100644 index 00000000..ddf44c46 --- /dev/null +++ b/build/contracts/VehicleSystem.json @@ -0,0 +1,46832 @@ +{ + "contractName": "VehicleSystem", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ban_sale_requests", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "enum VehicleSystem.State", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "banks", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "bank_name", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "licenses", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "expire_at", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "licenses_requests", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "enum VehicleSystem.LicenseRequestType", + "name": "license_request_type", + "type": "uint8" + }, + { + "internalType": "enum VehicleSystem.State", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "manufactures", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "manufacture_name", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "traffic_violations", + "outputs": [ + { + "internalType": "uint256", + "name": "vehicle_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "violation_description", + "type": "string" + }, + { + "internalType": "string", + "name": "violation_type", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "users", + "outputs": [ + { + "internalType": "address", + "name": "user_address", + "type": "address" + }, + { + "internalType": "string", + "name": "user_name", + "type": "string" + }, + { + "internalType": "string", + "name": "user_email", + "type": "string" + }, + { + "internalType": "string", + "name": "user_password", + "type": "string" + }, + { + "internalType": "string", + "name": "user_phone", + "type": "string" + }, + { + "internalType": "string", + "name": "user_national_id", + "type": "string" + }, + { + "internalType": "enum VehicleSystem.Role", + "name": "role", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vehicles", + "outputs": [ + { + "internalType": "string", + "name": "vehicle_name", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_type", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_model", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_motor_number", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_chase_number", + "type": "string" + }, + { + "internalType": "uint256", + "name": "vehicle_manufacture_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "vehicle_color", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_production_Year", + "type": "string" + }, + { + "internalType": "bool", + "name": "isBlocked", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user_address", + "type": "address" + }, + { + "internalType": "string", + "name": "_user_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_user_email", + "type": "string" + }, + { + "internalType": "string", + "name": "_user_phone", + "type": "string" + }, + { + "internalType": "string", + "name": "_user_password", + "type": "string" + }, + { + "internalType": "string", + "name": "_user_national_id", + "type": "string" + }, + { + "internalType": "enum VehicleSystem.Role", + "name": "role", + "type": "uint8" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_user_email", + "type": "string" + }, + { + "internalType": "string", + "name": "_user_password", + "type": "string" + } + ], + "name": "login", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + } + ], + "name": "get_user", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user_address", + "type": "address" + }, + { + "internalType": "string", + "name": "user_name", + "type": "string" + }, + { + "internalType": "string", + "name": "user_email", + "type": "string" + }, + { + "internalType": "string", + "name": "user_password", + "type": "string" + }, + { + "internalType": "string", + "name": "user_phone", + "type": "string" + }, + { + "internalType": "string", + "name": "user_national_id", + "type": "string" + }, + { + "internalType": "enum VehicleSystem.Role", + "name": "role", + "type": "uint8" + } + ], + "internalType": "struct VehicleSystem.user", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user_address", + "type": "address" + } + ], + "name": "get_user_id_with_address", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_user_phone", + "type": "string" + }, + { + "internalType": "string", + "name": "_user_password", + "type": "string" + } + ], + "name": "edit_user", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "get_users", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user_address", + "type": "address" + }, + { + "internalType": "string", + "name": "user_name", + "type": "string" + }, + { + "internalType": "string", + "name": "user_email", + "type": "string" + }, + { + "internalType": "string", + "name": "user_password", + "type": "string" + }, + { + "internalType": "string", + "name": "user_phone", + "type": "string" + }, + { + "internalType": "string", + "name": "user_national_id", + "type": "string" + }, + { + "internalType": "enum VehicleSystem.Role", + "name": "role", + "type": "uint8" + } + ], + "internalType": "struct VehicleSystem.user[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "users_length", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_manufacture_name", + "type": "string" + } + ], + "name": "add_manufacture", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_manufacture_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_manufacture_name", + "type": "string" + } + ], + "name": "edit_manufacture", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "get_manufactures", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "manufacture_name", + "type": "string" + } + ], + "internalType": "struct VehicleSystem.manufacture[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "manufactures_length", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "add_bank", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bank_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "edit_bank", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bank_id", + "type": "uint256" + } + ], + "name": "get_bank", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "bank_name", + "type": "string" + } + ], + "internalType": "struct VehicleSystem.bank", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "get_banks", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "bank_name", + "type": "string" + } + ], + "internalType": "struct VehicleSystem.bank[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "banks_length", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_manufacture_user_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_vehicle_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_vehicle_type", + "type": "string" + }, + { + "internalType": "string", + "name": "_vehicle_model", + "type": "string" + }, + { + "internalType": "string", + "name": "_vehicle_motor_number", + "type": "string" + }, + { + "internalType": "string", + "name": "_vehicle_chase_number", + "type": "string" + }, + { + "internalType": "string", + "name": "_vehicle_color", + "type": "string" + }, + { + "internalType": "string", + "name": "_vehicle_production_Year", + "type": "string" + }, + { + "internalType": "bool", + "name": "_isBlocked", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "_owner_id", + "type": "uint256" + } + ], + "name": "add_vehicle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vehicle_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_owner_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_vehicle_color", + "type": "string" + } + ], + "name": "edit_vehicle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vehicle_id", + "type": "uint256" + } + ], + "name": "get_vehicle", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "vehicle_name", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_type", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_model", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_motor_number", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_chase_number", + "type": "string" + }, + { + "internalType": "uint256", + "name": "vehicle_manufacture_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "vehicle_color", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_production_Year", + "type": "string" + }, + { + "internalType": "bool", + "name": "isBlocked", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + } + ], + "internalType": "struct VehicleSystem.vehicle", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "get_vehicles", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "vehicle_name", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_type", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_model", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_motor_number", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_chase_number", + "type": "string" + }, + { + "internalType": "uint256", + "name": "vehicle_manufacture_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "vehicle_color", + "type": "string" + }, + { + "internalType": "string", + "name": "vehicle_production_Year", + "type": "string" + }, + { + "internalType": "bool", + "name": "isBlocked", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + } + ], + "internalType": "struct VehicleSystem.vehicle[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "vehicles_length", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "add_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "edit_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "request_to_renewal_licence", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "request_to_first_time_licence", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "accept_to_request_first_time_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "reject_to_request_first_time_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vehicle_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_vio_type", + "type": "string" + }, + { + "internalType": "string", + "name": "_vio_des", + "type": "string" + } + ], + "name": "add_traffic_violation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vio_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_vio_type", + "type": "string" + }, + { + "internalType": "string", + "name": "_vio_des", + "type": "string" + } + ], + "name": "edit_traffic_violation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "request_to_remove_ban_sale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ban_sale_request_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + } + ], + "name": "accept_to_request_renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "accept_to_request_renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ban_sale_request_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + } + ], + "name": "reject_to_request_renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "reject_to_request_renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "get_traffic_violations", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "vehicle_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "violation_description", + "type": "string" + }, + { + "internalType": "string", + "name": "violation_type", + "type": "string" + } + ], + "internalType": "struct VehicleSystem.traffic_violation[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "get_licenses", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "expire_at", + "type": "string" + } + ], + "internalType": "struct VehicleSystem.license[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "traffic_violations_length", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "licenses_length", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "a", + "type": "address" + }, + { + "internalType": "address", + "name": "b", + "type": "address" + } + ], + "name": "compareAddress", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "name": "compareUint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "string", + "name": "a", + "type": "string" + }, + { + "internalType": "string", + "name": "b", + "type": "string" + } + ], + "name": "compareStrings", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"accept_to_request_first_time_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_ban_sale_request_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"}],\"name\":\"accept_to_request_renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"accept_to_request_renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"add_bank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"add_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_manufacture_name\",\"type\":\"string\"}],\"name\":\"add_manufacture\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_vehicle_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_vio_type\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vio_des\",\"type\":\"string\"}],\"name\":\"add_traffic_violation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_manufacture_user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_vehicle_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vehicle_type\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vehicle_model\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vehicle_motor_number\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vehicle_chase_number\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vehicle_color\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vehicle_production_Year\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isBlocked\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_owner_id\",\"type\":\"uint256\"}],\"name\":\"add_vehicle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ban_sale_requests\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"enum VehicleSystem.State\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"banks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"bank_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"banks_length\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"b\",\"type\":\"address\"}],\"name\":\"compareAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"a\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"b\",\"type\":\"string\"}],\"name\":\"compareStrings\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"compareUint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_bank_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"edit_bank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"edit_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_manufacture_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_manufacture_name\",\"type\":\"string\"}],\"name\":\"edit_manufacture\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_vio_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_vio_type\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_vio_des\",\"type\":\"string\"}],\"name\":\"edit_traffic_violation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_user_phone\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_user_password\",\"type\":\"string\"}],\"name\":\"edit_user\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_vehicle_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_owner_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_vehicle_color\",\"type\":\"string\"}],\"name\":\"edit_vehicle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_bank_id\",\"type\":\"uint256\"}],\"name\":\"get_bank\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"bank_name\",\"type\":\"string\"}],\"internalType\":\"struct VehicleSystem.bank\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_banks\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"bank_name\",\"type\":\"string\"}],\"internalType\":\"struct VehicleSystem.bank[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_licenses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"expire_at\",\"type\":\"string\"}],\"internalType\":\"struct VehicleSystem.license[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_manufactures\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"manufacture_name\",\"type\":\"string\"}],\"internalType\":\"struct VehicleSystem.manufacture[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_traffic_violations\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"vehicle_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"violation_description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"violation_type\",\"type\":\"string\"}],\"internalType\":\"struct VehicleSystem.traffic_violation[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"}],\"name\":\"get_user\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"user_address\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"user_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_email\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_password\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_phone\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_national_id\",\"type\":\"string\"},{\"internalType\":\"enum VehicleSystem.Role\",\"name\":\"role\",\"type\":\"uint8\"}],\"internalType\":\"struct VehicleSystem.user\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user_address\",\"type\":\"address\"}],\"name\":\"get_user_id_with_address\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_users\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"user_address\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"user_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_email\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_password\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_phone\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_national_id\",\"type\":\"string\"},{\"internalType\":\"enum VehicleSystem.Role\",\"name\":\"role\",\"type\":\"uint8\"}],\"internalType\":\"struct VehicleSystem.user[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_vehicle_id\",\"type\":\"uint256\"}],\"name\":\"get_vehicle\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"vehicle_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_type\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_model\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_motor_number\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_chase_number\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"vehicle_manufacture_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"vehicle_color\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_production_Year\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isBlocked\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"}],\"internalType\":\"struct VehicleSystem.vehicle\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_vehicles\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"vehicle_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_type\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_model\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_motor_number\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_chase_number\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"vehicle_manufacture_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"vehicle_color\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_production_Year\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isBlocked\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"}],\"internalType\":\"struct VehicleSystem.vehicle[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"licenses\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"expire_at\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"licenses_length\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"licenses_requests\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"enum VehicleSystem.LicenseRequestType\",\"name\":\"license_request_type\",\"type\":\"uint8\"},{\"internalType\":\"enum VehicleSystem.State\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_user_email\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_user_password\",\"type\":\"string\"}],\"name\":\"login\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"manufactures\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"manufacture_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"manufactures_length\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user_address\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_user_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_user_email\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_user_phone\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_user_password\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_user_national_id\",\"type\":\"string\"},{\"internalType\":\"enum VehicleSystem.Role\",\"name\":\"role\",\"type\":\"uint8\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"reject_to_request_first_time_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_ban_sale_request_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"}],\"name\":\"reject_to_request_renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"reject_to_request_renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"request_to_first_time_licence\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"request_to_remove_ban_sale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"request_to_renewal_licence\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"traffic_violations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"vehicle_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"violation_description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"violation_type\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"traffic_violations_length\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"users\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"user_address\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"user_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_email\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_password\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_phone\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"user_national_id\",\"type\":\"string\"},{\"internalType\":\"enum VehicleSystem.Role\",\"name\":\"role\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"users_length\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"vehicles\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"vehicle_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_type\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_model\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_motor_number\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_chase_number\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"vehicle_manufacture_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"vehicle_color\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"vehicle_production_Year\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isBlocked\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vehicles_length\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/VehicleSystem.sol\":\"VehicleSystem\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/VehicleSystem.sol\":{\"keccak256\":\"0x709fe14723640dad48368f94109b8b7409f92b8b8ffec174b73a51e09f41a568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b67d46a768845fe258d169ddd2d7bf4af47c9015e3668d82a23b83d0f36ffe\",\"dweb:/ipfs/QmX9sgjq6YbzD4cberaNNSNawPp9JnTtyL8b4pV5RTpF6t\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50615e4e80620000216000396000f3fe608060405234801561001057600080fd5b50600436106102d45760003560e01c8063700a610211610182578063b20d4d5b116100e9578063cb7fdbaa116100a2578063ed66aa1b1161007c578063ed66aa1b14610965578063f2611dc014610983578063f5701cfe146109b3578063f8ad77d6146109cf576102d4565b8063cb7fdbaa146108fd578063e19507e814610919578063e6b5934614610949576102d4565b8063b20d4d5b1461080a578063b4e74eb814610828578063b72d755c14610858578063b8ba95fa14610876578063bed34bba146108af578063c55cbaec146108df576102d4565b806390e8fc911161013b57806390e8fc911461073557806395a2b0fb1461075157806395e885c01461076f5780639d2acad71461079f578063aabab964146107bb578063b0a951c2146107ec576102d4565b8063700a6102146106615780637cea8a331461069157806384abf683146106af5780638839d3f1146106cb5780638859c8b1146106e75780638c6ba8fc14610717576102d4565b80633379084511610241578063451d6716116101fa57806358467dbc116101d457806358467dbc146105c757806364787341146105f75780636b62b9d1146106295780636e29015814610645576102d4565b8063451d67161461055a5780635367cb5614610578578063565d52bf146105ab576102d4565b8063337908451461046c578063365b98b21461049e5780634079a6c0146104d457806340b250f9146104f05780634188473614610520578063446ca94c1461053c576102d4565b8063167f119811610293578063167f1198146103c25780631f0a3fa5146103e05780632ca052ce146103fc5780632e001d74146104185780632e0ba53e146104345780633058297814610450576102d4565b80627d43cd146102d957806285ae2b146102f557806306a6b5d914610326578063086ae1cf146103585780630937e7411461037457806309fbc50f14610392575b600080fd5b6102f360048036038101906102ee9190614207565b6109eb565b005b61030f600480360381019061030a9190614247565b610a4d565b60405161031d92919061431c565b60405180910390f35b610340600480360381019061033b9190614247565b610b09565b60405161034f939291906143c3565b60405180910390f35b610372600480360381019061036d9190614207565b610b50565b005b61037c610c41565b60405161038991906143fa565b60405180910390f35b6103ac60048036038101906103a79190614247565b610c4e565b6040516103b991906144ab565b60405180910390f35b6103ca610d26565b6040516103d791906143fa565b60405180910390f35b6103fa60048036038101906103f59190614602565b610d33565b005b61041660048036038101906104119190614671565b610db0565b005b610432600480360381019061042d91906146c4565b610ed5565b005b61044e600480360381019061044991906146c4565b610f0c565b005b61046a600480360381019061046591906146c4565b6110d4565b005b61048660048036038101906104819190614247565b611140565b60405161049593929190614720565b60405180910390f35b6104b860048036038101906104b39190614247565b611202565b6040516104cb97969594939291906147e7565b60405180910390f35b6104ee60048036038101906104e991906146c4565b611529565b005b61050a600480360381019061050591906148a5565b6116f1565b60405161051791906148eb565b60405180910390f35b61053a600480360381019061053591906146c4565b6117a0565b005b61054461180c565b6040516105519190614a05565b60405180910390f35b610562611907565b60405161056f91906143fa565b60405180910390f35b610592600480360381019061058d9190614247565b611914565b6040516105a29493929190614a6f565b60405180910390f35b6105c560048036038101906105c09190614602565b61196e565b005b6105e160048036038101906105dc9190614ab4565b611a04565b6040516105ee91906148eb565b60405180910390f35b610611600480360381019061060c9190614247565b611be7565b60405161062093929190614b2c565b60405180910390f35b610643600480360381019061063e9190614207565b611d31565b005b61065f600480360381019061065a9190614602565b611dd9565b005b61067b60048036038101906106769190614247565b611e6f565b6040516106889190614c90565b60405180910390f35b6106996122d9565b6040516106a69190614dcb565b60405180910390f35b6106c960048036038101906106c49190614e19565b612466565b005b6106e560048036038101906106e09190614207565b6125bd565b005b61070160048036038101906106fc9190614fbc565b612681565b60405161070e9190615056565b60405180910390f35b61071f612735565b60405161072c91906143fa565b60405180910390f35b61074f600480360381019061074a9190614602565b612742565b005b6107596127fc565b60405161076691906143fa565b60405180910390f35b61078960048036038101906107849190615071565b612809565b6040516107969190615056565b60405180910390f35b6107b960048036038101906107b49190614207565b612862565b005b6107d560048036038101906107d09190614247565b612926565b6040516107e392919061431c565b60405180910390f35b6107f46129e2565b60405161080191906151c3565b60405180910390f35b610812612ae7565b60405161081f91906143fa565b60405180910390f35b610842600480360381019061083d9190614207565b612af3565b60405161084f9190615056565b60405180910390f35b610860612b4c565b60405161086d91906152e4565b60405180910390f35b610890600480360381019061088b9190614247565b612c47565b6040516108a69a99989796959493929190615306565b60405180910390f35b6108c960048036038101906108c49190614ab4565b613070565b6040516108d69190615056565b60405180910390f35b6108e76130c9565b6040516108f49190615599565b60405180910390f35b610917600480360381019061091291906146c4565b613556565b005b610933600480360381019061092e9190614247565b6135c7565b6040516109409190615691565b60405180910390f35b610963600480360381019061095e9190614fbc565b61396e565b005b61096d613a0d565b60405161097a919061582d565b60405180910390f35b61099d60048036038101906109989190615874565b613dd7565b6040516109aa9190615056565b60405180910390f35b6109cd60048036038101906109c89190614602565b613f5a565b005b6109e960048036038101906109e49190614fbc565b614014565b005b60005b600580549050811015610a4857610a058184612af3565b15610a35578160058281548110610a1f57610a1e6159a2565b5b9060005260206000209060030201600001819055505b8080610a4090615a00565b9150506109ee565b505050565b60018181548110610a5d57600080fd5b9060005260206000209060020201600091509050806000015490806001018054610a8690615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab290615a77565b8015610aff5780601f10610ad457610100808354040283529160200191610aff565b820191906000526020600020905b815481529060010190602001808311610ae257829003601f168201915b5050505050905082565b60078181548110610b1957600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b6000604051806080016040528083815260200184815260200160006001811115610b7d57610b7c61434c565b5b8152602001600280811115610b9557610b9461434c565b5b81525090506006819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115610c0557610c0461434c565b5b021790555060608201518160020160016101000a81548160ff02191690836002811115610c3557610c3461434c565b5b02179055505050505050565b6000600380549050905090565b610c5661409d565b60018281548110610c6a57610c696159a2565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182018054610c9d90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc990615a77565b8015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b5050505050815250509050919050565b6000600580549050905090565b60006040518060600160405280858152602001848152602001838152509050600581908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000155602082015181600101556040820151816002019081610da79190615c54565b50505050505050565b60005b600580549050811015610ecf57610dca8185612af3565b15610ebc5760006040518060800160405280848152602001858152602001600180811115610dfb57610dfa61434c565b5b8152602001600280811115610e1357610e1261434c565b5b81525090506006819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115610e8357610e8261434c565b5b021790555060608201518160020160016101000a81548160ff02191690836002811115610eb357610eb261434c565b5b02179055505050505b8080610ec790615a00565b915050610db3565b50505050565b8060058381548110610eea57610ee96159a2565b5b90600052602060002090600302016002019081610f079190615c54565b505050565b610f146140b7565b60005b60068054905081101561104e57610f2e8185612af3565b1561103b5760068181548110610f4757610f466159a2565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff166001811115610f9957610f9861434c565b5b6001811115610fab57610faa61434c565b5b81526020016002820160019054906101000a900460ff166002811115610fd457610fd361434c565b5b6002811115610fe657610fe561434c565b5b815250509150600060068281548110611002576110016159a2565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156110355761103461434c565b5b02179055505b808061104690615a00565b915050610f17565b506000604051806060016040528083600001518152602001836020015181526020018481525090506005819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816110cb9190615c54565b50505050505050565b6000604051806040016040528084815260200183815250905060008190806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190816111389190615c54565b505050505050565b6005818154811061115057600080fd5b906000526020600020906003020160009150905080600001549080600101549080600201805461117f90615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546111ab90615a77565b80156111f85780601f106111cd576101008083540402835291602001916111f8565b820191906000526020600020905b8154815290600101906020018083116111db57829003601f168201915b5050505050905083565b6003818154811061121257600080fd5b90600052602060002090600702016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101805461125b90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461128790615a77565b80156112d45780601f106112a9576101008083540402835291602001916112d4565b820191906000526020600020905b8154815290600101906020018083116112b757829003601f168201915b5050505050908060020180546112e990615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461131590615a77565b80156113625780601f1061133757610100808354040283529160200191611362565b820191906000526020600020905b81548152906001019060200180831161134557829003601f168201915b50505050509080600301805461137790615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546113a390615a77565b80156113f05780601f106113c5576101008083540402835291602001916113f0565b820191906000526020600020905b8154815290600101906020018083116113d357829003601f168201915b50505050509080600401805461140590615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461143190615a77565b801561147e5780601f106114535761010080835404028352916020019161147e565b820191906000526020600020905b81548152906001019060200180831161146157829003601f168201915b50505050509080600501805461149390615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546114bf90615a77565b801561150c5780601f106114e15761010080835404028352916020019161150c565b820191906000526020600020905b8154815290600101906020018083116114ef57829003601f168201915b5050505050908060060160009054906101000a900460ff16905087565b6115316140b7565b60005b60068054905081101561166b5761154b8185612af3565b156116585760068181548110611564576115636159a2565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff1660018111156115b6576115b561434c565b5b60018111156115c8576115c761434c565b5b81526020016002820160019054906101000a900460ff1660028111156115f1576115f061434c565b5b60028111156116035761160261434c565b5b81525050915060016006828154811061161f5761161e6159a2565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156116525761165161434c565b5b02179055505b808061166390615a00565b915050611534565b506000604051806060016040528083600001518152602001836020015181526020018481525090506005819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816116e89190615c54565b50505050505050565b600080600090505b60038054905081101561177657611755836003838154811061171e5761171d6159a2565b5b906000526020600020906007020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612809565b15611763578091505061179b565b808061176e90615a00565b9150506116f9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505b919050565b6000604051806040016040528084815260200183815250905060018190806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190816118049190615c54565b505050505050565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156118fe57838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461186d90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461189990615a77565b80156118e65780601f106118bb576101008083540402835291602001916118e6565b820191906000526020600020905b8154815290600101906020018083116118c957829003601f168201915b50505050508152505081526020019060010190611830565b50505050905090565b6000600480549050905090565b6006818154811061192457600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60005b6002805490508110156119fe576119888482612af3565b156119eb5781600282815481106119a2576119a16159a2565b5b90600052602060002090600a020160060190816119bf9190615c54565b5082600282815481106119d5576119d46159a2565b5b90600052602060002090600a0201600901819055505b80806119f690615a00565b915050611971565b50505050565b600080600090505b600380549050811015611bbc57600060038281548110611a2f57611a2e6159a2565b5b90600052602060002090600702016002018054611a4b90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611a7790615a77565b8015611ac45780601f10611a9957610100808354040283529160200191611ac4565b820191906000526020600020905b815481529060010190602001808311611aa757829003601f168201915b50505050509050600060038381548110611ae157611ae06159a2565b5b90600052602060002090600702016003018054611afd90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2990615a77565b8015611b765780601f10611b4b57610100808354040283529160200191611b76565b820191906000526020600020905b815481529060010190602001808311611b5957829003601f168201915b50505050509050611b878287613070565b15611ba757611b968186613070565b15611ba657829350505050611be1565b5b50508080611bb490615a00565b915050611a0c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505b92915050565b60048181548110611bf757600080fd5b9060005260206000209060030201600091509050806000015490806001018054611c2090615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4c90615a77565b8015611c995780601f10611c6e57610100808354040283529160200191611c99565b820191906000526020600020905b815481529060010190602001808311611c7c57829003601f168201915b505050505090806002018054611cae90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611cda90615a77565b8015611d275780601f10611cfc57610100808354040283529160200191611d27565b820191906000526020600020905b815481529060010190602001808311611d0a57829003601f168201915b5050505050905083565b60006040518060600160405280838152602001848152602001600280811115611d5d57611d5c61434c565b5b81525090506007819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836002811115611dcd57611dcc61434c565b5b02179055505050505050565b60005b600180549050811015611e6957611df38482612af3565b15611e56578260018281548110611e0d57611e0c6159a2565b5b9060005260206000209060020201600001819055508160018281548110611e3757611e366159a2565b5b90600052602060002090600202016001019081611e549190615c54565b505b8080611e6190615a00565b915050611ddc565b50505050565b611e77614103565b60028281548110611e8b57611e8a6159a2565b5b90600052602060002090600a020160405180610140016040529081600082018054611eb590615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611ee190615a77565b8015611f2e5780601f10611f0357610100808354040283529160200191611f2e565b820191906000526020600020905b815481529060010190602001808311611f1157829003601f168201915b50505050508152602001600182018054611f4790615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7390615a77565b8015611fc05780601f10611f9557610100808354040283529160200191611fc0565b820191906000526020600020905b815481529060010190602001808311611fa357829003601f168201915b50505050508152602001600282018054611fd990615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461200590615a77565b80156120525780601f1061202757610100808354040283529160200191612052565b820191906000526020600020905b81548152906001019060200180831161203557829003601f168201915b5050505050815260200160038201805461206b90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461209790615a77565b80156120e45780601f106120b9576101008083540402835291602001916120e4565b820191906000526020600020905b8154815290600101906020018083116120c757829003601f168201915b505050505081526020016004820180546120fd90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461212990615a77565b80156121765780601f1061214b57610100808354040283529160200191612176565b820191906000526020600020905b81548152906001019060200180831161215957829003601f168201915b505050505081526020016005820154815260200160068201805461219990615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546121c590615a77565b80156122125780601f106121e757610100808354040283529160200191612212565b820191906000526020600020905b8154815290600101906020018083116121f557829003601f168201915b5050505050815260200160078201805461222b90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461225790615a77565b80156122a45780601f10612279576101008083540402835291602001916122a4565b820191906000526020600020905b81548152906001019060200180831161228757829003601f168201915b505050505081526020016008820160009054906101000a900460ff161515151581526020016009820154815250509050919050565b60606004805480602002602001604051908101604052809291908181526020016000905b8282101561245d57838290600052602060002090600302016040518060600160405290816000820154815260200160018201805461233a90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461236690615a77565b80156123b35780601f10612388576101008083540402835291602001916123b3565b820191906000526020600020905b81548152906001019060200180831161239657829003601f168201915b505050505081526020016002820180546123cc90615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546123f890615a77565b80156124455780601f1061241a57610100808354040283529160200191612445565b820191906000526020600020905b81548152906001019060200180831161242857829003601f168201915b505050505081525050815260200190600101906122fd565b50505050905090565b60006040518061014001604052808b81526020018a81526020018981526020018881526020018781526020018c8152602001868152602001858152602001841515815260200183815250905060028190806001815401808255809150506001900390600052602060002090600a020160009091909190915060008201518160000190816124f39190615c54565b5060208201518160010190816125099190615c54565b50604082015181600201908161251f9190615c54565b5060608201518160030190816125359190615c54565b50608082015181600401908161254b9190615c54565b5060a0820151816005015560c082015181600601908161256b9190615c54565b5060e08201518160070190816125819190615c54565b506101008201518160080160006101000a81548160ff021916908315150217905550610120820151816009015550505050505050505050505050565b60005b60078054905081101561263e576125d78184612af3565b1561262b576001600782815481106125f2576125f16159a2565b5b906000526020600020906003020160020160006101000a81548160ff021916908360028111156126255761262461434c565b5b02179055505b808061263690615a00565b9150506125c0565b50600160028281548110612655576126546159a2565b5b90600052602060002090600a020160080160006101000a81548160ff0219169083151502179055505050565b600080600090505b600380549050811015612728576126a08186612af3565b156127155782600382815481106126ba576126b96159a2565b5b906000526020600020906007020160030190816126d79190615c54565b5083600382815481106126ed576126ec6159a2565b5b9060005260206000209060070201600401908161270a9190615c54565b50600191505061272e565b808061272090615a00565b915050612689565b50600090505b9392505050565b6000600180549050905090565b60005b6006805490508110156127c35761275c8185612af3565b156127b057600160068281548110612777576127766159a2565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156127aa576127a961434c565b5b02179055505b80806127bb90615a00565b915050612745565b5080600583815481106127d9576127d86159a2565b5b906000526020600020906003020160020190816127f69190615c54565b50505050565b6000600280549050905090565b60008160405160200161281c9190615d6e565b60405160208183030381529060405280519060200120836040516020016128439190615d6e565b6040516020818303038152906040528051906020012014905092915050565b60005b6007805490508110156128e35761287c8184612af3565b156128d057600060078281548110612897576128966159a2565b5b906000526020600020906003020160020160006101000a81548160ff021916908360028111156128ca576128c961434c565b5b02179055505b80806128db90615a00565b915050612865565b506000600282815481106128fa576128f96159a2565b5b90600052602060002090600a020160080160006101000a81548160ff0219169083151502179055505050565b6000818154811061293657600080fd5b906000526020600020906002020160009150905080600001549080600101805461295f90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461298b90615a77565b80156129d85780601f106129ad576101008083540402835291602001916129d8565b820191906000526020600020905b8154815290600101906020018083116129bb57829003601f168201915b5050505050905082565b60606005805480602002602001604051908101604052809291908181526020016000905b82821015612ade57838290600052602060002090600302016040518060600160405290816000820154815260200160018201548152602001600282018054612a4d90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612a7990615a77565b8015612ac65780601f10612a9b57610100808354040283529160200191612ac6565b820191906000526020600020905b815481529060010190602001808311612aa957829003601f168201915b50505050508152505081526020019060010190612a06565b50505050905090565b60008080549050905090565b600081604051602001612b069190615daa565b6040516020818303038152906040528051906020012083604051602001612b2d9190615daa565b6040516020818303038152906040528051906020012014905092915050565b60606000805480602002602001604051908101604052809291908181526020016000905b82821015612c3e578382906000526020600020906002020160405180604001604052908160008201548152602001600182018054612bad90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612bd990615a77565b8015612c265780601f10612bfb57610100808354040283529160200191612c26565b820191906000526020600020905b815481529060010190602001808311612c0957829003601f168201915b50505050508152505081526020019060010190612b70565b50505050905090565b60028181548110612c5757600080fd5b90600052602060002090600a0201600091509050806000018054612c7a90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612ca690615a77565b8015612cf35780601f10612cc857610100808354040283529160200191612cf3565b820191906000526020600020905b815481529060010190602001808311612cd657829003601f168201915b505050505090806001018054612d0890615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612d3490615a77565b8015612d815780601f10612d5657610100808354040283529160200191612d81565b820191906000526020600020905b815481529060010190602001808311612d6457829003601f168201915b505050505090806002018054612d9690615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612dc290615a77565b8015612e0f5780601f10612de457610100808354040283529160200191612e0f565b820191906000526020600020905b815481529060010190602001808311612df257829003601f168201915b505050505090806003018054612e2490615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612e5090615a77565b8015612e9d5780601f10612e7257610100808354040283529160200191612e9d565b820191906000526020600020905b815481529060010190602001808311612e8057829003601f168201915b505050505090806004018054612eb290615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612ede90615a77565b8015612f2b5780601f10612f0057610100808354040283529160200191612f2b565b820191906000526020600020905b815481529060010190602001808311612f0e57829003601f168201915b505050505090806005015490806006018054612f4690615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612f7290615a77565b8015612fbf5780601f10612f9457610100808354040283529160200191612fbf565b820191906000526020600020905b815481529060010190602001808311612fa257829003601f168201915b505050505090806007018054612fd490615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461300090615a77565b801561304d5780601f106130225761010080835404028352916020019161304d565b820191906000526020600020905b81548152906001019060200180831161303057829003601f168201915b5050505050908060080160009054906101000a900460ff1690806009015490508a565b6000816040516020016130839190615e01565b60405160208183030381529060405280519060200120836040516020016130aa9190615e01565b6040516020818303038152906040528051906020012014905092915050565b60606002805480602002602001604051908101604052809291908181526020016000905b8282101561354d57838290600052602060002090600a02016040518061014001604052908160008201805461312190615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461314d90615a77565b801561319a5780601f1061316f5761010080835404028352916020019161319a565b820191906000526020600020905b81548152906001019060200180831161317d57829003601f168201915b505050505081526020016001820180546131b390615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546131df90615a77565b801561322c5780601f106132015761010080835404028352916020019161322c565b820191906000526020600020905b81548152906001019060200180831161320f57829003601f168201915b5050505050815260200160028201805461324590615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461327190615a77565b80156132be5780601f10613293576101008083540402835291602001916132be565b820191906000526020600020905b8154815290600101906020018083116132a157829003601f168201915b505050505081526020016003820180546132d790615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461330390615a77565b80156133505780601f1061332557610100808354040283529160200191613350565b820191906000526020600020905b81548152906001019060200180831161333357829003601f168201915b5050505050815260200160048201805461336990615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461339590615a77565b80156133e25780601f106133b7576101008083540402835291602001916133e2565b820191906000526020600020905b8154815290600101906020018083116133c557829003601f168201915b505050505081526020016005820154815260200160068201805461340590615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461343190615a77565b801561347e5780601f106134535761010080835404028352916020019161347e565b820191906000526020600020905b81548152906001019060200180831161346157829003601f168201915b5050505050815260200160078201805461349790615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546134c390615a77565b80156135105780601f106134e557610100808354040283529160200191613510565b820191906000526020600020905b8154815290600101906020018083116134f357829003601f168201915b505050505081526020016008820160009054906101000a900460ff16151515158152602001600982015481525050815260200190600101906130ed565b50505050905090565b60005b6000805490508110156135c25760008190506135758185612af3565b156135ae57826000838154811061358f5761358e6159a2565b5b906000526020600020906002020160010190816135ac9190615c54565b505b5080806135ba90615a00565b915050613559565b505050565b6135cf614158565b600382815481106135e3576135e26159a2565b5b90600052602060002090600702016040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805461366290615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461368e90615a77565b80156136db5780601f106136b0576101008083540402835291602001916136db565b820191906000526020600020905b8154815290600101906020018083116136be57829003601f168201915b505050505081526020016002820180546136f490615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461372090615a77565b801561376d5780601f106137425761010080835404028352916020019161376d565b820191906000526020600020905b81548152906001019060200180831161375057829003601f168201915b5050505050815260200160038201805461378690615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546137b290615a77565b80156137ff5780601f106137d4576101008083540402835291602001916137ff565b820191906000526020600020905b8154815290600101906020018083116137e257829003601f168201915b5050505050815260200160048201805461381890615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461384490615a77565b80156138915780601f1061386657610100808354040283529160200191613891565b820191906000526020600020905b81548152906001019060200180831161387457829003601f168201915b505050505081526020016005820180546138aa90615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546138d690615a77565b80156139235780601f106138f857610100808354040283529160200191613923565b820191906000526020600020905b81548152906001019060200180831161390657829003601f168201915b505050505081526020016006820160009054906101000a900460ff1660038111156139515761395061434c565b5b60038111156139635761396261434c565b5b815250509050919050565b60005b600480549050811015613a07576139888185612af3565b156139f45782600482815481106139a2576139a16159a2565b5b906000526020600020906003020160020190816139bf9190615c54565b5081600482815481106139d5576139d46159a2565b5b906000526020600020906003020160010190816139f29190615c54565b505b80806139ff90615a00565b915050613971565b50505050565b60606003805480602002602001604051908101604052809291908181526020016000905b82821015613dce57838290600052602060002090600702016040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054613aba90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613ae690615a77565b8015613b335780601f10613b0857610100808354040283529160200191613b33565b820191906000526020600020905b815481529060010190602001808311613b1657829003601f168201915b50505050508152602001600282018054613b4c90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613b7890615a77565b8015613bc55780601f10613b9a57610100808354040283529160200191613bc5565b820191906000526020600020905b815481529060010190602001808311613ba857829003601f168201915b50505050508152602001600382018054613bde90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613c0a90615a77565b8015613c575780601f10613c2c57610100808354040283529160200191613c57565b820191906000526020600020905b815481529060010190602001808311613c3a57829003601f168201915b50505050508152602001600482018054613c7090615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613c9c90615a77565b8015613ce95780601f10613cbe57610100808354040283529160200191613ce9565b820191906000526020600020905b815481529060010190602001808311613ccc57829003601f168201915b50505050508152602001600582018054613d0290615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613d2e90615a77565b8015613d7b5780601f10613d5057610100808354040283529160200191613d7b565b820191906000526020600020905b815481529060010190602001808311613d5e57829003601f168201915b505050505081526020016006820160009054906101000a900460ff166003811115613da957613da861434c565b5b6003811115613dbb57613dba61434c565b5b8152505081526020019060010190613a31565b50505050905090565b6000806040518060e001604052808a73ffffffffffffffffffffffffffffffffffffffff168152602001898152602001888152602001868152602001878152602001858152602001846003811115613e3257613e3161434c565b5b8152509050600381908060018154018082558091505060019003906000526020600020906007020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081613ebf9190615c54565b506040820151816002019081613ed59190615c54565b506060820151816003019081613eeb9190615c54565b506080820151816004019081613f019190615c54565b5060a0820151816005019081613f179190615c54565b5060c08201518160060160006101000a81548160ff02191690836003811115613f4357613f4261434c565b5b021790555050506001915050979650505050505050565b60005b600680549050811015613fdb57613f748185612af3565b15613fc857600060068281548110613f8f57613f8e6159a2565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115613fc257613fc161434c565b5b02179055505b8080613fd390615a00565b915050613f5d565b508060058381548110613ff157613ff06159a2565b5b9060005260206000209060030201600201908161400e9190615c54565b50505050565b60006040518060600160405280858152602001848152602001838152509050600481908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000155602082015181600101908161407e9190615c54565b5060408201518160020190816140949190615c54565b50505050505050565b604051806040016040528060008152602001606081525090565b60405180608001604052806000815260200160008152602001600060018111156140e4576140e361434c565b5b8152602001600060028111156140fd576140fc61434c565b5b81525090565b6040518061014001604052806060815260200160608152602001606081526020016060815260200160608152602001600081526020016060815260200160608152602001600015158152602001600081525090565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081526020016060815260200160608152602001600060038111156141b7576141b661434c565b5b81525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6141e4816141d1565b81146141ef57600080fd5b50565b600081359050614201816141db565b92915050565b6000806040838503121561421e5761421d6141c7565b5b600061422c858286016141f2565b925050602061423d858286016141f2565b9150509250929050565b60006020828403121561425d5761425c6141c7565b5b600061426b848285016141f2565b91505092915050565b61427d816141d1565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156142bd5780820151818401526020810190506142a2565b838111156142cc576000848401525b50505050565b6000601f19601f8301169050919050565b60006142ee82614283565b6142f8818561428e565b935061430881856020860161429f565b614311816142d2565b840191505092915050565b60006040820190506143316000830185614274565b818103602083015261434381846142e3565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061438c5761438b61434c565b5b50565b600081905061439d8261437b565b919050565b60006143ad8261438f565b9050919050565b6143bd816143a2565b82525050565b60006060820190506143d86000830186614274565b6143e56020830185614274565b6143f260408301846143b4565b949350505050565b600060208201905061440f6000830184614274565b92915050565b61441e816141d1565b82525050565b600082825260208201905092915050565b600061444082614283565b61444a8185614424565b935061445a81856020860161429f565b614463816142d2565b840191505092915050565b60006040830160008301516144866000860182614415565b506020830151848203602086015261449e8282614435565b9150508091505092915050565b600060208201905081810360008301526144c5818461446e565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61450f826142d2565b810181811067ffffffffffffffff8211171561452e5761452d6144d7565b5b80604052505050565b60006145416141bd565b905061454d8282614506565b919050565b600067ffffffffffffffff82111561456d5761456c6144d7565b5b614576826142d2565b9050602081019050919050565b82818337600083830152505050565b60006145a56145a084614552565b614537565b9050828152602081018484840111156145c1576145c06144d2565b5b6145cc848285614583565b509392505050565b600082601f8301126145e9576145e86144cd565b5b81356145f9848260208601614592565b91505092915050565b60008060006060848603121561461b5761461a6141c7565b5b6000614629868287016141f2565b935050602061463a868287016141f2565b925050604084013567ffffffffffffffff81111561465b5761465a6141cc565b5b614667868287016145d4565b9150509250925092565b60008060006060848603121561468a576146896141c7565b5b6000614698868287016141f2565b93505060206146a9868287016141f2565b92505060406146ba868287016141f2565b9150509250925092565b600080604083850312156146db576146da6141c7565b5b60006146e9858286016141f2565b925050602083013567ffffffffffffffff81111561470a576147096141cc565b5b614716858286016145d4565b9150509250929050565b60006060820190506147356000830186614274565b6147426020830185614274565b818103604083015261475481846142e3565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006147898261475e565b9050919050565b6147998161477e565b82525050565b600481106147b0576147af61434c565b5b50565b60008190506147c18261479f565b919050565b60006147d1826147b3565b9050919050565b6147e1816147c6565b82525050565b600060e0820190506147fc600083018a614790565b818103602083015261480e81896142e3565b9050818103604083015261482281886142e3565b9050818103606083015261483681876142e3565b9050818103608083015261484a81866142e3565b905081810360a083015261485e81856142e3565b905061486d60c08301846147d8565b98975050505050505050565b6148828161477e565b811461488d57600080fd5b50565b60008135905061489f81614879565b92915050565b6000602082840312156148bb576148ba6141c7565b5b60006148c984828501614890565b91505092915050565b6000819050919050565b6148e5816148d2565b82525050565b600060208201905061490060008301846148dc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060408301600083015161494a6000860182614415565b50602083015184820360208601526149628282614435565b9150508091505092915050565b600061497b8383614932565b905092915050565b6000602082019050919050565b600061499b82614906565b6149a58185614911565b9350836020820285016149b785614922565b8060005b858110156149f357848403895281516149d4858261496f565b94506149df83614983565b925060208a019950506001810190506149bb565b50829750879550505050505092915050565b60006020820190508181036000830152614a1f8184614990565b905092915050565b60028110614a3857614a3761434c565b5b50565b6000819050614a4982614a27565b919050565b6000614a5982614a3b565b9050919050565b614a6981614a4e565b82525050565b6000608082019050614a846000830187614274565b614a916020830186614274565b614a9e6040830185614a60565b614aab60608301846143b4565b95945050505050565b60008060408385031215614acb57614aca6141c7565b5b600083013567ffffffffffffffff811115614ae957614ae86141cc565b5b614af5858286016145d4565b925050602083013567ffffffffffffffff811115614b1657614b156141cc565b5b614b22858286016145d4565b9150509250929050565b6000606082019050614b416000830186614274565b8181036020830152614b5381856142e3565b90508181036040830152614b6781846142e3565b9050949350505050565b60008115159050919050565b614b8681614b71565b82525050565b6000610140830160008301518482036000860152614baa8282614435565b91505060208301518482036020860152614bc48282614435565b91505060408301518482036040860152614bde8282614435565b91505060608301518482036060860152614bf88282614435565b91505060808301518482036080860152614c128282614435565b91505060a0830151614c2760a0860182614415565b5060c083015184820360c0860152614c3f8282614435565b91505060e083015184820360e0860152614c598282614435565b915050610100830151614c70610100860182614b7d565b50610120830151614c85610120860182614415565b508091505092915050565b60006020820190508181036000830152614caa8184614b8c565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000606083016000830151614cf66000860182614415565b5060208301518482036020860152614d0e8282614435565b91505060408301518482036040860152614d288282614435565b9150508091505092915050565b6000614d418383614cde565b905092915050565b6000602082019050919050565b6000614d6182614cb2565b614d6b8185614cbd565b935083602082028501614d7d85614cce565b8060005b85811015614db95784840389528151614d9a8582614d35565b9450614da583614d49565b925060208a01995050600181019050614d81565b50829750879550505050505092915050565b60006020820190508181036000830152614de58184614d56565b905092915050565b614df681614b71565b8114614e0157600080fd5b50565b600081359050614e1381614ded565b92915050565b6000806000806000806000806000806101408b8d031215614e3d57614e3c6141c7565b5b6000614e4b8d828e016141f2565b9a505060208b013567ffffffffffffffff811115614e6c57614e6b6141cc565b5b614e788d828e016145d4565b99505060408b013567ffffffffffffffff811115614e9957614e986141cc565b5b614ea58d828e016145d4565b98505060608b013567ffffffffffffffff811115614ec657614ec56141cc565b5b614ed28d828e016145d4565b97505060808b013567ffffffffffffffff811115614ef357614ef26141cc565b5b614eff8d828e016145d4565b96505060a08b013567ffffffffffffffff811115614f2057614f1f6141cc565b5b614f2c8d828e016145d4565b95505060c08b013567ffffffffffffffff811115614f4d57614f4c6141cc565b5b614f598d828e016145d4565b94505060e08b013567ffffffffffffffff811115614f7a57614f796141cc565b5b614f868d828e016145d4565b935050610100614f988d828e01614e04565b925050610120614faa8d828e016141f2565b9150509295989b9194979a5092959850565b600080600060608486031215614fd557614fd46141c7565b5b6000614fe3868287016141f2565b935050602084013567ffffffffffffffff811115615004576150036141cc565b5b615010868287016145d4565b925050604084013567ffffffffffffffff811115615031576150306141cc565b5b61503d868287016145d4565b9150509250925092565b61505081614b71565b82525050565b600060208201905061506b6000830184615047565b92915050565b60008060408385031215615088576150876141c7565b5b600061509685828601614890565b92505060206150a785828601614890565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006060830160008301516150f56000860182614415565b5060208301516151086020860182614415565b50604083015184820360408601526151208282614435565b9150508091505092915050565b600061513983836150dd565b905092915050565b6000602082019050919050565b6000615159826150b1565b61516381856150bc565b935083602082028501615175856150cd565b8060005b858110156151b15784840389528151615192858261512d565b945061519d83615141565b925060208a01995050600181019050615179565b50829750879550505050505092915050565b600060208201905081810360008301526151dd818461514e565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006040830160008301516152296000860182614415565b50602083015184820360208601526152418282614435565b9150508091505092915050565b600061525a8383615211565b905092915050565b6000602082019050919050565b600061527a826151e5565b61528481856151f0565b93508360208202850161529685615201565b8060005b858110156152d257848403895281516152b3858261524e565b94506152be83615262565b925060208a0199505060018101905061529a565b50829750879550505050505092915050565b600060208201905081810360008301526152fe818461526f565b905092915050565b6000610140820190508181036000830152615321818d6142e3565b90508181036020830152615335818c6142e3565b90508181036040830152615349818b6142e3565b9050818103606083015261535d818a6142e3565b9050818103608083015261537181896142e3565b905061538060a0830188614274565b81810360c083015261539281876142e3565b905081810360e08301526153a681866142e3565b90506153b6610100830185615047565b6153c4610120830184614274565b9b9a5050505050505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061014083016000830151848203600086015261541d8282614435565b915050602083015184820360208601526154378282614435565b915050604083015184820360408601526154518282614435565b9150506060830151848203606086015261546b8282614435565b915050608083015184820360808601526154858282614435565b91505060a083015161549a60a0860182614415565b5060c083015184820360c08601526154b28282614435565b91505060e083015184820360e08601526154cc8282614435565b9150506101008301516154e3610100860182614b7d565b506101208301516154f8610120860182614415565b508091505092915050565b600061550f83836153ff565b905092915050565b6000602082019050919050565b600061552f826153d3565b61553981856153de565b93508360208202850161554b856153ef565b8060005b8581101561558757848403895281516155688582615503565b945061557383615517565b925060208a0199505060018101905061554f565b50829750879550505050505092915050565b600060208201905081810360008301526155b38184615524565b905092915050565b6155c48161477e565b82525050565b6155d3816147c6565b82525050565b600060e0830160008301516155f160008601826155bb565b50602083015184820360208601526156098282614435565b915050604083015184820360408601526156238282614435565b9150506060830151848203606086015261563d8282614435565b915050608083015184820360808601526156578282614435565b91505060a083015184820360a08601526156718282614435565b91505060c083015161568660c08601826155ca565b508091505092915050565b600060208201905081810360008301526156ab81846155d9565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060e0830160008301516156f760008601826155bb565b506020830151848203602086015261570f8282614435565b915050604083015184820360408601526157298282614435565b915050606083015184820360608601526157438282614435565b9150506080830151848203608086015261575d8282614435565b91505060a083015184820360a08601526157778282614435565b91505060c083015161578c60c08601826155ca565b508091505092915050565b60006157a383836156df565b905092915050565b6000602082019050919050565b60006157c3826156b3565b6157cd81856156be565b9350836020820285016157df856156cf565b8060005b8581101561581b57848403895281516157fc8582615797565b9450615807836157ab565b925060208a019950506001810190506157e3565b50829750879550505050505092915050565b6000602082019050818103600083015261584781846157b8565b905092915050565b6004811061585c57600080fd5b50565b60008135905061586e8161584f565b92915050565b600080600080600080600060e0888a031215615893576158926141c7565b5b60006158a18a828b01614890565b975050602088013567ffffffffffffffff8111156158c2576158c16141cc565b5b6158ce8a828b016145d4565b965050604088013567ffffffffffffffff8111156158ef576158ee6141cc565b5b6158fb8a828b016145d4565b955050606088013567ffffffffffffffff81111561591c5761591b6141cc565b5b6159288a828b016145d4565b945050608088013567ffffffffffffffff811115615949576159486141cc565b5b6159558a828b016145d4565b93505060a088013567ffffffffffffffff811115615976576159756141cc565b5b6159828a828b016145d4565b92505060c06159938a828b0161585f565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000615a0b826141d1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615a3d57615a3c6159d1565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680615a8f57607f821691505b602082108103615aa257615aa1615a48565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302615b0a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82615acd565b615b148683615acd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000615b51615b4c615b47846141d1565b615b2c565b6141d1565b9050919050565b6000819050919050565b615b6b83615b36565b615b7f615b7782615b58565b848454615ada565b825550505050565b600090565b615b94615b87565b615b9f818484615b62565b505050565b5b81811015615bc357615bb8600082615b8c565b600181019050615ba5565b5050565b601f821115615c0857615bd981615aa8565b615be284615abd565b81016020851015615bf1578190505b615c05615bfd85615abd565b830182615ba4565b50505b505050565b600082821c905092915050565b6000615c2b60001984600802615c0d565b1980831691505092915050565b6000615c448383615c1a565b9150826002028217905092915050565b615c5d82614283565b67ffffffffffffffff811115615c7657615c756144d7565b5b615c808254615a77565b615c8b828285615bc7565b600060209050601f831160018114615cbe5760008415615cac578287015190505b615cb68582615c38565b865550615d1e565b601f198416615ccc86615aa8565b60005b82811015615cf457848901518255600182019150602085019450602081019050615ccf565b86831015615d115784890151615d0d601f891682615c1a565b8355505b6001600288020188555050505b505050505050565b60008160601b9050919050565b6000615d3e82615d26565b9050919050565b6000615d5082615d33565b9050919050565b615d68615d638261477e565b615d45565b82525050565b6000615d7a8284615d57565b60148201915081905092915050565b6000819050919050565b615da4615d9f826141d1565b615d89565b82525050565b6000615db68284615d93565b60208201915081905092915050565b600081905092915050565b6000615ddb82614283565b615de58185615dc5565b9350615df581856020860161429f565b80840191505092915050565b6000615e0d8284615dd0565b91508190509291505056fea2646970667358221220c52538dfc6cd284ce8ef89b16b10363246d5c06ba7e3d20a78b6ccb897d0db1f64736f6c634300080f0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102d45760003560e01c8063700a610211610182578063b20d4d5b116100e9578063cb7fdbaa116100a2578063ed66aa1b1161007c578063ed66aa1b14610965578063f2611dc014610983578063f5701cfe146109b3578063f8ad77d6146109cf576102d4565b8063cb7fdbaa146108fd578063e19507e814610919578063e6b5934614610949576102d4565b8063b20d4d5b1461080a578063b4e74eb814610828578063b72d755c14610858578063b8ba95fa14610876578063bed34bba146108af578063c55cbaec146108df576102d4565b806390e8fc911161013b57806390e8fc911461073557806395a2b0fb1461075157806395e885c01461076f5780639d2acad71461079f578063aabab964146107bb578063b0a951c2146107ec576102d4565b8063700a6102146106615780637cea8a331461069157806384abf683146106af5780638839d3f1146106cb5780638859c8b1146106e75780638c6ba8fc14610717576102d4565b80633379084511610241578063451d6716116101fa57806358467dbc116101d457806358467dbc146105c757806364787341146105f75780636b62b9d1146106295780636e29015814610645576102d4565b8063451d67161461055a5780635367cb5614610578578063565d52bf146105ab576102d4565b8063337908451461046c578063365b98b21461049e5780634079a6c0146104d457806340b250f9146104f05780634188473614610520578063446ca94c1461053c576102d4565b8063167f119811610293578063167f1198146103c25780631f0a3fa5146103e05780632ca052ce146103fc5780632e001d74146104185780632e0ba53e146104345780633058297814610450576102d4565b80627d43cd146102d957806285ae2b146102f557806306a6b5d914610326578063086ae1cf146103585780630937e7411461037457806309fbc50f14610392575b600080fd5b6102f360048036038101906102ee9190614207565b6109eb565b005b61030f600480360381019061030a9190614247565b610a4d565b60405161031d92919061431c565b60405180910390f35b610340600480360381019061033b9190614247565b610b09565b60405161034f939291906143c3565b60405180910390f35b610372600480360381019061036d9190614207565b610b50565b005b61037c610c41565b60405161038991906143fa565b60405180910390f35b6103ac60048036038101906103a79190614247565b610c4e565b6040516103b991906144ab565b60405180910390f35b6103ca610d26565b6040516103d791906143fa565b60405180910390f35b6103fa60048036038101906103f59190614602565b610d33565b005b61041660048036038101906104119190614671565b610db0565b005b610432600480360381019061042d91906146c4565b610ed5565b005b61044e600480360381019061044991906146c4565b610f0c565b005b61046a600480360381019061046591906146c4565b6110d4565b005b61048660048036038101906104819190614247565b611140565b60405161049593929190614720565b60405180910390f35b6104b860048036038101906104b39190614247565b611202565b6040516104cb97969594939291906147e7565b60405180910390f35b6104ee60048036038101906104e991906146c4565b611529565b005b61050a600480360381019061050591906148a5565b6116f1565b60405161051791906148eb565b60405180910390f35b61053a600480360381019061053591906146c4565b6117a0565b005b61054461180c565b6040516105519190614a05565b60405180910390f35b610562611907565b60405161056f91906143fa565b60405180910390f35b610592600480360381019061058d9190614247565b611914565b6040516105a29493929190614a6f565b60405180910390f35b6105c560048036038101906105c09190614602565b61196e565b005b6105e160048036038101906105dc9190614ab4565b611a04565b6040516105ee91906148eb565b60405180910390f35b610611600480360381019061060c9190614247565b611be7565b60405161062093929190614b2c565b60405180910390f35b610643600480360381019061063e9190614207565b611d31565b005b61065f600480360381019061065a9190614602565b611dd9565b005b61067b60048036038101906106769190614247565b611e6f565b6040516106889190614c90565b60405180910390f35b6106996122d9565b6040516106a69190614dcb565b60405180910390f35b6106c960048036038101906106c49190614e19565b612466565b005b6106e560048036038101906106e09190614207565b6125bd565b005b61070160048036038101906106fc9190614fbc565b612681565b60405161070e9190615056565b60405180910390f35b61071f612735565b60405161072c91906143fa565b60405180910390f35b61074f600480360381019061074a9190614602565b612742565b005b6107596127fc565b60405161076691906143fa565b60405180910390f35b61078960048036038101906107849190615071565b612809565b6040516107969190615056565b60405180910390f35b6107b960048036038101906107b49190614207565b612862565b005b6107d560048036038101906107d09190614247565b612926565b6040516107e392919061431c565b60405180910390f35b6107f46129e2565b60405161080191906151c3565b60405180910390f35b610812612ae7565b60405161081f91906143fa565b60405180910390f35b610842600480360381019061083d9190614207565b612af3565b60405161084f9190615056565b60405180910390f35b610860612b4c565b60405161086d91906152e4565b60405180910390f35b610890600480360381019061088b9190614247565b612c47565b6040516108a69a99989796959493929190615306565b60405180910390f35b6108c960048036038101906108c49190614ab4565b613070565b6040516108d69190615056565b60405180910390f35b6108e76130c9565b6040516108f49190615599565b60405180910390f35b610917600480360381019061091291906146c4565b613556565b005b610933600480360381019061092e9190614247565b6135c7565b6040516109409190615691565b60405180910390f35b610963600480360381019061095e9190614fbc565b61396e565b005b61096d613a0d565b60405161097a919061582d565b60405180910390f35b61099d60048036038101906109989190615874565b613dd7565b6040516109aa9190615056565b60405180910390f35b6109cd60048036038101906109c89190614602565b613f5a565b005b6109e960048036038101906109e49190614fbc565b614014565b005b60005b600580549050811015610a4857610a058184612af3565b15610a35578160058281548110610a1f57610a1e6159a2565b5b9060005260206000209060030201600001819055505b8080610a4090615a00565b9150506109ee565b505050565b60018181548110610a5d57600080fd5b9060005260206000209060020201600091509050806000015490806001018054610a8690615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab290615a77565b8015610aff5780601f10610ad457610100808354040283529160200191610aff565b820191906000526020600020905b815481529060010190602001808311610ae257829003601f168201915b5050505050905082565b60078181548110610b1957600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b6000604051806080016040528083815260200184815260200160006001811115610b7d57610b7c61434c565b5b8152602001600280811115610b9557610b9461434c565b5b81525090506006819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115610c0557610c0461434c565b5b021790555060608201518160020160016101000a81548160ff02191690836002811115610c3557610c3461434c565b5b02179055505050505050565b6000600380549050905090565b610c5661409d565b60018281548110610c6a57610c696159a2565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182018054610c9d90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc990615a77565b8015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b5050505050815250509050919050565b6000600580549050905090565b60006040518060600160405280858152602001848152602001838152509050600581908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000155602082015181600101556040820151816002019081610da79190615c54565b50505050505050565b60005b600580549050811015610ecf57610dca8185612af3565b15610ebc5760006040518060800160405280848152602001858152602001600180811115610dfb57610dfa61434c565b5b8152602001600280811115610e1357610e1261434c565b5b81525090506006819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115610e8357610e8261434c565b5b021790555060608201518160020160016101000a81548160ff02191690836002811115610eb357610eb261434c565b5b02179055505050505b8080610ec790615a00565b915050610db3565b50505050565b8060058381548110610eea57610ee96159a2565b5b90600052602060002090600302016002019081610f079190615c54565b505050565b610f146140b7565b60005b60068054905081101561104e57610f2e8185612af3565b1561103b5760068181548110610f4757610f466159a2565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff166001811115610f9957610f9861434c565b5b6001811115610fab57610faa61434c565b5b81526020016002820160019054906101000a900460ff166002811115610fd457610fd361434c565b5b6002811115610fe657610fe561434c565b5b815250509150600060068281548110611002576110016159a2565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156110355761103461434c565b5b02179055505b808061104690615a00565b915050610f17565b506000604051806060016040528083600001518152602001836020015181526020018481525090506005819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816110cb9190615c54565b50505050505050565b6000604051806040016040528084815260200183815250905060008190806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190816111389190615c54565b505050505050565b6005818154811061115057600080fd5b906000526020600020906003020160009150905080600001549080600101549080600201805461117f90615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546111ab90615a77565b80156111f85780601f106111cd576101008083540402835291602001916111f8565b820191906000526020600020905b8154815290600101906020018083116111db57829003601f168201915b5050505050905083565b6003818154811061121257600080fd5b90600052602060002090600702016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101805461125b90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461128790615a77565b80156112d45780601f106112a9576101008083540402835291602001916112d4565b820191906000526020600020905b8154815290600101906020018083116112b757829003601f168201915b5050505050908060020180546112e990615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461131590615a77565b80156113625780601f1061133757610100808354040283529160200191611362565b820191906000526020600020905b81548152906001019060200180831161134557829003601f168201915b50505050509080600301805461137790615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546113a390615a77565b80156113f05780601f106113c5576101008083540402835291602001916113f0565b820191906000526020600020905b8154815290600101906020018083116113d357829003601f168201915b50505050509080600401805461140590615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461143190615a77565b801561147e5780601f106114535761010080835404028352916020019161147e565b820191906000526020600020905b81548152906001019060200180831161146157829003601f168201915b50505050509080600501805461149390615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546114bf90615a77565b801561150c5780601f106114e15761010080835404028352916020019161150c565b820191906000526020600020905b8154815290600101906020018083116114ef57829003601f168201915b5050505050908060060160009054906101000a900460ff16905087565b6115316140b7565b60005b60068054905081101561166b5761154b8185612af3565b156116585760068181548110611564576115636159a2565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff1660018111156115b6576115b561434c565b5b60018111156115c8576115c761434c565b5b81526020016002820160019054906101000a900460ff1660028111156115f1576115f061434c565b5b60028111156116035761160261434c565b5b81525050915060016006828154811061161f5761161e6159a2565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156116525761165161434c565b5b02179055505b808061166390615a00565b915050611534565b506000604051806060016040528083600001518152602001836020015181526020018481525090506005819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816116e89190615c54565b50505050505050565b600080600090505b60038054905081101561177657611755836003838154811061171e5761171d6159a2565b5b906000526020600020906007020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612809565b15611763578091505061179b565b808061176e90615a00565b9150506116f9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505b919050565b6000604051806040016040528084815260200183815250905060018190806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190816118049190615c54565b505050505050565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156118fe57838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461186d90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461189990615a77565b80156118e65780601f106118bb576101008083540402835291602001916118e6565b820191906000526020600020905b8154815290600101906020018083116118c957829003601f168201915b50505050508152505081526020019060010190611830565b50505050905090565b6000600480549050905090565b6006818154811061192457600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60005b6002805490508110156119fe576119888482612af3565b156119eb5781600282815481106119a2576119a16159a2565b5b90600052602060002090600a020160060190816119bf9190615c54565b5082600282815481106119d5576119d46159a2565b5b90600052602060002090600a0201600901819055505b80806119f690615a00565b915050611971565b50505050565b600080600090505b600380549050811015611bbc57600060038281548110611a2f57611a2e6159a2565b5b90600052602060002090600702016002018054611a4b90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611a7790615a77565b8015611ac45780601f10611a9957610100808354040283529160200191611ac4565b820191906000526020600020905b815481529060010190602001808311611aa757829003601f168201915b50505050509050600060038381548110611ae157611ae06159a2565b5b90600052602060002090600702016003018054611afd90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2990615a77565b8015611b765780601f10611b4b57610100808354040283529160200191611b76565b820191906000526020600020905b815481529060010190602001808311611b5957829003601f168201915b50505050509050611b878287613070565b15611ba757611b968186613070565b15611ba657829350505050611be1565b5b50508080611bb490615a00565b915050611a0c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505b92915050565b60048181548110611bf757600080fd5b9060005260206000209060030201600091509050806000015490806001018054611c2090615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4c90615a77565b8015611c995780601f10611c6e57610100808354040283529160200191611c99565b820191906000526020600020905b815481529060010190602001808311611c7c57829003601f168201915b505050505090806002018054611cae90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611cda90615a77565b8015611d275780601f10611cfc57610100808354040283529160200191611d27565b820191906000526020600020905b815481529060010190602001808311611d0a57829003601f168201915b5050505050905083565b60006040518060600160405280838152602001848152602001600280811115611d5d57611d5c61434c565b5b81525090506007819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836002811115611dcd57611dcc61434c565b5b02179055505050505050565b60005b600180549050811015611e6957611df38482612af3565b15611e56578260018281548110611e0d57611e0c6159a2565b5b9060005260206000209060020201600001819055508160018281548110611e3757611e366159a2565b5b90600052602060002090600202016001019081611e549190615c54565b505b8080611e6190615a00565b915050611ddc565b50505050565b611e77614103565b60028281548110611e8b57611e8a6159a2565b5b90600052602060002090600a020160405180610140016040529081600082018054611eb590615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611ee190615a77565b8015611f2e5780601f10611f0357610100808354040283529160200191611f2e565b820191906000526020600020905b815481529060010190602001808311611f1157829003601f168201915b50505050508152602001600182018054611f4790615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7390615a77565b8015611fc05780601f10611f9557610100808354040283529160200191611fc0565b820191906000526020600020905b815481529060010190602001808311611fa357829003601f168201915b50505050508152602001600282018054611fd990615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461200590615a77565b80156120525780601f1061202757610100808354040283529160200191612052565b820191906000526020600020905b81548152906001019060200180831161203557829003601f168201915b5050505050815260200160038201805461206b90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461209790615a77565b80156120e45780601f106120b9576101008083540402835291602001916120e4565b820191906000526020600020905b8154815290600101906020018083116120c757829003601f168201915b505050505081526020016004820180546120fd90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461212990615a77565b80156121765780601f1061214b57610100808354040283529160200191612176565b820191906000526020600020905b81548152906001019060200180831161215957829003601f168201915b505050505081526020016005820154815260200160068201805461219990615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546121c590615a77565b80156122125780601f106121e757610100808354040283529160200191612212565b820191906000526020600020905b8154815290600101906020018083116121f557829003601f168201915b5050505050815260200160078201805461222b90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461225790615a77565b80156122a45780601f10612279576101008083540402835291602001916122a4565b820191906000526020600020905b81548152906001019060200180831161228757829003601f168201915b505050505081526020016008820160009054906101000a900460ff161515151581526020016009820154815250509050919050565b60606004805480602002602001604051908101604052809291908181526020016000905b8282101561245d57838290600052602060002090600302016040518060600160405290816000820154815260200160018201805461233a90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461236690615a77565b80156123b35780601f10612388576101008083540402835291602001916123b3565b820191906000526020600020905b81548152906001019060200180831161239657829003601f168201915b505050505081526020016002820180546123cc90615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546123f890615a77565b80156124455780601f1061241a57610100808354040283529160200191612445565b820191906000526020600020905b81548152906001019060200180831161242857829003601f168201915b505050505081525050815260200190600101906122fd565b50505050905090565b60006040518061014001604052808b81526020018a81526020018981526020018881526020018781526020018c8152602001868152602001858152602001841515815260200183815250905060028190806001815401808255809150506001900390600052602060002090600a020160009091909190915060008201518160000190816124f39190615c54565b5060208201518160010190816125099190615c54565b50604082015181600201908161251f9190615c54565b5060608201518160030190816125359190615c54565b50608082015181600401908161254b9190615c54565b5060a0820151816005015560c082015181600601908161256b9190615c54565b5060e08201518160070190816125819190615c54565b506101008201518160080160006101000a81548160ff021916908315150217905550610120820151816009015550505050505050505050505050565b60005b60078054905081101561263e576125d78184612af3565b1561262b576001600782815481106125f2576125f16159a2565b5b906000526020600020906003020160020160006101000a81548160ff021916908360028111156126255761262461434c565b5b02179055505b808061263690615a00565b9150506125c0565b50600160028281548110612655576126546159a2565b5b90600052602060002090600a020160080160006101000a81548160ff0219169083151502179055505050565b600080600090505b600380549050811015612728576126a08186612af3565b156127155782600382815481106126ba576126b96159a2565b5b906000526020600020906007020160030190816126d79190615c54565b5083600382815481106126ed576126ec6159a2565b5b9060005260206000209060070201600401908161270a9190615c54565b50600191505061272e565b808061272090615a00565b915050612689565b50600090505b9392505050565b6000600180549050905090565b60005b6006805490508110156127c35761275c8185612af3565b156127b057600160068281548110612777576127766159a2565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156127aa576127a961434c565b5b02179055505b80806127bb90615a00565b915050612745565b5080600583815481106127d9576127d86159a2565b5b906000526020600020906003020160020190816127f69190615c54565b50505050565b6000600280549050905090565b60008160405160200161281c9190615d6e565b60405160208183030381529060405280519060200120836040516020016128439190615d6e565b6040516020818303038152906040528051906020012014905092915050565b60005b6007805490508110156128e35761287c8184612af3565b156128d057600060078281548110612897576128966159a2565b5b906000526020600020906003020160020160006101000a81548160ff021916908360028111156128ca576128c961434c565b5b02179055505b80806128db90615a00565b915050612865565b506000600282815481106128fa576128f96159a2565b5b90600052602060002090600a020160080160006101000a81548160ff0219169083151502179055505050565b6000818154811061293657600080fd5b906000526020600020906002020160009150905080600001549080600101805461295f90615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461298b90615a77565b80156129d85780601f106129ad576101008083540402835291602001916129d8565b820191906000526020600020905b8154815290600101906020018083116129bb57829003601f168201915b5050505050905082565b60606005805480602002602001604051908101604052809291908181526020016000905b82821015612ade57838290600052602060002090600302016040518060600160405290816000820154815260200160018201548152602001600282018054612a4d90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612a7990615a77565b8015612ac65780601f10612a9b57610100808354040283529160200191612ac6565b820191906000526020600020905b815481529060010190602001808311612aa957829003601f168201915b50505050508152505081526020019060010190612a06565b50505050905090565b60008080549050905090565b600081604051602001612b069190615daa565b6040516020818303038152906040528051906020012083604051602001612b2d9190615daa565b6040516020818303038152906040528051906020012014905092915050565b60606000805480602002602001604051908101604052809291908181526020016000905b82821015612c3e578382906000526020600020906002020160405180604001604052908160008201548152602001600182018054612bad90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612bd990615a77565b8015612c265780601f10612bfb57610100808354040283529160200191612c26565b820191906000526020600020905b815481529060010190602001808311612c0957829003601f168201915b50505050508152505081526020019060010190612b70565b50505050905090565b60028181548110612c5757600080fd5b90600052602060002090600a0201600091509050806000018054612c7a90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612ca690615a77565b8015612cf35780601f10612cc857610100808354040283529160200191612cf3565b820191906000526020600020905b815481529060010190602001808311612cd657829003601f168201915b505050505090806001018054612d0890615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612d3490615a77565b8015612d815780601f10612d5657610100808354040283529160200191612d81565b820191906000526020600020905b815481529060010190602001808311612d6457829003601f168201915b505050505090806002018054612d9690615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612dc290615a77565b8015612e0f5780601f10612de457610100808354040283529160200191612e0f565b820191906000526020600020905b815481529060010190602001808311612df257829003601f168201915b505050505090806003018054612e2490615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612e5090615a77565b8015612e9d5780601f10612e7257610100808354040283529160200191612e9d565b820191906000526020600020905b815481529060010190602001808311612e8057829003601f168201915b505050505090806004018054612eb290615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612ede90615a77565b8015612f2b5780601f10612f0057610100808354040283529160200191612f2b565b820191906000526020600020905b815481529060010190602001808311612f0e57829003601f168201915b505050505090806005015490806006018054612f4690615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054612f7290615a77565b8015612fbf5780601f10612f9457610100808354040283529160200191612fbf565b820191906000526020600020905b815481529060010190602001808311612fa257829003601f168201915b505050505090806007018054612fd490615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461300090615a77565b801561304d5780601f106130225761010080835404028352916020019161304d565b820191906000526020600020905b81548152906001019060200180831161303057829003601f168201915b5050505050908060080160009054906101000a900460ff1690806009015490508a565b6000816040516020016130839190615e01565b60405160208183030381529060405280519060200120836040516020016130aa9190615e01565b6040516020818303038152906040528051906020012014905092915050565b60606002805480602002602001604051908101604052809291908181526020016000905b8282101561354d57838290600052602060002090600a02016040518061014001604052908160008201805461312190615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461314d90615a77565b801561319a5780601f1061316f5761010080835404028352916020019161319a565b820191906000526020600020905b81548152906001019060200180831161317d57829003601f168201915b505050505081526020016001820180546131b390615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546131df90615a77565b801561322c5780601f106132015761010080835404028352916020019161322c565b820191906000526020600020905b81548152906001019060200180831161320f57829003601f168201915b5050505050815260200160028201805461324590615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461327190615a77565b80156132be5780601f10613293576101008083540402835291602001916132be565b820191906000526020600020905b8154815290600101906020018083116132a157829003601f168201915b505050505081526020016003820180546132d790615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461330390615a77565b80156133505780601f1061332557610100808354040283529160200191613350565b820191906000526020600020905b81548152906001019060200180831161333357829003601f168201915b5050505050815260200160048201805461336990615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461339590615a77565b80156133e25780601f106133b7576101008083540402835291602001916133e2565b820191906000526020600020905b8154815290600101906020018083116133c557829003601f168201915b505050505081526020016005820154815260200160068201805461340590615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461343190615a77565b801561347e5780601f106134535761010080835404028352916020019161347e565b820191906000526020600020905b81548152906001019060200180831161346157829003601f168201915b5050505050815260200160078201805461349790615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546134c390615a77565b80156135105780601f106134e557610100808354040283529160200191613510565b820191906000526020600020905b8154815290600101906020018083116134f357829003601f168201915b505050505081526020016008820160009054906101000a900460ff16151515158152602001600982015481525050815260200190600101906130ed565b50505050905090565b60005b6000805490508110156135c25760008190506135758185612af3565b156135ae57826000838154811061358f5761358e6159a2565b5b906000526020600020906002020160010190816135ac9190615c54565b505b5080806135ba90615a00565b915050613559565b505050565b6135cf614158565b600382815481106135e3576135e26159a2565b5b90600052602060002090600702016040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805461366290615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461368e90615a77565b80156136db5780601f106136b0576101008083540402835291602001916136db565b820191906000526020600020905b8154815290600101906020018083116136be57829003601f168201915b505050505081526020016002820180546136f490615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461372090615a77565b801561376d5780601f106137425761010080835404028352916020019161376d565b820191906000526020600020905b81548152906001019060200180831161375057829003601f168201915b5050505050815260200160038201805461378690615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546137b290615a77565b80156137ff5780601f106137d4576101008083540402835291602001916137ff565b820191906000526020600020905b8154815290600101906020018083116137e257829003601f168201915b5050505050815260200160048201805461381890615a77565b80601f016020809104026020016040519081016040528092919081815260200182805461384490615a77565b80156138915780601f1061386657610100808354040283529160200191613891565b820191906000526020600020905b81548152906001019060200180831161387457829003601f168201915b505050505081526020016005820180546138aa90615a77565b80601f01602080910402602001604051908101604052809291908181526020018280546138d690615a77565b80156139235780601f106138f857610100808354040283529160200191613923565b820191906000526020600020905b81548152906001019060200180831161390657829003601f168201915b505050505081526020016006820160009054906101000a900460ff1660038111156139515761395061434c565b5b60038111156139635761396261434c565b5b815250509050919050565b60005b600480549050811015613a07576139888185612af3565b156139f45782600482815481106139a2576139a16159a2565b5b906000526020600020906003020160020190816139bf9190615c54565b5081600482815481106139d5576139d46159a2565b5b906000526020600020906003020160010190816139f29190615c54565b505b80806139ff90615a00565b915050613971565b50505050565b60606003805480602002602001604051908101604052809291908181526020016000905b82821015613dce57838290600052602060002090600702016040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054613aba90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613ae690615a77565b8015613b335780601f10613b0857610100808354040283529160200191613b33565b820191906000526020600020905b815481529060010190602001808311613b1657829003601f168201915b50505050508152602001600282018054613b4c90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613b7890615a77565b8015613bc55780601f10613b9a57610100808354040283529160200191613bc5565b820191906000526020600020905b815481529060010190602001808311613ba857829003601f168201915b50505050508152602001600382018054613bde90615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613c0a90615a77565b8015613c575780601f10613c2c57610100808354040283529160200191613c57565b820191906000526020600020905b815481529060010190602001808311613c3a57829003601f168201915b50505050508152602001600482018054613c7090615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613c9c90615a77565b8015613ce95780601f10613cbe57610100808354040283529160200191613ce9565b820191906000526020600020905b815481529060010190602001808311613ccc57829003601f168201915b50505050508152602001600582018054613d0290615a77565b80601f0160208091040260200160405190810160405280929190818152602001828054613d2e90615a77565b8015613d7b5780601f10613d5057610100808354040283529160200191613d7b565b820191906000526020600020905b815481529060010190602001808311613d5e57829003601f168201915b505050505081526020016006820160009054906101000a900460ff166003811115613da957613da861434c565b5b6003811115613dbb57613dba61434c565b5b8152505081526020019060010190613a31565b50505050905090565b6000806040518060e001604052808a73ffffffffffffffffffffffffffffffffffffffff168152602001898152602001888152602001868152602001878152602001858152602001846003811115613e3257613e3161434c565b5b8152509050600381908060018154018082558091505060019003906000526020600020906007020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081613ebf9190615c54565b506040820151816002019081613ed59190615c54565b506060820151816003019081613eeb9190615c54565b506080820151816004019081613f019190615c54565b5060a0820151816005019081613f179190615c54565b5060c08201518160060160006101000a81548160ff02191690836003811115613f4357613f4261434c565b5b021790555050506001915050979650505050505050565b60005b600680549050811015613fdb57613f748185612af3565b15613fc857600060068281548110613f8f57613f8e6159a2565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115613fc257613fc161434c565b5b02179055505b8080613fd390615a00565b915050613f5d565b508060058381548110613ff157613ff06159a2565b5b9060005260206000209060030201600201908161400e9190615c54565b50505050565b60006040518060600160405280858152602001848152602001838152509050600481908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000155602082015181600101908161407e9190615c54565b5060408201518160020190816140949190615c54565b50505050505050565b604051806040016040528060008152602001606081525090565b60405180608001604052806000815260200160008152602001600060018111156140e4576140e361434c565b5b8152602001600060028111156140fd576140fc61434c565b5b81525090565b6040518061014001604052806060815260200160608152602001606081526020016060815260200160608152602001600081526020016060815260200160608152602001600015158152602001600081525090565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081526020016060815260200160608152602001600060038111156141b7576141b661434c565b5b81525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6141e4816141d1565b81146141ef57600080fd5b50565b600081359050614201816141db565b92915050565b6000806040838503121561421e5761421d6141c7565b5b600061422c858286016141f2565b925050602061423d858286016141f2565b9150509250929050565b60006020828403121561425d5761425c6141c7565b5b600061426b848285016141f2565b91505092915050565b61427d816141d1565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156142bd5780820151818401526020810190506142a2565b838111156142cc576000848401525b50505050565b6000601f19601f8301169050919050565b60006142ee82614283565b6142f8818561428e565b935061430881856020860161429f565b614311816142d2565b840191505092915050565b60006040820190506143316000830185614274565b818103602083015261434381846142e3565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061438c5761438b61434c565b5b50565b600081905061439d8261437b565b919050565b60006143ad8261438f565b9050919050565b6143bd816143a2565b82525050565b60006060820190506143d86000830186614274565b6143e56020830185614274565b6143f260408301846143b4565b949350505050565b600060208201905061440f6000830184614274565b92915050565b61441e816141d1565b82525050565b600082825260208201905092915050565b600061444082614283565b61444a8185614424565b935061445a81856020860161429f565b614463816142d2565b840191505092915050565b60006040830160008301516144866000860182614415565b506020830151848203602086015261449e8282614435565b9150508091505092915050565b600060208201905081810360008301526144c5818461446e565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61450f826142d2565b810181811067ffffffffffffffff8211171561452e5761452d6144d7565b5b80604052505050565b60006145416141bd565b905061454d8282614506565b919050565b600067ffffffffffffffff82111561456d5761456c6144d7565b5b614576826142d2565b9050602081019050919050565b82818337600083830152505050565b60006145a56145a084614552565b614537565b9050828152602081018484840111156145c1576145c06144d2565b5b6145cc848285614583565b509392505050565b600082601f8301126145e9576145e86144cd565b5b81356145f9848260208601614592565b91505092915050565b60008060006060848603121561461b5761461a6141c7565b5b6000614629868287016141f2565b935050602061463a868287016141f2565b925050604084013567ffffffffffffffff81111561465b5761465a6141cc565b5b614667868287016145d4565b9150509250925092565b60008060006060848603121561468a576146896141c7565b5b6000614698868287016141f2565b93505060206146a9868287016141f2565b92505060406146ba868287016141f2565b9150509250925092565b600080604083850312156146db576146da6141c7565b5b60006146e9858286016141f2565b925050602083013567ffffffffffffffff81111561470a576147096141cc565b5b614716858286016145d4565b9150509250929050565b60006060820190506147356000830186614274565b6147426020830185614274565b818103604083015261475481846142e3565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006147898261475e565b9050919050565b6147998161477e565b82525050565b600481106147b0576147af61434c565b5b50565b60008190506147c18261479f565b919050565b60006147d1826147b3565b9050919050565b6147e1816147c6565b82525050565b600060e0820190506147fc600083018a614790565b818103602083015261480e81896142e3565b9050818103604083015261482281886142e3565b9050818103606083015261483681876142e3565b9050818103608083015261484a81866142e3565b905081810360a083015261485e81856142e3565b905061486d60c08301846147d8565b98975050505050505050565b6148828161477e565b811461488d57600080fd5b50565b60008135905061489f81614879565b92915050565b6000602082840312156148bb576148ba6141c7565b5b60006148c984828501614890565b91505092915050565b6000819050919050565b6148e5816148d2565b82525050565b600060208201905061490060008301846148dc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060408301600083015161494a6000860182614415565b50602083015184820360208601526149628282614435565b9150508091505092915050565b600061497b8383614932565b905092915050565b6000602082019050919050565b600061499b82614906565b6149a58185614911565b9350836020820285016149b785614922565b8060005b858110156149f357848403895281516149d4858261496f565b94506149df83614983565b925060208a019950506001810190506149bb565b50829750879550505050505092915050565b60006020820190508181036000830152614a1f8184614990565b905092915050565b60028110614a3857614a3761434c565b5b50565b6000819050614a4982614a27565b919050565b6000614a5982614a3b565b9050919050565b614a6981614a4e565b82525050565b6000608082019050614a846000830187614274565b614a916020830186614274565b614a9e6040830185614a60565b614aab60608301846143b4565b95945050505050565b60008060408385031215614acb57614aca6141c7565b5b600083013567ffffffffffffffff811115614ae957614ae86141cc565b5b614af5858286016145d4565b925050602083013567ffffffffffffffff811115614b1657614b156141cc565b5b614b22858286016145d4565b9150509250929050565b6000606082019050614b416000830186614274565b8181036020830152614b5381856142e3565b90508181036040830152614b6781846142e3565b9050949350505050565b60008115159050919050565b614b8681614b71565b82525050565b6000610140830160008301518482036000860152614baa8282614435565b91505060208301518482036020860152614bc48282614435565b91505060408301518482036040860152614bde8282614435565b91505060608301518482036060860152614bf88282614435565b91505060808301518482036080860152614c128282614435565b91505060a0830151614c2760a0860182614415565b5060c083015184820360c0860152614c3f8282614435565b91505060e083015184820360e0860152614c598282614435565b915050610100830151614c70610100860182614b7d565b50610120830151614c85610120860182614415565b508091505092915050565b60006020820190508181036000830152614caa8184614b8c565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000606083016000830151614cf66000860182614415565b5060208301518482036020860152614d0e8282614435565b91505060408301518482036040860152614d288282614435565b9150508091505092915050565b6000614d418383614cde565b905092915050565b6000602082019050919050565b6000614d6182614cb2565b614d6b8185614cbd565b935083602082028501614d7d85614cce565b8060005b85811015614db95784840389528151614d9a8582614d35565b9450614da583614d49565b925060208a01995050600181019050614d81565b50829750879550505050505092915050565b60006020820190508181036000830152614de58184614d56565b905092915050565b614df681614b71565b8114614e0157600080fd5b50565b600081359050614e1381614ded565b92915050565b6000806000806000806000806000806101408b8d031215614e3d57614e3c6141c7565b5b6000614e4b8d828e016141f2565b9a505060208b013567ffffffffffffffff811115614e6c57614e6b6141cc565b5b614e788d828e016145d4565b99505060408b013567ffffffffffffffff811115614e9957614e986141cc565b5b614ea58d828e016145d4565b98505060608b013567ffffffffffffffff811115614ec657614ec56141cc565b5b614ed28d828e016145d4565b97505060808b013567ffffffffffffffff811115614ef357614ef26141cc565b5b614eff8d828e016145d4565b96505060a08b013567ffffffffffffffff811115614f2057614f1f6141cc565b5b614f2c8d828e016145d4565b95505060c08b013567ffffffffffffffff811115614f4d57614f4c6141cc565b5b614f598d828e016145d4565b94505060e08b013567ffffffffffffffff811115614f7a57614f796141cc565b5b614f868d828e016145d4565b935050610100614f988d828e01614e04565b925050610120614faa8d828e016141f2565b9150509295989b9194979a5092959850565b600080600060608486031215614fd557614fd46141c7565b5b6000614fe3868287016141f2565b935050602084013567ffffffffffffffff811115615004576150036141cc565b5b615010868287016145d4565b925050604084013567ffffffffffffffff811115615031576150306141cc565b5b61503d868287016145d4565b9150509250925092565b61505081614b71565b82525050565b600060208201905061506b6000830184615047565b92915050565b60008060408385031215615088576150876141c7565b5b600061509685828601614890565b92505060206150a785828601614890565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006060830160008301516150f56000860182614415565b5060208301516151086020860182614415565b50604083015184820360408601526151208282614435565b9150508091505092915050565b600061513983836150dd565b905092915050565b6000602082019050919050565b6000615159826150b1565b61516381856150bc565b935083602082028501615175856150cd565b8060005b858110156151b15784840389528151615192858261512d565b945061519d83615141565b925060208a01995050600181019050615179565b50829750879550505050505092915050565b600060208201905081810360008301526151dd818461514e565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006040830160008301516152296000860182614415565b50602083015184820360208601526152418282614435565b9150508091505092915050565b600061525a8383615211565b905092915050565b6000602082019050919050565b600061527a826151e5565b61528481856151f0565b93508360208202850161529685615201565b8060005b858110156152d257848403895281516152b3858261524e565b94506152be83615262565b925060208a0199505060018101905061529a565b50829750879550505050505092915050565b600060208201905081810360008301526152fe818461526f565b905092915050565b6000610140820190508181036000830152615321818d6142e3565b90508181036020830152615335818c6142e3565b90508181036040830152615349818b6142e3565b9050818103606083015261535d818a6142e3565b9050818103608083015261537181896142e3565b905061538060a0830188614274565b81810360c083015261539281876142e3565b905081810360e08301526153a681866142e3565b90506153b6610100830185615047565b6153c4610120830184614274565b9b9a5050505050505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061014083016000830151848203600086015261541d8282614435565b915050602083015184820360208601526154378282614435565b915050604083015184820360408601526154518282614435565b9150506060830151848203606086015261546b8282614435565b915050608083015184820360808601526154858282614435565b91505060a083015161549a60a0860182614415565b5060c083015184820360c08601526154b28282614435565b91505060e083015184820360e08601526154cc8282614435565b9150506101008301516154e3610100860182614b7d565b506101208301516154f8610120860182614415565b508091505092915050565b600061550f83836153ff565b905092915050565b6000602082019050919050565b600061552f826153d3565b61553981856153de565b93508360208202850161554b856153ef565b8060005b8581101561558757848403895281516155688582615503565b945061557383615517565b925060208a0199505060018101905061554f565b50829750879550505050505092915050565b600060208201905081810360008301526155b38184615524565b905092915050565b6155c48161477e565b82525050565b6155d3816147c6565b82525050565b600060e0830160008301516155f160008601826155bb565b50602083015184820360208601526156098282614435565b915050604083015184820360408601526156238282614435565b9150506060830151848203606086015261563d8282614435565b915050608083015184820360808601526156578282614435565b91505060a083015184820360a08601526156718282614435565b91505060c083015161568660c08601826155ca565b508091505092915050565b600060208201905081810360008301526156ab81846155d9565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060e0830160008301516156f760008601826155bb565b506020830151848203602086015261570f8282614435565b915050604083015184820360408601526157298282614435565b915050606083015184820360608601526157438282614435565b9150506080830151848203608086015261575d8282614435565b91505060a083015184820360a08601526157778282614435565b91505060c083015161578c60c08601826155ca565b508091505092915050565b60006157a383836156df565b905092915050565b6000602082019050919050565b60006157c3826156b3565b6157cd81856156be565b9350836020820285016157df856156cf565b8060005b8581101561581b57848403895281516157fc8582615797565b9450615807836157ab565b925060208a019950506001810190506157e3565b50829750879550505050505092915050565b6000602082019050818103600083015261584781846157b8565b905092915050565b6004811061585c57600080fd5b50565b60008135905061586e8161584f565b92915050565b600080600080600080600060e0888a031215615893576158926141c7565b5b60006158a18a828b01614890565b975050602088013567ffffffffffffffff8111156158c2576158c16141cc565b5b6158ce8a828b016145d4565b965050604088013567ffffffffffffffff8111156158ef576158ee6141cc565b5b6158fb8a828b016145d4565b955050606088013567ffffffffffffffff81111561591c5761591b6141cc565b5b6159288a828b016145d4565b945050608088013567ffffffffffffffff811115615949576159486141cc565b5b6159558a828b016145d4565b93505060a088013567ffffffffffffffff811115615976576159756141cc565b5b6159828a828b016145d4565b92505060c06159938a828b0161585f565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000615a0b826141d1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615a3d57615a3c6159d1565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680615a8f57607f821691505b602082108103615aa257615aa1615a48565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302615b0a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82615acd565b615b148683615acd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000615b51615b4c615b47846141d1565b615b2c565b6141d1565b9050919050565b6000819050919050565b615b6b83615b36565b615b7f615b7782615b58565b848454615ada565b825550505050565b600090565b615b94615b87565b615b9f818484615b62565b505050565b5b81811015615bc357615bb8600082615b8c565b600181019050615ba5565b5050565b601f821115615c0857615bd981615aa8565b615be284615abd565b81016020851015615bf1578190505b615c05615bfd85615abd565b830182615ba4565b50505b505050565b600082821c905092915050565b6000615c2b60001984600802615c0d565b1980831691505092915050565b6000615c448383615c1a565b9150826002028217905092915050565b615c5d82614283565b67ffffffffffffffff811115615c7657615c756144d7565b5b615c808254615a77565b615c8b828285615bc7565b600060209050601f831160018114615cbe5760008415615cac578287015190505b615cb68582615c38565b865550615d1e565b601f198416615ccc86615aa8565b60005b82811015615cf457848901518255600182019150602085019450602081019050615ccf565b86831015615d115784890151615d0d601f891682615c1a565b8355505b6001600288020188555050505b505050505050565b60008160601b9050919050565b6000615d3e82615d26565b9050919050565b6000615d5082615d33565b9050919050565b615d68615d638261477e565b615d45565b82525050565b6000615d7a8284615d57565b60148201915081905092915050565b6000819050919050565b615da4615d9f826141d1565b615d89565b82525050565b6000615db68284615d93565b60208201915081905092915050565b600081905092915050565b6000615ddb82614283565b615de58185615dc5565b9350615df581856020860161429f565b80840191505092915050565b6000615e0d8284615dd0565b91508190509291505056fea2646970667358221220c52538dfc6cd284ce8ef89b16b10363246d5c06ba7e3d20a78b6ccb897d0db1f64736f6c634300080f0033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:62508:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:2", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:2" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:2" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:2", + "type": "" + } + ], + "src": "7:75:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:2" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:2" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "400:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:2", + "type": "" + } + ], + "src": "334:77:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "460:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "517:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "526:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "519:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "519:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "519:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "483:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "508:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "490:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "490:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "480:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "480:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "473:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "473:43:2" + }, + "nodeType": "YulIf", + "src": "470:63:2" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "453:5:2", + "type": "" + } + ], + "src": "417:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "607:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "629:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "616:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "616:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "607:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "672:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "645:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "645:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "645:33:2" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "575:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "583:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "591:5:2", + "type": "" + } + ], + "src": "545:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "773:391:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "819:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "821:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "821:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "821:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "794:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "803:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "790:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "790:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "815:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "786:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "786:32:2" + }, + "nodeType": "YulIf", + "src": "783:119:2" + }, + { + "nodeType": "YulBlock", + "src": "912:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "941:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "931:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "956:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "991:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1002:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "987:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "987:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1011:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "966:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "966:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "956:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1039:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1054:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1068:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1058:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1084:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1119:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1130:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1115:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1115:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1139:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1094:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1094:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1084:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "735:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "746:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "758:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "766:6:2", + "type": "" + } + ], + "src": "690:474:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1236:263:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1282:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "1284:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "1284:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1284:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1257:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1266:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1253:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1253:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1278:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1249:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1249:32:2" + }, + "nodeType": "YulIf", + "src": "1246:119:2" + }, + { + "nodeType": "YulBlock", + "src": "1375:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1390:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1404:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1394:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1419:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1454:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1465:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1450:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1450:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1474:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1429:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1429:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1419:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1206:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1217:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1229:6:2", + "type": "" + } + ], + "src": "1170:329:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1570:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1587:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1610:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1592:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "1592:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1580:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1580:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1580:37:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1558:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1565:3:2", + "type": "" + } + ], + "src": "1505:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1688:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1699:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1715:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1709:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "1709:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1699:6:2" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1671:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1681:6:2", + "type": "" + } + ], + "src": "1629:99:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1830:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1847:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1852:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1840:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1840:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1840:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "1868:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1887:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1892:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1883:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1883:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1868:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1802:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1807:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1818:11:2", + "type": "" + } + ], + "src": "1734:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1958:258:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1968:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1977:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1972:1:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2037:63:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2062:3:2" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2067:1:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2058:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2058:11:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2081:3:2" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2086:1:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2077:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2077:11:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2071:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "2071:18:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2051:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2051:39:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2051:39:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1998:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2001:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1995:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "1995:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2009:19:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2011:15:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2020:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2023:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2016:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2016:10:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2011:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1991:3:2", + "statements": [] + }, + "src": "1987:113:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2134:76:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2184:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2189:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2180:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2180:16:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2198:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2173:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2173:27:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2173:27:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2115:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2118:6:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2112:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "2112:13:2" + }, + "nodeType": "YulIf", + "src": "2109:101:2" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1940:3:2", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1945:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1950:6:2", + "type": "" + } + ], + "src": "1909:307:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2270:54:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2280:38:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2298:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2305:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2294:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2294:14:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2314:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2310:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2310:7:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2290:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2290:28:2" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2280:6:2" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2253:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2263:6:2", + "type": "" + } + ], + "src": "2222:102:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2422:272:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2432:53:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2479:5:2" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2446:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "2446:39:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2436:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2494:78:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2560:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2565:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2501:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "2501:71:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2494:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2607:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2614:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2603:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2603:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2621:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2626:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2581:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "2581:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2581:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "2642:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2653:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2680:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2658:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "2658:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2649:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2649:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2642:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2403:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2410:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2418:3:2", + "type": "" + } + ], + "src": "2330:364:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2846:277:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2856:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2868:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2879:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2864:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2864:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2856:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2936:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2949:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2960:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2945:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2945:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "2892:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "2892:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2892:71:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2984:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2995:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2980:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2980:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3004:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3010:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3000:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3000:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2973:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2973:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2973:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "3030:86:2", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3102:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3111:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3038:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "3038:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3030:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2810:9:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2822:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2830:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2841:4:2", + "type": "" + } + ], + "src": "2700:423:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3157:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3174:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3177:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3167:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3167:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3167:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3271:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3274:4:2", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3264:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3264:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3264:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3295:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3298:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3288:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3288:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3288:15:2" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "3129:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3366:62:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3400:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "3402:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "3402:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3402:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3389:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3396:1:2", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3386:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "3386:12:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3379:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3379:20:2" + }, + "nodeType": "YulIf", + "src": "3376:46:2" + } + ] + }, + "name": "validator_assert_t_enum$_State_$46", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3359:5:2", + "type": "" + } + ], + "src": "3315:113:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3487:74:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3497:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3508:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3497:7:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3549:5:2" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_State_$46", + "nodeType": "YulIdentifier", + "src": "3514:34:2" + }, + "nodeType": "YulFunctionCall", + "src": "3514:41:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3514:41:2" + } + ] + }, + "name": "cleanup_t_enum$_State_$46", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3469:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3479:7:2", + "type": "" + } + ], + "src": "3434:127:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3633:61:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3643:45:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3682:5:2" + } + ], + "functionName": { + "name": "cleanup_t_enum$_State_$46", + "nodeType": "YulIdentifier", + "src": "3656:25:2" + }, + "nodeType": "YulFunctionCall", + "src": "3656:32:2" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "3643:9:2" + } + ] + } + ] + }, + "name": "convert_t_enum$_State_$46_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3613:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "3623:9:2", + "type": "" + } + ], + "src": "3567:127:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3771:72:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3788:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3830:5:2" + } + ], + "functionName": { + "name": "convert_t_enum$_State_$46_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "3793:36:2" + }, + "nodeType": "YulFunctionCall", + "src": "3793:43:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3781:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3781:56:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3781:56:2" + } + ] + }, + "name": "abi_encode_t_enum$_State_$46_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3759:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3766:3:2", + "type": "" + } + ], + "src": "3700:143:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4009:294:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4019:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4031:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4042:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4027:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4027:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4019:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4099:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4112:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4123:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4108:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4108:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "4055:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "4055:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4055:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4180:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4193:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4204:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4189:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4189:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "4136:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "4136:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4136:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4268:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4281:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4292:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4277:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4277:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_State_$46_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "4218:49:2" + }, + "nodeType": "YulFunctionCall", + "src": "4218:78:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4218:78:2" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_enum$_State_$46__to_t_uint256_t_uint256_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3965:9:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3977:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3985:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3993:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4004:4:2", + "type": "" + } + ], + "src": "3849:454:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4407:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4417:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4429:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4440:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4425:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4425:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4417:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4497:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4510:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4521:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4506:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4506:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "4453:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "4453:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4453:71:2" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4379:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4391:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4402:4:2", + "type": "" + } + ], + "src": "4309:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4592:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4609:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4632:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4614:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "4614:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4602:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "4602:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4602:37:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4580:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4587:3:2", + "type": "" + } + ], + "src": "4537:108:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4737:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4754:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4759:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4747:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "4747:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4747:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "4775:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4794:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4799:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4790:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4790:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "4775:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4709:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4714:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "4725:11:2", + "type": "" + } + ], + "src": "4651:159:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4898:262:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4908:53:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4955:5:2" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4922:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "4922:39:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4912:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4970:68:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5026:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5031:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4977:48:2" + }, + "nodeType": "YulFunctionCall", + "src": "4977:61:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4970:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5073:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5080:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5069:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5069:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5087:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5092:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5047:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "5047:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5047:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "5108:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5119:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5146:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5124:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "5124:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5115:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5115:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5108:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4879:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4886:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4894:3:2", + "type": "" + } + ], + "src": "4816:344:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5342:490:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5352:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5368:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5373:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5364:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5364:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5356:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5388:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5426:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5456:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5463:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5452:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5452:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5446:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "5446:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "5430:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "5516:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5534:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5539:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5530:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5530:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "5482:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "5482:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5482:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5565:240:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5605:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5635:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5642:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5631:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5631:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5625:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "5625:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "5609:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5673:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5678:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5669:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5669:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5689:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5695:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5685:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5685:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5662:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "5662:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5662:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "5713:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "5775:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5789:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5721:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "5721:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5713:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5815:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5822:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5815:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5321:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5328:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5337:3:2", + "type": "" + } + ], + "src": "5228:604:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5976:215:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5986:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5998:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6009:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5994:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5994:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5986:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6033:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6044:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6029:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6029:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6052:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6058:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6048:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6048:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6022:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6022:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6022:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "6078:106:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6170:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6179:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6086:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "6086:98:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6078:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_bank_$56_memory_ptr__to_t_struct$_bank_$56_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5948:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5960:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5971:4:2", + "type": "" + } + ], + "src": "5838:353:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6286:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6303:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6306:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6296:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6296:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6296:12:2" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "6197:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6409:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6426:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6429:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6419:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6419:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6419:12:2" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "6320:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6471:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6488:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6491:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6481:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6481:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6481:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6585:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6588:4:2", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6578:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6578:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6578:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6609:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6612:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6602:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6602:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6602:15:2" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "6443:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6672:238:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6682:58:2", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6704:6:2" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6734:4:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "6712:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "6712:27:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6700:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6700:40:2" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "6686:10:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6851:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6853:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "6853:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6853:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6794:10:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6806:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6791:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6791:34:2" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6830:10:2" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6842:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6827:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6827:22:2" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "6788:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6788:62:2" + }, + "nodeType": "YulIf", + "src": "6785:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6889:2:2", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6893:10:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6882:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6882:22:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6882:22:2" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6658:6:2", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "6666:4:2", + "type": "" + } + ], + "src": "6629:281:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6957:88:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6967:30:2", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "6977:18:2" + }, + "nodeType": "YulFunctionCall", + "src": "6977:20:2" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6967:6:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7026:6:2" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "7034:4:2" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "7006:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "7006:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7006:33:2" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "6941:4:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6950:6:2", + "type": "" + } + ], + "src": "6916:129:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7118:241:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7223:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "7225:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "7225:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7225:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7195:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7203:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7192:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "7192:30:2" + }, + "nodeType": "YulIf", + "src": "7189:56:2" + }, + { + "nodeType": "YulAssignment", + "src": "7255:37:2", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7285:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "7263:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "7263:29:2" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "7255:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7329:23:2", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "7341:4:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7347:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7337:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7337:15:2" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "7329:4:2" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7102:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "7113:4:2", + "type": "" + } + ], + "src": "7051:308:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7416:103:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7439:3:2" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7444:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7449:6:2" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "7426:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "7426:30:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7426:30:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7497:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7502:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7493:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7493:16:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7511:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7486:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7486:27:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7486:27:2" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "7398:3:2", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "7403:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7408:6:2", + "type": "" + } + ], + "src": "7365:154:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7609:328:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7619:75:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7686:6:2" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7644:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "7644:49:2" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "7628:15:2" + }, + "nodeType": "YulFunctionCall", + "src": "7628:66:2" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "7619:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "7710:5:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7717:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7703:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7703:21:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7703:21:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7733:27:2", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "7748:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7755:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7744:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7744:16:2" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "7737:3:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7798:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "7800:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "7800:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7800:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7779:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7784:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7775:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7775:16:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7793:3:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7772:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "7772:25:2" + }, + "nodeType": "YulIf", + "src": "7769:112:2" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7914:3:2" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7919:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7924:6:2" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "7890:23:2" + }, + "nodeType": "YulFunctionCall", + "src": "7890:41:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7890:41:2" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "7582:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7587:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7595:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "7603:5:2", + "type": "" + } + ], + "src": "7525:412:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8019:278:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8068:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "8070:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "8070:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8070:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8047:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8055:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8043:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8043:17:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8062:3:2" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8039:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8039:27:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8032:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8032:35:2" + }, + "nodeType": "YulIf", + "src": "8029:122:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8160:34:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8187:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8174:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "8174:20:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8164:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8203:88:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8264:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8272:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8260:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8260:17:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8279:6:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8287:3:2" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8212:47:2" + }, + "nodeType": "YulFunctionCall", + "src": "8212:79:2" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "8203:5:2" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7997:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8005:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "8013:5:2", + "type": "" + } + ], + "src": "7957:340:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8413:689:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8459:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "8461:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "8461:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8461:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8434:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8443:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8430:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8430:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8455:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8426:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8426:32:2" + }, + "nodeType": "YulIf", + "src": "8423:119:2" + }, + { + "nodeType": "YulBlock", + "src": "8552:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8567:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8581:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8571:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8596:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8631:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8642:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8627:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8627:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8651:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8606:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "8606:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8596:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8679:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8694:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8708:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8698:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8724:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8759:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8770:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8755:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8755:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8779:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8734:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "8734:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8724:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8807:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8822:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8853:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8864:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8849:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8849:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8836:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "8836:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8826:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8915:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "8917:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "8917:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8917:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8887:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8895:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8884:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "8884:30:2" + }, + "nodeType": "YulIf", + "src": "8881:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "9012:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9057:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9068:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9053:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9053:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9077:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9022:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "9022:63:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9012:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8367:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8378:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8390:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8398:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8406:6:2", + "type": "" + } + ], + "src": "8303:799:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9208:519:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9254:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9256:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "9256:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "9256:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9229:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9238:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9225:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9225:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9250:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9221:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9221:32:2" + }, + "nodeType": "YulIf", + "src": "9218:119:2" + }, + { + "nodeType": "YulBlock", + "src": "9347:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9362:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9376:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9366:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9391:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9426:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9437:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9422:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9422:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9446:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9401:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "9401:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9391:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9474:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9489:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9503:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9493:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9519:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9554:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9565:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9550:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9550:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9574:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9529:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "9529:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9519:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9602:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9617:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9631:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9621:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9647:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9682:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9693:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9678:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9678:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9702:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9657:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "9657:53:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9647:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9162:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9173:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9185:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9193:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9201:6:2", + "type": "" + } + ], + "src": "9108:619:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9826:561:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9872:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9874:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "9874:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "9874:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9847:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9856:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9843:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9843:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9868:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9839:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9839:32:2" + }, + "nodeType": "YulIf", + "src": "9836:119:2" + }, + { + "nodeType": "YulBlock", + "src": "9965:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9980:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9994:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9984:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10009:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10044:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10055:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10040:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10040:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10064:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "10019:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "10019:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10009:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10092:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10107:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10138:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10149:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10134:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10134:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10121:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "10121:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10111:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10200:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10202:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "10202:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10202:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10172:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10180:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10169:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "10169:30:2" + }, + "nodeType": "YulIf", + "src": "10166:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "10297:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10342:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10353:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10338:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10338:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10362:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10307:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "10307:63:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10297:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9788:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9799:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9811:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9819:6:2", + "type": "" + } + ], + "src": "9733:654:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10567:359:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10577:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10589:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10600:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10585:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10585:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10577:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10657:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10670:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10681:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10666:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10666:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "10613:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "10613:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10613:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10738:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10751:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10762:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10747:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10747:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "10694:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "10694:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10694:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10787:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10798:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10783:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10783:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10807:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10813:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10803:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10803:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10776:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "10776:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10776:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "10833:86:2", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10905:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10914:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10841:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "10841:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10833:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10523:9:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10535:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10543:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10551:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10562:4:2", + "type": "" + } + ], + "src": "10393:533:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10977:81:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10987:65:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11002:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11009:42:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10998:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10998:54:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10987:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10959:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10969:7:2", + "type": "" + } + ], + "src": "10932:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11109:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11119:35:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11148:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "11130:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "11130:24:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "11119:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11091:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "11101:7:2", + "type": "" + } + ], + "src": "11064:96:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11231:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11248:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11271:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "11253:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "11253:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11241:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "11241:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11241:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11219:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11226:3:2", + "type": "" + } + ], + "src": "11166:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11340:62:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11374:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "11376:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "11376:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11376:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11363:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11370:1:2", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11360:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "11360:12:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11353:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "11353:20:2" + }, + "nodeType": "YulIf", + "src": "11350:46:2" + } + ] + }, + "name": "validator_assert_t_enum$_Role_$39", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11333:5:2", + "type": "" + } + ], + "src": "11290:112:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11460:73:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11470:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11481:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "11470:7:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11521:5:2" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_Role_$39", + "nodeType": "YulIdentifier", + "src": "11487:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "11487:40:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11487:40:2" + } + ] + }, + "name": "cleanup_t_enum$_Role_$39", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11442:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "11452:7:2", + "type": "" + } + ], + "src": "11408:125:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11604:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11614:44:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11652:5:2" + } + ], + "functionName": { + "name": "cleanup_t_enum$_Role_$39", + "nodeType": "YulIdentifier", + "src": "11627:24:2" + }, + "nodeType": "YulFunctionCall", + "src": "11627:31:2" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "11614:9:2" + } + ] + } + ] + }, + "name": "convert_t_enum$_Role_$39_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11584:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "11594:9:2", + "type": "" + } + ], + "src": "11539:125:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11740:71:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11757:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11798:5:2" + } + ], + "functionName": { + "name": "convert_t_enum$_Role_$39_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "11762:35:2" + }, + "nodeType": "YulFunctionCall", + "src": "11762:42:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11750:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "11750:55:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11750:55:2" + } + ] + }, + "name": "abi_encode_t_enum$_Role_$39_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11728:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11735:3:2", + "type": "" + } + ], + "src": "11670:141:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12188:980:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12198:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12210:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12221:3:2", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12206:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12206:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12198:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12279:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12292:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12303:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12288:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12288:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "12235:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "12235:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12235:71:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12327:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12338:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12323:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12323:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12347:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12353:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12343:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12343:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12316:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12316:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12316:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "12373:86:2", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12445:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12454:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12381:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "12381:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12373:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12480:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12491:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12476:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12476:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12500:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12506:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12496:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12496:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12469:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12469:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12469:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "12526:86:2", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12598:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12607:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12534:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "12534:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12526:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12633:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12644:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12629:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12629:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12653:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12659:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12649:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12649:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12622:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12622:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12622:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "12679:86:2", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12751:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12760:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12687:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "12687:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12679:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12786:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12797:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12782:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12782:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12807:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12813:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12803:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12803:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12775:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12775:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12775:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "12833:86:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "12905:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12914:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12841:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "12841:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12833:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12940:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12951:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12936:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12936:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12961:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12967:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12957:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12957:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12929:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12929:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12929:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "12987:86:2", + "value": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "13059:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13068:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12995:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "12995:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12987:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "13132:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13145:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13156:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13141:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13141:19:2" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_Role_$39_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "13083:48:2" + }, + "nodeType": "YulFunctionCall", + "src": "13083:78:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13083:78:2" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_enum$_Role_$39__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12112:9:2", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "12124:6:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "12132:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "12140:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12148:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12156:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12164:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12172:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12183:4:2", + "type": "" + } + ], + "src": "11817:1351:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13217:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13274:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13283:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13286:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13276:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "13276:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13276:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13240:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13265:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "13247:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "13247:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13237:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "13237:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13230:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "13230:43:2" + }, + "nodeType": "YulIf", + "src": "13227:63:2" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13210:5:2", + "type": "" + } + ], + "src": "13174:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13354:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13364:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13386:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13373:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "13373:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13364:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13429:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "13402:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "13402:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13402:33:2" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13332:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13340:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13348:5:2", + "type": "" + } + ], + "src": "13302:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13513:263:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13559:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "13561:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "13561:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13561:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13534:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13543:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13530:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13530:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13555:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13526:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13526:32:2" + }, + "nodeType": "YulIf", + "src": "13523:119:2" + }, + { + "nodeType": "YulBlock", + "src": "13652:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13667:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13681:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13671:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13696:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13731:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13742:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13727:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13727:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13751:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "13706:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "13706:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13696:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13483:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13494:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13506:6:2", + "type": "" + } + ], + "src": "13447:329:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13826:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13836:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13847:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "13836:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_int256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13808:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "13818:7:2", + "type": "" + } + ], + "src": "13782:76:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13927:52:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13944:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13966:5:2" + } + ], + "functionName": { + "name": "cleanup_t_int256", + "nodeType": "YulIdentifier", + "src": "13949:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "13949:23:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13937:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "13937:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13937:36:2" + } + ] + }, + "name": "abi_encode_t_int256_to_t_int256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13915:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13922:3:2", + "type": "" + } + ], + "src": "13864:115:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14081:122:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14091:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14103:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14114:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14099:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14099:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14091:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14169:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14182:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14193:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14178:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14178:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_int256_to_t_int256_fromStack", + "nodeType": "YulIdentifier", + "src": "14127:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "14127:69:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14127:69:2" + } + ] + }, + "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14053:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14065:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14076:4:2", + "type": "" + } + ], + "src": "13985:218:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14303:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14314:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14330:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14324:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "14324:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14314:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14286:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14296:6:2", + "type": "" + } + ], + "src": "14209:134:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14480:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14497:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14502:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14490:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "14490:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14490:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "14518:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14537:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14542:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14533:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14533:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "14518:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14452:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14457:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "14468:11:2", + "type": "" + } + ], + "src": "14349:204:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14651:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14661:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "14669:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14661:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14682:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "14694:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14699:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14690:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14690:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14682:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "14638:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14646:4:2", + "type": "" + } + ], + "src": "14559:152:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14883:490:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14893:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14909:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14914:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14905:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14905:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14897:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14929:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14967:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14997:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15004:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14993:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14993:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14987:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "14987:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "14971:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "15057:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15075:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15080:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15071:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15071:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "15023:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "15023:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15023:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15106:240:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15146:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15176:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15183:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15172:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15172:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15166:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "15166:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "15150:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15214:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15219:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15210:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15210:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15230:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15236:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15226:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15226:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15203:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "15203:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15203:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "15254:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "15316:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15330:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15262:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "15262:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15254:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15356:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15363:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15356:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14862:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14869:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14878:3:2", + "type": "" + } + ], + "src": "14779:594:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15499:116:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15509:100:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15597:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15605:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15523:73:2" + }, + "nodeType": "YulFunctionCall", + "src": "15523:86:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "15509:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15472:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15480:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "15488:10:2", + "type": "" + } + ], + "src": "15379:236:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15716:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15726:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "15738:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15743:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15734:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15734:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "15726:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "15703:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "15711:4:2", + "type": "" + } + ], + "src": "15621:133:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15990:907:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16000:88:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16082:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "16014:67:2" + }, + "nodeType": "YulFunctionCall", + "src": "16014:74:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "16004:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16097:113:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16198:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16203:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16104:93:2" + }, + "nodeType": "YulFunctionCall", + "src": "16104:106:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16097:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16219:20:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16236:3:2" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16223:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16248:39:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16264:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16273:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16281:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "16269:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16269:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16260:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16260:27:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16252:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16296:91:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16381:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "16311:69:2" + }, + "nodeType": "YulFunctionCall", + "src": "16311:76:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "16300:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16396:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "16410:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "16400:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16486:366:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16507:3:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16516:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16522:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16512:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16512:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16500:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "16500:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "16500:33:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16546:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "16573:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16567:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "16567:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "16550:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16593:112:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "16685:13:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16700:4:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr", + "nodeType": "YulIdentifier", + "src": "16601:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "16601:104:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16593:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16718:90:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "16801:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "16728:72:2" + }, + "nodeType": "YulFunctionCall", + "src": "16728:80:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "16718:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16821:21:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16832:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16837:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16828:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16828:14:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16821:3:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "16448:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16451:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "16445:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "16445:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "16459:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16461:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "16470:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16473:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16466:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16466:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "16461:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "16430:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16432:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16441:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "16436:1:2", + "type": "" + } + ] + } + ] + }, + "src": "16426:426:2" + }, + { + "nodeType": "YulAssignment", + "src": "16861:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16868:4:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16861:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16881:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16888:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16881:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15969:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15976:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15985:3:2", + "type": "" + } + ], + "src": "15826:1071:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17091:265:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17101:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17113:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17124:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17109:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17109:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17101:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17148:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17159:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17144:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17144:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17167:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17173:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17163:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17163:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17137:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "17137:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17137:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "17193:156:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17335:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17344:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17201:133:2" + }, + "nodeType": "YulFunctionCall", + "src": "17201:148:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17193:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17063:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17075:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17086:4:2", + "type": "" + } + ], + "src": "16903:453:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17426:62:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17460:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "17462:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "17462:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17462:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17449:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17456:1:2", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "17446:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "17446:12:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "17439:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "17439:20:2" + }, + "nodeType": "YulIf", + "src": "17436:46:2" + } + ] + }, + "name": "validator_assert_t_enum$_LicenseRequestType_$42", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17419:5:2", + "type": "" + } + ], + "src": "17362:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17560:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17570:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17581:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "17570:7:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17635:5:2" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_LicenseRequestType_$42", + "nodeType": "YulIdentifier", + "src": "17587:47:2" + }, + "nodeType": "YulFunctionCall", + "src": "17587:54:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17587:54:2" + } + ] + }, + "name": "cleanup_t_enum$_LicenseRequestType_$42", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17542:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "17552:7:2", + "type": "" + } + ], + "src": "17494:153:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17732:74:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17742:58:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17794:5:2" + } + ], + "functionName": { + "name": "cleanup_t_enum$_LicenseRequestType_$42", + "nodeType": "YulIdentifier", + "src": "17755:38:2" + }, + "nodeType": "YulFunctionCall", + "src": "17755:45:2" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "17742:9:2" + } + ] + } + ] + }, + "name": "convert_t_enum$_LicenseRequestType_$42_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17712:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "17722:9:2", + "type": "" + } + ], + "src": "17653:153:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17896:85:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17913:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17968:5:2" + } + ], + "functionName": { + "name": "convert_t_enum$_LicenseRequestType_$42_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "17918:49:2" + }, + "nodeType": "YulFunctionCall", + "src": "17918:56:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17906:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "17906:69:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17906:69:2" + } + ] + }, + "name": "abi_encode_t_enum$_LicenseRequestType_$42_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17884:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17891:3:2", + "type": "" + } + ], + "src": "17812:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18194:396:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18204:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18216:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18227:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18212:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18212:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18204:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18285:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18298:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18309:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18294:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18294:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "18241:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "18241:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18241:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18366:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18379:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18390:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18375:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18375:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "18322:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "18322:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18322:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18467:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18480:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18491:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18476:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18476:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_LicenseRequestType_$42_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "18404:62:2" + }, + "nodeType": "YulFunctionCall", + "src": "18404:91:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18404:91:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18555:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18568:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18579:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18564:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18564:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_State_$46_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "18505:49:2" + }, + "nodeType": "YulFunctionCall", + "src": "18505:78:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18505:78:2" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_enum$_LicenseRequestType_$42_t_enum$_State_$46__to_t_uint256_t_uint256_t_uint8_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18142:9:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18154:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18162:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18170:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18178:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18189:4:2", + "type": "" + } + ], + "src": "17987:603:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18699:731:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18745:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "18747:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "18747:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18747:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18720:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18729:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18716:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18716:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18741:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18712:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18712:32:2" + }, + "nodeType": "YulIf", + "src": "18709:119:2" + }, + { + "nodeType": "YulBlock", + "src": "18838:287:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18853:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18884:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18895:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18880:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18880:17:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18867:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "18867:31:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18857:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18945:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "18947:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "18947:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18947:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18917:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18925:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18914:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "18914:30:2" + }, + "nodeType": "YulIf", + "src": "18911:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "19042:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19087:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19098:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19083:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19083:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19107:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "19052:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "19052:63:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19042:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "19135:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19150:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19181:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19192:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19177:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19177:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "19164:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "19164:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "19154:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19243:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "19245:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "19245:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "19245:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19215:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19223:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19212:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "19212:30:2" + }, + "nodeType": "YulIf", + "src": "19209:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "19340:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19385:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19396:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19381:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19381:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19405:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "19350:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "19350:63:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "19340:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18661:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "18672:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18684:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18692:6:2", + "type": "" + } + ], + "src": "18596:834:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19630:430:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19640:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19652:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19663:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19648:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19648:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19640:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19720:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19733:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19744:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19729:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19729:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "19676:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "19676:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "19676:71:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19768:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19779:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19764:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19764:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19788:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19794:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19784:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19784:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19757:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "19757:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "19757:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "19814:86:2", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "19886:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19895:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19822:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "19822:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19814:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19921:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19932:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19917:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19917:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19941:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19947:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19937:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19937:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19910:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "19910:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "19910:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "19967:86:2", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "20039:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20048:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19975:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "19975:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19967:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19586:9:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "19598:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "19606:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19614:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19625:4:2", + "type": "" + } + ], + "src": "19436:624:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20108:48:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20118:32:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20143:5:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20136:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "20136:13:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20129:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "20129:21:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20118:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20090:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20100:7:2", + "type": "" + } + ], + "src": "20066:90:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20211:50:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20228:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20248:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "20233:14:2" + }, + "nodeType": "YulFunctionCall", + "src": "20233:21:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20221:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "20221:34:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20221:34:2" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20199:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20206:3:2", + "type": "" + } + ], + "src": "20162:99:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20455:2415:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20465:28:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20481:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20486:6:2", + "type": "", + "value": "0x0140" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20477:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20477:16:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20469:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "20503:243:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20546:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20576:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20583:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20572:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20572:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20566:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "20566:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "20550:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20614:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20619:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20610:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20610:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20630:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20636:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20626:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20626:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20603:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "20603:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20603:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "20654:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "20716:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20730:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "20662:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "20662:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20654:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "20756:243:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20799:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20829:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20836:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20825:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20825:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20819:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "20819:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "20803:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20867:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20872:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20863:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20863:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20883:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20889:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20879:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20879:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20856:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "20856:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20856:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "20907:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "20969:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20983:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "20915:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "20915:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20907:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21009:244:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21053:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21083:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21090:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21079:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21079:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21073:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "21073:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "21057:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21121:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21126:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21117:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21117:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21137:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21143:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21133:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21133:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21110:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "21110:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21110:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "21161:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "21223:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21237:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "21169:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "21169:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21161:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21263:251:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21314:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21344:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21351:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21340:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21340:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21334:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "21334:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "21318:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21382:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21387:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21378:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21378:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21398:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21404:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21394:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21394:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21371:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "21371:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21371:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "21422:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "21484:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21498:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "21430:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "21430:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21422:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21524:251:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21575:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21605:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21612:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21601:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21601:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21595:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "21595:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "21579:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21643:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21648:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21639:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21639:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21659:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21665:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21655:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21655:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21632:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "21632:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21632:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "21683:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "21745:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21759:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "21691:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "21691:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21683:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21785:182:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21838:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21868:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21875:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21864:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21864:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21858:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "21858:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "21842:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "21928:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21946:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21951:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21942:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21942:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "21894:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "21894:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21894:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21977:244:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22021:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22051:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22058:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22047:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22047:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22041:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "22041:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "22025:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22089:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22094:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22085:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22085:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22105:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22111:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22101:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22101:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22078:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "22078:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22078:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "22129:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "22191:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22205:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "22137:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "22137:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22129:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "22231:254:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22285:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22315:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22322:4:2", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22311:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22311:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22305:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "22305:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "22289:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22353:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22358:4:2", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22349:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22349:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22369:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22375:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22365:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22365:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22342:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "22342:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22342:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "22393:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "22455:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22469:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "22401:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "22401:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22393:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "22495:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22535:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22565:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22572:6:2", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22561:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22561:18:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22555:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "22555:25:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "22539:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "22621:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22639:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22644:6:2", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22635:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22635:16:2" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "22593:27:2" + }, + "nodeType": "YulFunctionCall", + "src": "22593:59:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22593:59:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "22672:171:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22710:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22740:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22747:6:2", + "type": "", + "value": "0x0120" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22736:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22736:18:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22730:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "22730:25:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "22714:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "22802:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22820:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22825:6:2", + "type": "", + "value": "0x0120" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22816:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22816:16:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "22768:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "22768:65:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22768:65:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22853:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22860:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22853:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20434:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20441:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20450:3:2", + "type": "" + } + ], + "src": "20335:2535:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23020:221:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23030:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23042:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23053:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23038:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23038:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23030:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23077:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23088:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23073:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23073:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23096:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23102:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23092:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23092:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23066:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "23066:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "23066:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "23122:112:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23220:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23229:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23130:89:2" + }, + "nodeType": "YulFunctionCall", + "src": "23130:104:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23122:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_vehicle_$77_memory_ptr__to_t_struct$_vehicle_$77_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22992:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23004:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23015:4:2", + "type": "" + } + ], + "src": "22876:365:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23355:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23366:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23382:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "23376:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "23376:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23366:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23338:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "23348:6:2", + "type": "" + } + ], + "src": "23247:148:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23546:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23563:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23568:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23556:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "23556:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "23556:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "23584:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23603:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23608:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23599:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23599:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "23584:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23518:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "23523:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "23534:11:2", + "type": "" + } + ], + "src": "23401:218:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23731:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23741:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "23749:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "23741:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23762:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "23774:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23779:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23770:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23770:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "23762:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "23718:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "23726:4:2", + "type": "" + } + ], + "src": "23625:166:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24017:760:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24027:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24043:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24048:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24039:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24039:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24031:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24063:170:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24104:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24134:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24141:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24130:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24130:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24124:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "24124:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "24108:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "24194:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24212:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24217:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24208:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24208:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "24160:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "24160:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "24160:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24243:252:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24295:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24325:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24332:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24321:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24321:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24315:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "24315:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "24299:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24363:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24368:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24359:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24359:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24379:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24385:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24375:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24375:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24352:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "24352:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "24352:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "24403:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "24465:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24479:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "24411:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "24411:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24403:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24505:245:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24550:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24580:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24587:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24576:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24576:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24570:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "24570:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "24554:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24618:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24623:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24614:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24614:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24634:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24640:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24630:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24630:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24607:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "24607:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "24607:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "24658:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "24720:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24734:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "24666:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "24666:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24658:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24760:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24767:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24760:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23996:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24003:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24012:3:2", + "type": "" + } + ], + "src": "23885:892:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24931:144:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24941:128:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "25057:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25065:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr", + "nodeType": "YulIdentifier", + "src": "24955:101:2" + }, + "nodeType": "YulFunctionCall", + "src": "24955:114:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "24941:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "24904:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24912:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "24920:10:2", + "type": "" + } + ], + "src": "24783:292:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25190:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25200:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "25212:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25217:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25208:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25208:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "25200:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "25177:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "25185:4:2", + "type": "" + } + ], + "src": "25081:147:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25518:991:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "25528:102:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25624:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "25542:81:2" + }, + "nodeType": "YulFunctionCall", + "src": "25542:88:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25532:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25639:127:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25754:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25759:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25646:107:2" + }, + "nodeType": "YulFunctionCall", + "src": "25646:120:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25639:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25775:20:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25792:3:2" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25779:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25804:39:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25820:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25829:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25837:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "25825:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25825:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25816:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25816:27:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25808:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25852:105:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25951:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "25867:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "25867:90:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "25856:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25966:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "25980:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "25970:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26056:408:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26077:3:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26086:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26092:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26082:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26082:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26070:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "26070:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "26070:33:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "26116:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "26143:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "26137:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "26137:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "26120:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26163:140:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "26283:13:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26298:4:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26171:111:2" + }, + "nodeType": "YulFunctionCall", + "src": "26171:132:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26163:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26316:104:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "26413:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26326:86:2" + }, + "nodeType": "YulFunctionCall", + "src": "26326:94:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "26316:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26433:21:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26444:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26449:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26440:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26440:14:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26433:3:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "26018:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26021:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "26015:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "26015:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "26029:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26031:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "26040:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26043:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26036:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26036:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "26031:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "26000:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "26002:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26011:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "26006:1:2", + "type": "" + } + ] + } + ] + }, + "src": "25996:468:2" + }, + { + "nodeType": "YulAssignment", + "src": "26473:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26480:4:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26473:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26493:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26500:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26493:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25497:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25504:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25513:3:2", + "type": "" + } + ], + "src": "25326:1183:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26731:293:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26741:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26753:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26764:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26749:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26749:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26741:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26788:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26799:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26784:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26784:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26807:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26813:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26803:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26803:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26777:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "26777:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "26777:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "26833:184:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27003:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27012:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26841:161:2" + }, + "nodeType": "YulFunctionCall", + "src": "26841:176:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26833:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26703:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "26715:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26726:4:2", + "type": "" + } + ], + "src": "26515:509:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27070:76:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "27124:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27133:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27136:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27126:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27126:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27126:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27093:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27115:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "27100:14:2" + }, + "nodeType": "YulFunctionCall", + "src": "27100:21:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "27090:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "27090:32:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "27083:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27083:40:2" + }, + "nodeType": "YulIf", + "src": "27080:60:2" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27063:5:2", + "type": "" + } + ], + "src": "27030:116:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27201:84:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27211:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "27233:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "27220:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "27220:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27211:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27273:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "27249:23:2" + }, + "nodeType": "YulFunctionCall", + "src": "27249:30:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27249:30:2" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "27179:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27187:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27195:5:2", + "type": "" + } + ], + "src": "27152:133:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27577:2609:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "27624:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "27626:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "27626:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27626:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "27598:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27607:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27594:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27594:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27619:3:2", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "27590:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27590:33:2" + }, + "nodeType": "YulIf", + "src": "27587:120:2" + }, + { + "nodeType": "YulBlock", + "src": "27717:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "27732:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27746:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "27736:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "27761:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27796:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "27807:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27792:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27792:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "27816:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "27771:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "27771:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27761:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "27844:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "27859:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27890:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27901:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27886:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27886:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "27873:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "27873:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "27863:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27952:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "27954:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "27954:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27954:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "27924:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27932:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "27921:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "27921:30:2" + }, + "nodeType": "YulIf", + "src": "27918:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "28049:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28094:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28105:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28090:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28090:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "28114:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "28059:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "28059:63:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "28049:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "28142:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28157:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28188:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28199:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28184:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28184:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "28171:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "28171:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "28161:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28250:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "28252:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "28252:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28252:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28222:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28230:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28219:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "28219:30:2" + }, + "nodeType": "YulIf", + "src": "28216:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "28347:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28392:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28403:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28388:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28388:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "28412:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "28357:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "28357:63:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "28347:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "28440:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28455:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28486:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28497:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28482:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28482:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "28469:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "28469:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "28459:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28548:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "28550:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "28550:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28550:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28520:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28528:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28517:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "28517:30:2" + }, + "nodeType": "YulIf", + "src": "28514:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "28645:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28690:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28701:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28686:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28686:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "28710:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "28655:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "28655:63:2" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "28645:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "28738:289:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28753:47:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28784:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28795:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28780:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28780:19:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "28767:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "28767:33:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "28757:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28847:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "28849:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "28849:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28849:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28819:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28827:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28816:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "28816:30:2" + }, + "nodeType": "YulIf", + "src": "28813:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "28944:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28989:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29000:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28985:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28985:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "29009:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "28954:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "28954:63:2" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "28944:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "29037:289:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29052:47:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29083:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29094:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29079:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29079:19:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "29066:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "29066:33:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "29056:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29146:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "29148:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "29148:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "29148:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29118:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29126:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "29115:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "29115:30:2" + }, + "nodeType": "YulIf", + "src": "29112:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "29243:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29288:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29299:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29284:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29284:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "29308:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "29253:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "29253:63:2" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "29243:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "29336:289:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29351:47:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29382:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29393:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29378:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29378:19:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "29365:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "29365:33:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "29355:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29445:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "29447:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "29447:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "29447:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29417:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29425:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "29414:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "29414:30:2" + }, + "nodeType": "YulIf", + "src": "29411:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "29542:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29587:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29598:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29583:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29583:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "29607:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "29552:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "29552:63:2" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "29542:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "29635:289:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29650:47:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29681:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29692:3:2", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29677:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29677:19:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "29664:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "29664:33:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "29654:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29744:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "29746:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "29746:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "29746:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29716:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29724:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "29713:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "29713:30:2" + }, + "nodeType": "YulIf", + "src": "29710:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "29841:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29886:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29897:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29882:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29882:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "29906:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "29851:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "29851:63:2" + }, + "variableNames": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "29841:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "29934:116:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29949:17:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29963:3:2", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "29953:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "29980:60:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30012:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30023:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30008:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30008:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "30032:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "29990:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "29990:50:2" + }, + "variableNames": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "29980:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "30060:119:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "30075:17:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30089:3:2", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "30079:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30106:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30141:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30152:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30137:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30137:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "30161:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "30116:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "30116:53:2" + }, + "variableNames": [ + { + "name": "value9", + "nodeType": "YulIdentifier", + "src": "30106:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_boolt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27475:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "27486:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "27498:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "27506:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "27514:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "27522:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "27530:6:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "27538:6:2", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "27546:6:2", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "27554:6:2", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "27562:6:2", + "type": "" + }, + { + "name": "value9", + "nodeType": "YulTypedName", + "src": "27570:6:2", + "type": "" + } + ], + "src": "27291:2895:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30312:859:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "30358:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "30360:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "30360:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30360:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "30333:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30342:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30329:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30329:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30354:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "30325:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30325:32:2" + }, + "nodeType": "YulIf", + "src": "30322:119:2" + }, + { + "nodeType": "YulBlock", + "src": "30451:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "30466:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30480:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "30470:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30495:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30530:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30541:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30526:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30526:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "30550:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "30505:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "30505:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "30495:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "30578:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "30593:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30624:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30635:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30620:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30620:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "30607:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "30607:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "30597:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30686:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "30688:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "30688:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30688:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30658:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30666:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30655:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "30655:30:2" + }, + "nodeType": "YulIf", + "src": "30652:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "30783:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30828:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30839:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30824:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30824:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "30848:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "30793:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "30793:63:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "30783:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "30876:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "30891:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30922:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30933:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30918:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30918:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "30905:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "30905:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "30895:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30984:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "30986:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "30986:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30986:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30956:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30964:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30953:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "30953:30:2" + }, + "nodeType": "YulIf", + "src": "30950:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "31081:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31126:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31137:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31122:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31122:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31146:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "31091:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "31091:63:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "31081:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptrt_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30266:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "30277:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "30289:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "30297:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "30305:6:2", + "type": "" + } + ], + "src": "30192:979:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31236:50:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31253:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "31273:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "31258:14:2" + }, + "nodeType": "YulFunctionCall", + "src": "31258:21:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31246:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "31246:34:2" + }, + "nodeType": "YulExpressionStatement", + "src": "31246:34:2" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "31224:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31231:3:2", + "type": "" + } + ], + "src": "31177:109:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31384:118:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31394:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31406:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31417:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31402:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31402:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31394:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31468:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31481:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31492:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31477:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31477:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "31430:37:2" + }, + "nodeType": "YulFunctionCall", + "src": "31430:65:2" + }, + "nodeType": "YulExpressionStatement", + "src": "31430:65:2" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31356:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "31368:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31379:4:2", + "type": "" + } + ], + "src": "31292:210:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31591:391:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "31637:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "31639:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "31639:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "31639:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31612:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31621:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31608:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31608:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31633:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "31604:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31604:32:2" + }, + "nodeType": "YulIf", + "src": "31601:119:2" + }, + { + "nodeType": "YulBlock", + "src": "31730:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "31745:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31759:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "31749:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "31774:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31809:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31820:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31805:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31805:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31829:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "31784:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "31784:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31774:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "31857:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "31872:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31886:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "31876:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "31902:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31937:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31948:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31933:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31933:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31957:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "31912:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "31912:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "31902:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31553:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "31564:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "31576:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "31584:6:2", + "type": "" + } + ], + "src": "31508:474:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32086:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32097:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32113:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32107:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "32107:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32097:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32069:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32079:6:2", + "type": "" + } + ], + "src": "31988:138:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32267:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32284:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32289:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32277:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "32277:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "32277:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "32305:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32324:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32329:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32320:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32320:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "32305:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32239:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32244:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "32255:11:2", + "type": "" + } + ], + "src": "32132:208:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32442:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32452:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "32460:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "32452:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32473:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "32485:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32490:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32481:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32481:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "32473:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "32429:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "32437:4:2", + "type": "" + } + ], + "src": "32346:156:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32688:666:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32698:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32714:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32719:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32710:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32710:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32702:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "32734:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32772:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32802:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32809:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32798:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32798:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32792:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "32792:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "32776:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "32862:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32880:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32885:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32876:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32876:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "32828:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "32828:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "32828:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "32911:166:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32948:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32978:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32985:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32974:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32974:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32968:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "32968:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "32952:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "33038:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33056:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33061:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33052:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33052:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "33004:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "33004:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "33004:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "33087:240:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "33127:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33157:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33164:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33153:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33153:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "33147:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "33147:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "33131:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33195:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33200:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33191:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33191:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33211:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33217:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33207:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33207:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33184:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "33184:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "33184:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "33235:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "33297:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33311:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "33243:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "33243:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33235:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33337:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33344:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33337:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32667:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32674:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32683:3:2", + "type": "" + } + ], + "src": "32576:778:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33488:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33498:108:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "33594:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33602:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr", + "nodeType": "YulIdentifier", + "src": "33512:81:2" + }, + "nodeType": "YulFunctionCall", + "src": "33512:94:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "33498:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33461:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33469:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "33477:10:2", + "type": "" + } + ], + "src": "33360:252:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33717:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33727:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "33739:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33744:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33735:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33735:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "33727:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "33704:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "33712:4:2", + "type": "" + } + ], + "src": "33618:137:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34005:931:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "34015:92:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34101:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34029:71:2" + }, + "nodeType": "YulFunctionCall", + "src": "34029:78:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34019:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34116:117:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34221:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34226:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34123:97:2" + }, + "nodeType": "YulFunctionCall", + "src": "34123:110:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34116:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34242:20:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34259:3:2" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34246:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34271:39:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34287:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34296:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34304:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "34292:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34292:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34283:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34283:27:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34275:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34319:95:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34408:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34334:73:2" + }, + "nodeType": "YulFunctionCall", + "src": "34334:80:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "34323:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34423:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "34437:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "34427:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34513:378:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34534:3:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34543:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34549:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34539:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34539:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34527:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "34527:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "34527:33:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34573:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "34600:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "34594:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "34594:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "34577:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34620:120:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "34720:13:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34735:4:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34628:91:2" + }, + "nodeType": "YulFunctionCall", + "src": "34628:112:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34620:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34753:94:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "34840:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34763:76:2" + }, + "nodeType": "YulFunctionCall", + "src": "34763:84:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "34753:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34860:21:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34871:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34876:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34867:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34867:14:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34860:3:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "34475:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34478:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "34472:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "34472:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "34486:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34488:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "34497:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34500:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34493:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34493:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "34488:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "34457:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "34459:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34468:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "34463:1:2", + "type": "" + } + ] + } + ] + }, + "src": "34453:438:2" + }, + { + "nodeType": "YulAssignment", + "src": "34900:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34907:4:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34900:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34920:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34927:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34920:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "33984:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33991:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34000:3:2", + "type": "" + } + ], + "src": "33833:1103:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35138:273:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35148:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35160:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35171:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35156:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35156:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35148:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35195:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35206:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35191:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35191:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35214:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35220:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35210:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35210:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35184:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "35184:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "35184:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "35240:164:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "35390:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35399:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35248:141:2" + }, + "nodeType": "YulFunctionCall", + "src": "35248:156:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35240:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35110:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "35122:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35133:4:2", + "type": "" + } + ], + "src": "34942:469:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35518:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35529:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "35545:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "35539:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "35539:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "35529:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "35501:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "35511:6:2", + "type": "" + } + ], + "src": "35417:141:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35702:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35719:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "35724:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35712:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "35712:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "35712:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "35740:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35759:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35764:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35755:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35755:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "35740:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35674:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "35679:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "35690:11:2", + "type": "" + } + ], + "src": "35564:211:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35880:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35890:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "35898:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "35890:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "35911:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "35923:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35928:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35919:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35919:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "35911:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "35867:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "35875:4:2", + "type": "" + } + ], + "src": "35781:159:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36140:497:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "36150:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36166:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36171:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36162:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36162:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36154:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "36186:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "36224:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "36254:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36261:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36250:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36250:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "36244:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "36244:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "36228:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "36314:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36332:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36337:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36328:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36328:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "36280:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "36280:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36280:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "36363:247:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "36410:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "36440:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36447:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36436:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36436:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "36430:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "36430:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "36414:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36478:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36483:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36474:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36474:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36494:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36500:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36490:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36490:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36467:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36467:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36467:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "36518:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "36580:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36594:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "36526:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "36526:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36518:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "36620:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36627:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "36620:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "36119:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36126:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "36135:3:2", + "type": "" + } + ], + "src": "36022:615:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36777:130:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36787:114:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "36889:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36897:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr", + "nodeType": "YulIdentifier", + "src": "36801:87:2" + }, + "nodeType": "YulFunctionCall", + "src": "36801:100:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "36787:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "36750:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36758:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "36766:10:2", + "type": "" + } + ], + "src": "36643:264:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37015:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37025:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "37037:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37042:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37033:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37033:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "37025:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "37002:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "37010:4:2", + "type": "" + } + ], + "src": "36913:140:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37317:949:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "37327:95:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37416:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "37341:74:2" + }, + "nodeType": "YulFunctionCall", + "src": "37341:81:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "37331:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "37431:120:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37539:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37544:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37438:100:2" + }, + "nodeType": "YulFunctionCall", + "src": "37438:113:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37431:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37560:20:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37577:3:2" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37564:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37589:39:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37605:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37614:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37622:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "37610:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37610:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37601:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37601:27:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37593:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37637:98:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37729:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "37652:76:2" + }, + "nodeType": "YulFunctionCall", + "src": "37652:83:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "37641:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37744:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "37758:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "37748:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37834:387:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37855:3:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37864:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37870:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37860:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37860:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37848:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "37848:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "37848:33:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37894:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "37921:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37915:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "37915:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "37898:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "37941:126:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "38047:13:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38062:4:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr", + "nodeType": "YulIdentifier", + "src": "37949:97:2" + }, + "nodeType": "YulFunctionCall", + "src": "37949:118:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37941:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38080:97:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "38170:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "38090:79:2" + }, + "nodeType": "YulFunctionCall", + "src": "38090:87:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "38080:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38190:21:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38201:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38206:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38197:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38197:14:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38190:3:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "37796:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37799:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37793:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "37793:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "37807:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37809:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "37818:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37821:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37814:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37814:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "37809:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "37778:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "37780:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37789:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "37784:1:2", + "type": "" + } + ] + } + ] + }, + "src": "37774:447:2" + }, + { + "nodeType": "YulAssignment", + "src": "38230:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38237:4:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38230:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38250:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38257:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38250:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37296:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37303:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37312:3:2", + "type": "" + } + ], + "src": "37139:1127:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38474:279:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38484:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38496:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38507:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38492:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38492:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38484:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38531:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38542:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38527:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38527:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38550:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38556:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38546:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38546:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38520:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "38520:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "38520:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "38576:170:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "38732:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38741:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38584:147:2" + }, + "nodeType": "YulFunctionCall", + "src": "38584:162:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38576:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "38446:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "38458:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "38469:4:2", + "type": "" + } + ], + "src": "38272:481:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39243:1360:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39253:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39265:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39276:3:2", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39261:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39261:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39253:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39301:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39312:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39297:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39297:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39320:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39326:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39316:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39316:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39290:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39290:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39290:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "39346:86:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "39418:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39427:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39354:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "39354:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39346:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39453:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39464:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39449:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39449:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39473:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39479:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39469:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39469:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39442:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39442:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39442:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "39499:86:2", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "39571:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39580:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39507:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "39507:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39499:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39606:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39617:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39602:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39602:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39626:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39632:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39622:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39622:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39595:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39595:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39595:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "39652:86:2", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "39724:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39733:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39660:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "39660:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39652:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39759:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39770:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39755:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39755:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39779:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39785:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39775:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39775:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39748:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39748:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39748:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "39805:86:2", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "39877:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39886:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39813:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "39813:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39805:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39912:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39923:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39908:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39908:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39933:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39939:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39929:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39929:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39901:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39901:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39901:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "39959:86:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "40031:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40040:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39967:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "39967:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39959:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "40099:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40112:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40123:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40108:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40108:19:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "40055:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "40055:73:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40055:73:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40149:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40160:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40145:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40145:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40170:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40176:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40166:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40166:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40138:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "40138:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40138:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "40196:86:2", + "value": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "40268:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40277:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40204:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "40204:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40196:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40303:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40314:3:2", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40299:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40299:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40324:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40330:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40320:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40320:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40292:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "40292:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40292:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "40350:86:2", + "value": { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "40422:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40431:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40358:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "40358:78:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40350:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "40484:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40497:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40508:3:2", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40493:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40493:19:2" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "40446:37:2" + }, + "nodeType": "YulFunctionCall", + "src": "40446:67:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40446:67:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value9", + "nodeType": "YulIdentifier", + "src": "40567:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40580:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40591:3:2", + "type": "", + "value": "288" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40576:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40576:19:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "40523:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "40523:73:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40523:73:2" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39143:9:2", + "type": "" + }, + { + "name": "value9", + "nodeType": "YulTypedName", + "src": "39155:6:2", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "39163:6:2", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "39171:6:2", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "39179:6:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "39187:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "39195:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "39203:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "39211:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "39219:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "39227:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39238:4:2", + "type": "" + } + ], + "src": "38759:1844:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40706:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40717:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40733:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "40727:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "40727:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40717:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40689:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40699:6:2", + "type": "" + } + ], + "src": "40609:137:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40886:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40903:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40908:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40896:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "40896:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40896:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "40924:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40943:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40948:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40939:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40939:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "40924:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40858:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40863:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "40874:11:2", + "type": "" + } + ], + "src": "40752:207:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41060:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41070:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "41078:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "41070:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41091:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "41103:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41108:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41099:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41099:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "41091:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "41047:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "41055:4:2", + "type": "" + } + ], + "src": "40965:155:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41304:2415:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "41314:28:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41330:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41335:6:2", + "type": "", + "value": "0x0140" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41326:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41326:16:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41318:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "41352:243:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "41395:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41425:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41432:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41421:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41421:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41415:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "41415:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "41399:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41463:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41468:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41459:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41459:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41479:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41485:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41475:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41475:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41452:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "41452:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41452:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "41503:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "41565:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41579:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "41511:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "41511:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41503:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "41605:243:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "41648:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41678:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41685:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41674:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41674:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41668:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "41668:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "41652:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41716:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41721:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41712:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41712:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41732:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41738:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41728:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41728:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41705:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "41705:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41705:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "41756:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "41818:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41832:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "41764:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "41764:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41756:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "41858:244:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "41902:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41932:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41939:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41928:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41928:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41922:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "41922:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "41906:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41970:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41975:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41966:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41966:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41986:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41992:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41982:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41982:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41959:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "41959:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41959:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "42010:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "42072:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42086:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "42018:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "42018:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42010:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "42112:251:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "42163:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42193:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42200:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42189:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42189:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "42183:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "42183:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "42167:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42231:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42236:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42227:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42227:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42247:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42253:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42243:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42243:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42220:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "42220:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42220:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "42271:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "42333:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42347:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "42279:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "42279:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42271:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "42373:251:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "42424:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42454:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42461:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42450:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42450:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "42444:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "42444:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "42428:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42492:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42497:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42488:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42488:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42508:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42514:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42504:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42504:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42481:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "42481:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42481:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "42532:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "42594:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42608:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "42540:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "42540:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42532:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "42634:182:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "42687:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42717:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42724:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42713:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42713:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "42707:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "42707:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "42691:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "42777:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42795:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42800:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42791:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42791:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "42743:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "42743:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42743:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "42826:244:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "42870:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42900:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42907:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42896:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42896:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "42890:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "42890:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "42874:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42938:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42943:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42934:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42934:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42954:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42960:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42950:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42950:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42927:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "42927:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42927:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "42978:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "43040:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43054:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "42986:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "42986:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42978:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "43080:254:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43134:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43164:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43171:4:2", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43160:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43160:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "43154:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "43154:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "43138:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43202:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43207:4:2", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43198:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43198:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43218:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43224:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43214:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43214:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43191:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "43191:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "43191:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "43242:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "43304:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43318:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "43250:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "43250:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43242:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "43344:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43384:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43414:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43421:6:2", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43410:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43410:18:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "43404:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "43404:25:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "43388:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "43470:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43488:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43493:6:2", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43484:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43484:16:2" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "43442:27:2" + }, + "nodeType": "YulFunctionCall", + "src": "43442:59:2" + }, + "nodeType": "YulExpressionStatement", + "src": "43442:59:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "43521:171:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43559:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43589:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43596:6:2", + "type": "", + "value": "0x0120" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43585:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43585:18:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "43579:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "43579:25:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "43563:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "43651:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43669:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43674:6:2", + "type": "", + "value": "0x0120" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43665:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43665:16:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "43617:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "43617:65:2" + }, + "nodeType": "YulExpressionStatement", + "src": "43617:65:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43702:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43709:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "43702:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "41283:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41290:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41299:3:2", + "type": "" + } + ], + "src": "41194:2525:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43851:122:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43861:106:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "43955:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43963:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr", + "nodeType": "YulIdentifier", + "src": "43875:79:2" + }, + "nodeType": "YulFunctionCall", + "src": "43875:92:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "43861:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "43824:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "43832:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "43840:10:2", + "type": "" + } + ], + "src": "43725:248:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44077:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44087:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "44099:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44104:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44095:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44095:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "44087:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "44064:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "44072:4:2", + "type": "" + } + ], + "src": "43979:136:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44363:925:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "44373:91:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "44458:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "44387:70:2" + }, + "nodeType": "YulFunctionCall", + "src": "44387:77:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "44377:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44473:116:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44577:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "44582:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44480:96:2" + }, + "nodeType": "YulFunctionCall", + "src": "44480:109:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44473:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "44598:20:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44615:3:2" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44602:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "44627:39:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44643:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "44652:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44660:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "44648:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44648:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44639:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44639:27:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44631:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "44675:94:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "44763:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "44690:72:2" + }, + "nodeType": "YulFunctionCall", + "src": "44690:79:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "44679:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "44778:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "44792:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "44782:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44868:375:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44889:3:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44898:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44904:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44894:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44894:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44882:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "44882:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "44882:33:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "44928:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "44955:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "44949:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "44949:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "44932:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44975:118:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "45073:13:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45088:4:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr", + "nodeType": "YulIdentifier", + "src": "44983:89:2" + }, + "nodeType": "YulFunctionCall", + "src": "44983:110:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44975:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45106:93:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "45192:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "45116:75:2" + }, + "nodeType": "YulFunctionCall", + "src": "45116:83:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "45106:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45212:21:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45223:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45228:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45219:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45219:14:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45212:3:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "44830:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "44833:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "44827:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "44827:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "44841:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44843:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "44852:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44855:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44848:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44848:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "44843:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "44812:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "44814:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44823:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "44818:1:2", + "type": "" + } + ] + } + ] + }, + "src": "44808:435:2" + }, + { + "nodeType": "YulAssignment", + "src": "45252:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45259:4:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45252:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45272:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45279:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "45272:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "44342:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44349:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "44358:3:2", + "type": "" + } + ], + "src": "44193:1095:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45488:271:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45498:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45510:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45521:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45506:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45506:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45498:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45545:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45556:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45541:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45541:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45564:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45570:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45560:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45560:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45534:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "45534:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45534:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "45590:162:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "45738:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45747:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45598:139:2" + }, + "nodeType": "YulFunctionCall", + "src": "45598:154:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45590:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45460:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "45472:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45483:4:2", + "type": "" + } + ], + "src": "45294:465:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45820:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45837:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45860:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "45842:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "45842:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45830:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "45830:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45830:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "45808:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45815:3:2", + "type": "" + } + ], + "src": "45765:108:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45939:71:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45956:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45997:5:2" + } + ], + "functionName": { + "name": "convert_t_enum$_Role_$39_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "45961:35:2" + }, + "nodeType": "YulFunctionCall", + "src": "45961:42:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45949:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "45949:55:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45949:55:2" + } + ] + }, + "name": "abi_encode_t_enum$_Role_$39_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "45927:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45934:3:2", + "type": "" + } + ], + "src": "45879:131:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46192:1687:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "46202:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46218:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46223:4:2", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46214:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46214:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46206:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "46238:172:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "46281:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "46311:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46318:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46307:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46307:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46301:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "46301:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "46285:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "46371:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46389:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46394:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46385:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46385:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "46337:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "46337:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "46337:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "46420:240:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "46460:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "46490:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46497:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46486:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46486:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46480:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "46480:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "46464:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46528:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46533:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46524:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46524:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46544:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46550:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46540:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46540:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46517:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "46517:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "46517:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "46568:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "46630:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46644:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "46576:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "46576:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46568:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "46670:241:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "46711:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "46741:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46748:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46737:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46737:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46731:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "46731:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "46715:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46779:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46784:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46775:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46775:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46795:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46801:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46791:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46791:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46768:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "46768:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "46768:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "46819:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "46881:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46895:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "46827:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "46827:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46819:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "46921:244:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "46965:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "46995:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47002:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46991:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46991:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46985:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "46985:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "46969:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47033:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47038:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47029:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47029:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47049:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47055:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47045:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47045:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47022:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "47022:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47022:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "47073:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "47135:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47149:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "47081:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "47081:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47073:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "47175:241:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47216:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "47246:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47253:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47242:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47242:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47236:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "47236:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "47220:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47284:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47289:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47280:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47280:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47300:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47306:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47296:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47296:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47273:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "47273:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47273:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "47324:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "47386:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47400:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "47332:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "47332:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47324:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "47426:247:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47473:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "47503:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47510:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47499:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47499:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47493:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "47493:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "47477:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47541:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47546:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47537:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47537:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47557:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47563:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47553:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47553:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47530:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "47530:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47530:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "47581:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "47643:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47657:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "47589:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "47589:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47581:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "47683:169:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47718:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "47748:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47755:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47744:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47744:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47738:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "47738:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "47722:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "47813:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47831:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47836:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47827:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47827:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_Role_$39_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "47774:38:2" + }, + "nodeType": "YulFunctionCall", + "src": "47774:68:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47774:68:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "47862:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47869:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "47862:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "46171:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "46178:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "46187:3:2", + "type": "" + } + ], + "src": "46078:1801:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48023:215:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48033:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48045:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48056:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48041:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48041:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48033:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48080:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48091:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48076:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48076:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48099:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48105:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "48095:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48095:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48069:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "48069:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "48069:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "48125:106:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "48217:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48226:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "48133:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "48133:98:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48125:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_user_$93_memory_ptr__to_t_struct$_user_$93_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "47995:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "48007:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "48018:4:2", + "type": "" + } + ], + "src": "47885:353:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48338:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48349:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "48365:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "48359:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "48359:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "48349:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "48321:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "48331:6:2", + "type": "" + } + ], + "src": "48244:134:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48515:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48532:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "48537:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48525:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "48525:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "48525:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "48553:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48572:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48577:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48568:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48568:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "48553:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "48487:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "48492:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "48503:11:2", + "type": "" + } + ], + "src": "48384:204:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48686:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48696:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "48704:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "48696:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "48717:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "48729:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48734:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48725:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48725:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "48717:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "48673:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "48681:4:2", + "type": "" + } + ], + "src": "48594:152:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48918:1687:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "48928:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48944:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48949:4:2", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48940:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48940:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "48932:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "48964:172:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "49007:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "49037:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49044:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49033:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49033:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "49027:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "49027:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "49011:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "49097:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49115:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49120:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49111:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49111:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "49063:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "49063:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49063:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "49146:240:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "49186:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "49216:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49223:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49212:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49212:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "49206:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "49206:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "49190:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49254:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49259:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49250:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49250:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49270:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49276:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "49266:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49266:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49243:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "49243:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49243:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "49294:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "49356:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49370:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "49302:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "49302:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49294:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "49396:241:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "49437:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "49467:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49474:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49463:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49463:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "49457:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "49457:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "49441:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49505:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49510:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49501:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49501:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49521:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49527:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "49517:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49517:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49494:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "49494:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49494:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "49545:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "49607:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49621:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "49553:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "49553:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49545:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "49647:244:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "49691:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "49721:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49728:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49717:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49717:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "49711:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "49711:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "49695:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49759:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49764:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49755:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49755:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49775:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49781:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "49771:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49771:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49748:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "49748:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49748:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "49799:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "49861:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49875:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "49807:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "49807:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49799:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "49901:241:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "49942:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "49972:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49979:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49968:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49968:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "49962:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "49962:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "49946:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50010:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50015:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50006:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50006:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50026:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50032:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50022:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50022:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49999:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "49999:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49999:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "50050:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "50112:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50126:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "50058:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "50058:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50050:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "50152:247:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "50199:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "50229:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50236:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50225:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50225:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "50219:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "50219:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "50203:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50267:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50272:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50263:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50263:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50283:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50289:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50279:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50279:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50256:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "50256:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50256:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "50307:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "50369:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50383:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "50315:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "50315:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50307:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "50409:169:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "50444:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "50474:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50481:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50470:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50470:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "50464:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "50464:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "50448:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "50539:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50557:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50562:4:2", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50553:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50553:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_Role_$39_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "50500:38:2" + }, + "nodeType": "YulFunctionCall", + "src": "50500:68:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50500:68:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "50588:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50595:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "50588:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "48897:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "48904:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "48913:3:2", + "type": "" + } + ], + "src": "48814:1791:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50731:116:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "50741:100:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "50829:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50837:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr", + "nodeType": "YulIdentifier", + "src": "50755:73:2" + }, + "nodeType": "YulFunctionCall", + "src": "50755:86:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "50741:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "50704:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "50712:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "50720:10:2", + "type": "" + } + ], + "src": "50611:236:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50948:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "50958:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "50970:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50975:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50966:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50966:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "50958:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "50935:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "50943:4:2", + "type": "" + } + ], + "src": "50853:133:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51222:907:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51232:88:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51314:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "51246:67:2" + }, + "nodeType": "YulFunctionCall", + "src": "51246:74:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "51236:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "51329:113:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "51430:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "51435:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "51336:93:2" + }, + "nodeType": "YulFunctionCall", + "src": "51336:106:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "51329:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51451:20:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "51468:3:2" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "51455:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51480:39:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "51496:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "51505:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51513:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "51501:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51501:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51492:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51492:27:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "51484:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51528:91:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51613:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "51543:69:2" + }, + "nodeType": "YulFunctionCall", + "src": "51543:76:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "51532:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51628:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "51642:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "51632:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51718:366:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "51739:3:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51748:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51754:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "51744:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51744:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51732:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "51732:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "51732:33:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51778:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "51805:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51799:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "51799:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "51782:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "51825:112:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "51917:13:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51932:4:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr", + "nodeType": "YulIdentifier", + "src": "51833:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "51833:104:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51825:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "51950:90:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "52033:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "51960:72:2" + }, + "nodeType": "YulFunctionCall", + "src": "51960:80:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "51950:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "52053:21:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52064:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52069:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52060:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52060:14:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52053:3:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "51680:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "51683:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "51677:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "51677:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "51691:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "51693:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "51702:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51705:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51698:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51698:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "51693:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "51662:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51664:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51673:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "51668:1:2", + "type": "" + } + ] + } + ] + }, + "src": "51658:426:2" + }, + { + "nodeType": "YulAssignment", + "src": "52093:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52100:4:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52093:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "52113:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52120:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "52113:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "51201:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "51208:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "51217:3:2", + "type": "" + } + ], + "src": "51058:1071:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52323:265:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "52333:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52345:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52356:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52341:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52341:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52333:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52380:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52391:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52376:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52376:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52399:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52405:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "52395:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52395:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52369:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "52369:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52369:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "52425:156:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "52567:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52576:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "52433:133:2" + }, + "nodeType": "YulFunctionCall", + "src": "52433:148:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52425:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "52295:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "52307:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "52318:4:2", + "type": "" + } + ], + "src": "52135:453:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52644:56:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "52678:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52687:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52690:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "52680:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "52680:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52680:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52667:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52674:1:2", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "52664:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "52664:12:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "52657:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "52657:20:2" + }, + "nodeType": "YulIf", + "src": "52654:40:2" + } + ] + }, + "name": "validator_revert_t_enum$_Role_$39", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "52637:5:2", + "type": "" + } + ], + "src": "52594:106:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52765:94:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "52775:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "52797:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "52784:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "52784:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52775:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52847:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_Role_$39", + "nodeType": "YulIdentifier", + "src": "52813:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "52813:40:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52813:40:2" + } + ] + }, + "name": "abi_decode_t_enum$_Role_$39", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "52743:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "52751:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "52759:5:2", + "type": "" + } + ], + "src": "52706:153:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53090:1892:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "53137:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "53139:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "53139:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53139:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "53111:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53120:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "53107:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53107:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53132:3:2", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "53103:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53103:33:2" + }, + "nodeType": "YulIf", + "src": "53100:120:2" + }, + { + "nodeType": "YulBlock", + "src": "53230:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "53245:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53259:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "53249:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "53274:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53309:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "53320:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53305:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53305:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "53329:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "53284:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "53284:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "53274:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "53357:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "53372:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53403:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53414:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53399:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53399:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "53386:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "53386:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "53376:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53465:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "53467:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "53467:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53467:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "53437:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53445:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "53434:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "53434:30:2" + }, + "nodeType": "YulIf", + "src": "53431:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "53562:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53607:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "53618:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53603:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53603:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "53627:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "53572:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "53572:63:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "53562:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "53655:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "53670:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53701:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53712:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53697:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53697:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "53684:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "53684:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "53674:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53763:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "53765:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "53765:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53765:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "53735:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53743:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "53732:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "53732:30:2" + }, + "nodeType": "YulIf", + "src": "53729:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "53860:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53905:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "53916:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53901:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53901:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "53925:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "53870:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "53870:63:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "53860:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "53953:288:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "53968:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53999:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54010:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53995:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53995:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "53982:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "53982:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "53972:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54061:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "54063:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "54063:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "54063:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54033:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54041:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "54030:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "54030:30:2" + }, + "nodeType": "YulIf", + "src": "54027:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "54158:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54203:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54214:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54199:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54199:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "54223:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "54168:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "54168:63:2" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "54158:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "54251:289:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "54266:47:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54297:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54308:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54293:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54293:19:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "54280:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "54280:33:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "54270:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54360:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "54362:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "54362:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "54362:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54332:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54340:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "54329:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "54329:30:2" + }, + "nodeType": "YulIf", + "src": "54326:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "54457:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54502:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54513:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54498:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54498:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "54522:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "54467:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "54467:63:2" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "54457:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "54550:289:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "54565:47:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54596:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54607:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54592:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54592:19:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "54579:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "54579:33:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "54569:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54659:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "54661:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "54661:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "54661:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54631:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54639:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "54628:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "54628:30:2" + }, + "nodeType": "YulIf", + "src": "54625:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "54756:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54801:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54812:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54797:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54797:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "54821:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "54766:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "54766:63:2" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "54756:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "54849:126:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "54864:17:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54878:3:2", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "54868:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "54895:70:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54937:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "54948:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54933:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54933:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "54957:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_Role_$39", + "nodeType": "YulIdentifier", + "src": "54905:27:2" + }, + "nodeType": "YulFunctionCall", + "src": "54905:60:2" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "54895:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_enum$_Role_$39", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "53012:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "53023:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "53035:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "53043:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "53051:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "53059:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "53067:6:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "53075:6:2", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "53083:6:2", + "type": "" + } + ], + "src": "52865:2117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55016:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55033:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55036:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55026:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55026:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55026:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55130:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55133:4:2", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55123:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55123:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55123:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55154:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55157:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "55147:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55147:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55147:15:2" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "54988:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55202:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55219:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55222:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55212:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55212:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55212:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55316:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55319:4:2", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55309:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55309:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55309:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55340:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55343:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "55333:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55333:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55333:15:2" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "55174:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55403:190:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "55413:33:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "55440:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "55422:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "55422:24:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "55413:5:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55536:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "55538:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "55538:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55538:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "55461:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55468:66:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "55458:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "55458:77:2" + }, + "nodeType": "YulIf", + "src": "55455:103:2" + }, + { + "nodeType": "YulAssignment", + "src": "55567:20:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "55578:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55585:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55574:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55574:13:2" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "55567:3:2" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "55389:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "55399:3:2", + "type": "" + } + ], + "src": "55360:233:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55627:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55644:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55647:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55637:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55637:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55637:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55741:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55744:4:2", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55734:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55734:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55734:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55765:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55768:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "55758:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55758:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55758:15:2" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "55599:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55836:269:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "55846:22:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "55860:4:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55866:1:2", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "55856:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55856:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "55846:6:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "55877:38:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "55907:4:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55913:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "55903:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55903:12:2" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "55881:18:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55954:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "55968:27:2", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "55982:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55990:4:2", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "55978:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55978:17:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "55968:6:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "55934:18:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "55927:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55927:26:2" + }, + "nodeType": "YulIf", + "src": "55924:81:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56057:42:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "56071:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "56071:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "56071:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "56021:18:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56044:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56052:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "56041:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "56041:14:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "56018:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "56018:38:2" + }, + "nodeType": "YulIf", + "src": "56015:84:2" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "55820:4:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "55829:6:2", + "type": "" + } + ], + "src": "55785:320:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56165:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56175:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "56183:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "56175:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56203:1:2", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "56206:3:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56196:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "56196:14:2" + }, + "nodeType": "YulExpressionStatement", + "src": "56196:14:2" + }, + { + "nodeType": "YulAssignment", + "src": "56219:26:2", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56237:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56240:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "56227:9:2" + }, + "nodeType": "YulFunctionCall", + "src": "56227:18:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "56219:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "56152:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "56160:4:2", + "type": "" + } + ], + "src": "56111:141:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56302:49:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56312:33:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "56330:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56337:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56326:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56326:14:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56342:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "56322:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56322:23:2" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "56312:6:2" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "56285:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "56295:6:2", + "type": "" + } + ], + "src": "56258:93:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56410:54:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56420:37:2", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "56445:4:2" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "56451:5:2" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "56441:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56441:16:2" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "56420:8:2" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "56385:4:2", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "56391:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "56401:8:2", + "type": "" + } + ], + "src": "56357:107:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56546:317:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "56556:35:2", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nodeType": "YulIdentifier", + "src": "56577:10:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56589:1:2", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "56573:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56573:18:2" + }, + "variables": [ + { + "name": "shiftBits", + "nodeType": "YulTypedName", + "src": "56560:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56600:109:2", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "56631:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56642:66:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "56612:18:2" + }, + "nodeType": "YulFunctionCall", + "src": "56612:97:2" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "56604:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "56718:51:2", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "56749:9:2" + }, + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "56760:8:2" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "56730:18:2" + }, + "nodeType": "YulFunctionCall", + "src": "56730:39:2" + }, + "variableNames": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "56718:8:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "56778:30:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "56791:5:2" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "56802:4:2" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "56798:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56798:9:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "56787:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56787:21:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "56778:5:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "56817:40:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "56830:5:2" + }, + { + "arguments": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "56841:8:2" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "56851:4:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "56837:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56837:19:2" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "56827:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "56827:30:2" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "56817:6:2" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "56507:5:2", + "type": "" + }, + { + "name": "shiftBytes", + "nodeType": "YulTypedName", + "src": "56514:10:2", + "type": "" + }, + { + "name": "toInsert", + "nodeType": "YulTypedName", + "src": "56526:8:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "56539:6:2", + "type": "" + } + ], + "src": "56470:393:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56901:28:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56911:12:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "56918:5:2" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56911:3:2" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "56887:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "56897:3:2", + "type": "" + } + ], + "src": "56869:60:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56995:82:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57005:66:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "57063:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "57045:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "57045:24:2" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "57036:8:2" + }, + "nodeType": "YulFunctionCall", + "src": "57036:34:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "57018:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "57018:53:2" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "57005:9:2" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "56975:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "56985:9:2", + "type": "" + } + ], + "src": "56935:142:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57130:28:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57140:12:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "57147:5:2" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "57140:3:2" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "57116:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "57126:3:2", + "type": "" + } + ], + "src": "57083:75:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57240:193:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "57250:63:2", + "value": { + "arguments": [ + { + "name": "value_0", + "nodeType": "YulIdentifier", + "src": "57305:7:2" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "57274:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "57274:39:2" + }, + "variables": [ + { + "name": "convertedValue_0", + "nodeType": "YulTypedName", + "src": "57254:16:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "57329:4:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "57369:4:2" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "57363:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "57363:11:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "57376:6:2" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nodeType": "YulIdentifier", + "src": "57408:16:2" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nodeType": "YulIdentifier", + "src": "57384:23:2" + }, + "nodeType": "YulFunctionCall", + "src": "57384:41:2" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nodeType": "YulIdentifier", + "src": "57335:27:2" + }, + "nodeType": "YulFunctionCall", + "src": "57335:91:2" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "57322:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "57322:105:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57322:105:2" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "57217:4:2", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "57223:6:2", + "type": "" + }, + { + "name": "value_0", + "nodeType": "YulTypedName", + "src": "57231:7:2", + "type": "" + } + ], + "src": "57164:269:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57488:24:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57498:8:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57505:1:2", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "57498:3:2" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "57484:3:2", + "type": "" + } + ], + "src": "57439:73:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57571:136:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "57581:46:2", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulIdentifier", + "src": "57595:30:2" + }, + "nodeType": "YulFunctionCall", + "src": "57595:32:2" + }, + "variables": [ + { + "name": "zero_0", + "nodeType": "YulTypedName", + "src": "57585:6:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "57680:4:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "57686:6:2" + }, + { + "name": "zero_0", + "nodeType": "YulIdentifier", + "src": "57694:6:2" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "57636:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "57636:65:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57636:65:2" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "57557:4:2", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "57563:6:2", + "type": "" + } + ], + "src": "57518:189:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57763:136:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "57830:63:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "57874:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57881:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulIdentifier", + "src": "57844:29:2" + }, + "nodeType": "YulFunctionCall", + "src": "57844:39:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57844:39:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "57783:5:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "57790:3:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "57780:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "57780:14:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "57795:26:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57797:22:2", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "57810:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57817:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57806:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57806:13:2" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "57797:5:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "57777:2:2", + "statements": [] + }, + "src": "57773:120:2" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "57751:5:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "57758:3:2", + "type": "" + } + ], + "src": "57713:186:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57984:464:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "58010:431:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "58024:54:2", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "58072:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "58040:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "58040:38:2" + }, + "variables": [ + { + "name": "dataArea", + "nodeType": "YulTypedName", + "src": "58028:8:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58091:63:2", + "value": { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "58114:8:2" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "58142:10:2" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "58124:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "58124:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58110:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58110:44:2" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "58095:11:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58311:27:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "58313:23:2", + "value": { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "58328:8:2" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "58313:11:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "58295:10:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58307:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "58292:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "58292:18:2" + }, + "nodeType": "YulIf", + "src": "58289:49:2" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "58380:11:2" + }, + { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "58397:8:2" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "58425:3:2" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "58407:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "58407:22:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58393:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58393:37:2" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulIdentifier", + "src": "58351:28:2" + }, + "nodeType": "YulFunctionCall", + "src": "58351:80:2" + }, + "nodeType": "YulExpressionStatement", + "src": "58351:80:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "58001:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58006:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "57998:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "57998:11:2" + }, + "nodeType": "YulIf", + "src": "57995:446:2" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "57960:5:2", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "57967:3:2", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "57972:10:2", + "type": "" + } + ], + "src": "57905:543:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58517:54:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "58527:37:2", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "58552:4:2" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "58558:5:2" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "58548:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58548:16:2" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "58527:8:2" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "58492:4:2", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "58498:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "58508:8:2", + "type": "" + } + ], + "src": "58454:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58628:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "58638:68:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58687:1:2", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nodeType": "YulIdentifier", + "src": "58690:5:2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "58683:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58683:13:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58702:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "58698:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58698:6:2" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulIdentifier", + "src": "58654:28:2" + }, + "nodeType": "YulFunctionCall", + "src": "58654:51:2" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "58650:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58650:56:2" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "58642:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "58715:25:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "58729:4:2" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "58735:4:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "58725:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58725:15:2" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "58715:6:2" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "58605:4:2", + "type": "" + }, + { + "name": "bytes", + "nodeType": "YulTypedName", + "src": "58611:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "58621:6:2", + "type": "" + } + ], + "src": "58577:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58832:214:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "58965:37:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "58992:4:2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "58998:3:2" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "58973:18:2" + }, + "nodeType": "YulFunctionCall", + "src": "58973:29:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "58965:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "59011:29:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "59022:4:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59032:1:2", + "type": "", + "value": "2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "59035:3:2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "59028:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59028:11:2" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "59019:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "59019:21:2" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "59011:4:2" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "58813:4:2", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "58819:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "58827:4:2", + "type": "" + } + ], + "src": "58751:295:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59143:1303:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "59154:51:2", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "59201:3:2" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "59168:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "59168:37:2" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "59158:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59290:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "59292:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "59292:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59292:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "59262:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59270:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "59259:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "59259:30:2" + }, + "nodeType": "YulIf", + "src": "59256:56:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59322:52:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "59368:4:2" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "59362:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "59362:11:2" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "59336:25:2" + }, + "nodeType": "YulFunctionCall", + "src": "59336:38:2" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "59326:6:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "59467:4:2" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "59473:6:2" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "59481:6:2" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "59421:45:2" + }, + "nodeType": "YulFunctionCall", + "src": "59421:67:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59421:67:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59498:18:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59515:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "59502:9:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "59526:17:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59539:4:2", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "59526:9:2" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "59590:611:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "59604:37:2", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "59623:6:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59635:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "59631:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59631:9:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "59619:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59619:22:2" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "59608:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59655:51:2", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "59701:4:2" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "59669:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "59669:37:2" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "59659:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59719:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59728:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "59723:1:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59787:163:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "59812:6:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "59830:3:2" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "59835:9:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59826:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59826:19:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59820:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "59820:26:2" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "59805:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "59805:42:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59805:42:2" + }, + { + "nodeType": "YulAssignment", + "src": "59864:24:2", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "59878:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59886:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59874:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59874:14:2" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "59864:6:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "59905:31:2", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "59922:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59933:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59918:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59918:18:2" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "59905:9:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "59753:1:2" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "59756:7:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "59750:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "59750:14:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "59765:21:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "59767:17:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "59776:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59779:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59772:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59772:12:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "59767:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "59746:3:2", + "statements": [] + }, + "src": "59742:208:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59986:156:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "60004:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "60031:3:2" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "60036:9:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60027:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60027:19:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "60021:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "60021:26:2" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "60008:9:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "60071:6:2" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "60098:9:2" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "60113:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60121:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "60109:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60109:17:2" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "60079:18:2" + }, + "nodeType": "YulFunctionCall", + "src": "60079:48:2" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "60064:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "60064:64:2" + }, + "nodeType": "YulExpressionStatement", + "src": "60064:64:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "59969:7:2" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "59978:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "59966:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "59966:19:2" + }, + "nodeType": "YulIf", + "src": "59963:179:2" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "60162:4:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "60176:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60184:1:2", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "60172:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60172:14:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60188:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60168:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60168:22:2" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "60155:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "60155:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "60155:36:2" + } + ] + }, + "nodeType": "YulCase", + "src": "59583:618:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59588:1:2", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60218:222:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "60232:14:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60245:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "60236:5:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60269:67:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "60287:35:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "60306:3:2" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "60311:9:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60302:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60302:19:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "60296:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "60296:26:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "60287:5:2" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "60262:6:2" + }, + "nodeType": "YulIf", + "src": "60259:77:2" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "60356:4:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "60415:5:2" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "60422:6:2" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "60362:52:2" + }, + "nodeType": "YulFunctionCall", + "src": "60362:67:2" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "60349:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "60349:81:2" + }, + "nodeType": "YulExpressionStatement", + "src": "60349:81:2" + } + ] + }, + "nodeType": "YulCase", + "src": "60210:230:2", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "59563:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59571:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "59560:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "59560:14:2" + }, + "nodeType": "YulSwitch", + "src": "59553:887:2" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "59132:4:2", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "59138:3:2", + "type": "" + } + ], + "src": "59051:1395:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60494:52:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "60504:35:2", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60529:2:2", + "type": "", + "value": "96" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "60533:5:2" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "60525:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60525:14:2" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "60504:8:2" + } + ] + } + ] + }, + "name": "shift_left_96", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "60475:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "60485:8:2", + "type": "" + } + ], + "src": "60452:94:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60599:47:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "60609:31:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "60634:5:2" + } + ], + "functionName": { + "name": "shift_left_96", + "nodeType": "YulIdentifier", + "src": "60620:13:2" + }, + "nodeType": "YulFunctionCall", + "src": "60620:20:2" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "60609:7:2" + } + ] + } + ] + }, + "name": "leftAlign_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "60581:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "60591:7:2", + "type": "" + } + ], + "src": "60552:94:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60699:53:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "60709:37:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "60740:5:2" + } + ], + "functionName": { + "name": "leftAlign_t_uint160", + "nodeType": "YulIdentifier", + "src": "60720:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "60720:26:2" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "60709:7:2" + } + ] + } + ] + }, + "name": "leftAlign_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "60681:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "60691:7:2", + "type": "" + } + ], + "src": "60652:100:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60841:74:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "60858:3:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "60901:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "60883:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "60883:24:2" + } + ], + "functionName": { + "name": "leftAlign_t_address", + "nodeType": "YulIdentifier", + "src": "60863:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "60863:45:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60851:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "60851:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "60851:58:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "60829:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "60836:3:2", + "type": "" + } + ], + "src": "60758:157:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61037:140:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "61110:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61119:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "61048:61:2" + }, + "nodeType": "YulFunctionCall", + "src": "61048:75:2" + }, + "nodeType": "YulExpressionStatement", + "src": "61048:75:2" + }, + { + "nodeType": "YulAssignment", + "src": "61132:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61143:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61148:2:2", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61139:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "61139:12:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61132:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "61161:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61168:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "61161:3:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address__to_t_address__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "61016:3:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "61022:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "61033:3:2", + "type": "" + } + ], + "src": "60921:256:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61230:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "61240:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "61251:5:2" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "61240:7:2" + } + ] + } + ] + }, + "name": "leftAlign_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "61212:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "61222:7:2", + "type": "" + } + ], + "src": "61183:79:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61351:74:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61368:3:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "61411:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "61393:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "61393:24:2" + } + ], + "functionName": { + "name": "leftAlign_t_uint256", + "nodeType": "YulIdentifier", + "src": "61373:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "61373:45:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61361:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "61361:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "61361:58:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "61339:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "61346:3:2", + "type": "" + } + ], + "src": "61268:157:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61547:140:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "61620:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61629:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "61558:61:2" + }, + "nodeType": "YulFunctionCall", + "src": "61558:75:2" + }, + "nodeType": "YulExpressionStatement", + "src": "61558:75:2" + }, + { + "nodeType": "YulAssignment", + "src": "61642:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61653:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61658:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61649:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "61649:12:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61642:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "61671:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61678:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "61671:3:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "61526:3:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "61532:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "61543:3:2", + "type": "" + } + ], + "src": "61431:256:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61807:34:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "61817:18:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61832:3:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "61817:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "61779:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "61784:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "61795:11:2", + "type": "" + } + ], + "src": "61693:148:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61957:267:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "61967:53:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "62014:5:2" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "61981:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "61981:39:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "61971:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "62029:96:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62113:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "62118:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "62036:76:2" + }, + "nodeType": "YulFunctionCall", + "src": "62036:89:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62029:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "62160:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62167:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62156:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "62156:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62174:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "62179:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "62134:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "62134:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "62134:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "62195:23:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62206:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "62211:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62202:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "62202:16:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "62195:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "61938:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "61945:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "61953:3:2", + "type": "" + } + ], + "src": "61847:377:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62366:139:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "62377:102:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "62466:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62475:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "62384:81:2" + }, + "nodeType": "YulFunctionCall", + "src": "62384:95:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62377:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "62489:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "62496:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "62489:3:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "62345:3:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "62351:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "62362:3:2", + "type": "" + } + ], + "src": "62230:275:2" + } + ] + }, + "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_uint256(value) -> cleaned {\n cleaned := value\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_uint256t_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_uint256(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_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_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\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_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_State_$46(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_State_$46(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_State_$46(value)\n }\n\n function convert_t_enum$_State_$46_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_State_$46(value)\n }\n\n function abi_encode_t_enum$_State_$46_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_State_$46_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_enum$_State_$46__to_t_uint256_t_uint256_t_uint8__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_enum$_State_$46_to_t_uint8_fromStack(value2, add(headStart, 64))\n\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 abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(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 // struct VehicleSystem.bank -> struct VehicleSystem.bank\n function abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // bank_name\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_bank_$56_memory_ptr__to_t_struct$_bank_$56_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_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr_fromStack(value0, tail)\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_uint256t_string_memory_ptr(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_uint256(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 let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_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_uint256(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 let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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 abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, 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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function validator_assert_t_enum$_Role_$39(value) {\n if iszero(lt(value, 4)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_Role_$39(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_Role_$39(value)\n }\n\n function convert_t_enum$_Role_$39_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_Role_$39(value)\n }\n\n function abi_encode_t_enum$_Role_$39_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_Role_$39_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_enum$_Role_$39__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint8__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value3, tail)\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value5, tail)\n\n abi_encode_t_enum$_Role_$39_to_t_uint8_fromStack(value6, add(headStart, 192))\n\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 cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_bank_$56_memory_ptr_$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_struct$_bank_$56_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n // struct VehicleSystem.bank -> struct VehicleSystem.bank\n function abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // bank_name\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystem.bank[] -> struct VehicleSystem.bank[]\n function abi_encode_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_bank_$56_memory_ptr_to_t_struct$_bank_$56_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_bank_$56_memory_ptr_$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_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_assert_t_enum$_LicenseRequestType_$42(value) {\n if iszero(lt(value, 2)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_LicenseRequestType_$42(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_LicenseRequestType_$42(value)\n }\n\n function convert_t_enum$_LicenseRequestType_$42_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_LicenseRequestType_$42(value)\n }\n\n function abi_encode_t_enum$_LicenseRequestType_$42_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_LicenseRequestType_$42_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_enum$_LicenseRequestType_$42_t_enum$_State_$46__to_t_uint256_t_uint256_t_uint8_t_uint8__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\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_enum$_LicenseRequestType_$42_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_enum$_State_$46_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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 abi_encode_tuple_t_uint256_t_string_memory_ptr_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr_t_string_memory_ptr__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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\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(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n // struct VehicleSystem.vehicle -> struct VehicleSystem.vehicle\n function abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0140)\n\n {\n // vehicle_name\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_type\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_model\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_motor_number\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_chase_number\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_manufacture_id\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // vehicle_color\n\n let memberValue0 := mload(add(value, 0xc0))\n\n mstore(add(pos, 0xc0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_production_Year\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // isBlocked\n\n let memberValue0 := mload(add(value, 0x0100))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x0100))\n }\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x0120))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x0120))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_vehicle_$77_memory_ptr__to_t_struct$_vehicle_$77_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_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$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_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n // struct VehicleSystem.traffic_violation -> struct VehicleSystem.traffic_violation\n function abi_encode_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // vehicle_id\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // violation_description\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // violation_type\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystem.traffic_violation[] -> struct VehicleSystem.traffic_violation[]\n function abi_encode_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_traffic_violation_$100_memory_ptr_to_t_struct$_traffic_violation_$100_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$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_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\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_uint256t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_boolt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9 {\n if slt(sub(dataEnd, headStart), 320) { 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 let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(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_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 192))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value6 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 224))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value7 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 256\n\n value8 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 288\n\n value9 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_string_memory_ptrt_string_memory_ptr(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_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 let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\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 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 array_length_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_license_$107_memory_ptr_$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_struct$_license_$107_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n // struct VehicleSystem.license -> struct VehicleSystem.license\n function abi_encode_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // car_id\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // expire_at\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystem.license[] -> struct VehicleSystem.license[]\n function abi_encode_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_license_$107_memory_ptr_to_t_struct$_license_$107_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_license_$107_memory_ptr_$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_struct$_license_$107_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_manufacture_$51_memory_ptr_$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_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n // struct VehicleSystem.manufacture -> struct VehicleSystem.manufacture\n function abi_encode_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // manufacture_name\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystem.manufacture[] -> struct VehicleSystem.manufacture[]\n function abi_encode_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_manufacture_$51_memory_ptr_to_t_struct$_manufacture_$51_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_manufacture_$51_memory_ptr_$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_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed(headStart , value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 320)\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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value3, tail)\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n mstore(add(headStart, 192), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value6, tail)\n\n mstore(add(headStart, 224), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value7, tail)\n\n abi_encode_t_bool_to_t_bool_fromStack(value8, add(headStart, 256))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value9, add(headStart, 288))\n\n }\n\n function array_length_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_vehicle_$77_memory_ptr_$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_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n // struct VehicleSystem.vehicle -> struct VehicleSystem.vehicle\n function abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x0140)\n\n {\n // vehicle_name\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_type\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_model\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_motor_number\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_chase_number\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_manufacture_id\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // vehicle_color\n\n let memberValue0 := mload(add(value, 0xc0))\n\n mstore(add(pos, 0xc0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // vehicle_production_Year\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // isBlocked\n\n let memberValue0 := mload(add(value, 0x0100))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x0100))\n }\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x0120))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x0120))\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystem.vehicle[] -> struct VehicleSystem.vehicle[]\n function abi_encode_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_vehicle_$77_memory_ptr_to_t_struct$_vehicle_$77_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_vehicle_$77_memory_ptr_$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_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_enum$_Role_$39_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_Role_$39_to_t_uint8(value))\n }\n\n // struct VehicleSystem.user -> struct VehicleSystem.user\n function abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xe0)\n\n {\n // user_address\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // user_name\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_email\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_password\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_phone\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_national_id\n\n let memberValue0 := mload(add(value, 0xa0))\n\n mstore(add(pos, 0xa0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // role\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_Role_$39_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_user_$93_memory_ptr__to_t_struct$_user_$93_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_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_user_$93_memory_ptr_$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_struct$_user_$93_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n // struct VehicleSystem.user -> struct VehicleSystem.user\n function abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xe0)\n\n {\n // user_address\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // user_name\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_email\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_password\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_phone\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // user_national_id\n\n let memberValue0 := mload(add(value, 0xa0))\n\n mstore(add(pos, 0xa0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // role\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_Role_$39_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystem.user[] -> struct VehicleSystem.user[]\n function abi_encode_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_user_$93_memory_ptr_to_t_struct$_user_$93_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_user_$93_memory_ptr_$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_struct$_user_$93_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_enum$_Role_$39(value) {\n if iszero(lt(value, 4)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_Role_$39(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_Role_$39(value)\n }\n\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_enum$_Role_$39(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { 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 := 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 let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(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_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_enum$_Role_$39(add(headStart, offset), dataEnd)\n }\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 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 array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function shift_left_96(value) -> newValue {\n newValue :=\n\n shl(96, value)\n\n }\n\n function leftAlign_t_uint160(value) -> aligned {\n aligned := shift_left_96(value)\n }\n\n function leftAlign_t_address(value) -> aligned {\n aligned := leftAlign_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_address(cleanup_t_address(value)))\n }\n\n function abi_encode_tuple_packed_t_address__to_t_address__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 20)\n\n end := pos\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\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__to_t_string_memory_ptr__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 end := pos\n }\n\n}\n", + "id": 2, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "60:13394:1:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "60:13394:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7448:274;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1696:19;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1913:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;8327:288;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3939:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5363:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12823:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7229:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7877:442;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7730:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9043:629;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4035:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1832:25;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1754:19;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;10100:629;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3080:315;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4889:155;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5478:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12701:114;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1864:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;6506:379;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2400:559;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1780:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11438:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5052:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6893:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12463:126;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5669:829;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12079:374;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3403:433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5573:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9680:412;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7127:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12925:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11696:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1656:33;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;12597:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4779:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13102:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4663:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1722:25;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;13270:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7023:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4258:397;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2967:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11019:411;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3844:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1965:427;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8623:412;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10739:272;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7448:274;7531:6;7526:189;7547:8;:15;;;;7543:1;:19;7526:189;;;7597:27;7609:1;7612:11;7597;:27::i;:::-;7593:111;;;7680:8;7658;7667:1;7658:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;7593:111;7564:3;;;;;:::i;:::-;;;;7526:189;;;;7448:274;;:::o;1696:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1913:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8327:288::-;8420:42;8465:88;;;;;;;;8481:8;8465:88;;;;8491:7;8465:88;;;;8500:37;8465:88;;;;;;;;:::i;:::-;;;;;;8539:13;8465:88;;;;;;;;:::i;:::-;;;;;8420:133;;8564:17;8587:19;8564:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;8407:208;8327:288;;:::o;3939:88::-;3984:4;4007:5;:12;;;;4000:19;;3939:88;:::o;5363:107::-;5417:11;;:::i;:::-;5447:5;5453:8;5447:15;;;;;;;;:::i;:::-;;;;;;;;;;;;5440:22;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5363:107;;;:::o;12823:94::-;12871:4;12894:8;:15;;;;12887:22;;12823:94;:::o;7229:211::-;7328:26;7357:38;;;;;;;;7365:8;7357:38;;;;7375:7;7357:38;;;;7384:10;7357:38;;;7328:67;;7406:8;7420:11;7406:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7317:123;7229:211;;;:::o;7877:442::-;7988:6;7983:329;8004:8;:15;;;;8000:1;:19;7983:329;;;8045:27;8057:1;8060:11;8045;:27::i;:::-;8041:260;;;8093:42;8138:85;;;;;;;;8154:8;8138:85;;;;8164:7;8138:85;;;;8173:34;8138:85;;;;;;;;:::i;:::-;;;;;;8209:13;8138:85;;;;;;;;:::i;:::-;;;;;8093:130;;8242:17;8265:19;8242:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;8074:227;8041:260;8021:3;;;;;:::i;:::-;;;;7983:329;;;;7877:442;;;:::o;7730:139::-;7851:10;7817:8;7826:11;7817:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:31;;:44;;;;;;:::i;:::-;;7730:139;;:::o;9043:629::-;9159:47;;:::i;:::-;9222:6;9217:285;9238:17;:24;;;;9234:1;:28;9217:285;;;9297:35;9309:1;9312:19;9297:11;:35::i;:::-;9293:198;;;9393:17;9411:1;9393:20;;;;;;;;:::i;:::-;;;;;;;;;;;;9366:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;9461:14;9432:17;9450:1;9432:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;9293:198;9264:3;;;;;:::i;:::-;;;;9217:285;;;;9512:26;9541:86;;;;;;;;9549:24;:32;;;9541:86;;;;9583:24;:31;;;9541:86;;;;9616:10;9541:86;;;9512:115;;9638:8;9652:11;9638:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9148:524;;9043:629;;:::o;4035:215::-;4126:31;4160:40;;;;;;;;4172:8;4160:40;;;;4182:17;4160:40;;;4126:74;;4211:12;4229;4211:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4115:135;4035:215;;:::o;1832:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1754:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10100:629::-;10216:47;;:::i;:::-;10279:6;10274:285;10295:17;:24;;;;10291:1;:28;10274:285;;;10354:35;10366:1;10369:19;10354:11;:35::i;:::-;10350:198;;;10450:17;10468:1;10450:20;;;;;;;;:::i;:::-;;;;;;;;;;;;10423:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;10518:14;10489:17;10507:1;10489:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;10350:198;10321:3;;;;;:::i;:::-;;;;10274:285;;;;10569:26;10598:86;;;;;;;;10606:24;:32;;;10598:86;;;;10640:24;:31;;;10598:86;;;;10673:10;10598:86;;;10569:115;;10695:8;10709:11;10695:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10205:524;;10100:629;;:::o;3080:315::-;3158:3;3178:6;3187:1;3178:10;;3173:194;3194:5;:12;;;;3190:1;:16;3173:194;;;3241:52;3256:13;3271:5;3277:1;3271:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:21;;;;;;;;;;;;3241:14;:52::i;:::-;3237:119;;;3338:1;3327:13;;;;;3237:119;3208:3;;;;;:::i;:::-;;;;3173:194;;;;3384:3;3377:10;;3080:315;;;;:::o;4889:155::-;4961:20;4984:21;;;;;;;;4989:8;4984:21;;;;4999:5;4984:21;;;4961:44;;5016:5;5027:8;5016:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4950:94;4889:155;;:::o;5478:87::-;5520:13;5552:5;5545:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5478:87;:::o;12701:114::-;12759:4;12782:18;:25;;;;12775:32;;12701:114;:::o;1864:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6506:379::-;6654:6;6649:229;6670:8;:15;;;;6666:1;:19;6649:229;;;6711:27;6723:11;6736:1;6711:11;:27::i;:::-;6707:160;;;6787:14;6759:8;6768:1;6759:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:25;;:42;;;;;;:::i;:::-;;6842:9;6820:8;6829:1;6820:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:31;;;;6707:160;6687:3;;;;;:::i;:::-;;;;6649:229;;;;6506:379;;;:::o;2400:559::-;2493:3;2519:6;2528:1;2519:10;;2514:417;2535:5;:12;;;;2531:1;:16;2514:417;;;2578:23;2604:5;2610:1;2604:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;2578:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2638:27;2668:5;2674:1;2668:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;2638:52;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2709:38;2724:9;2735:11;2709:14;:38::i;:::-;2705:215;;;2785:45;2800:13;2815:14;2785;:45::i;:::-;2781:124;;;2883:1;2872:13;;;;;;;2781:124;2705:215;2563:368;;2549:3;;;;;:::i;:::-;;;;2514:417;;;;2948:3;2941:10;;2400:559;;;;;:::o;1780:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11438:250::-;11528:44;11575:50;;;;;;;;11592:8;11575:50;;;;11602:7;11575:50;;;;11611:13;11575:50;;;;;;;;:::i;:::-;;;;;11528:97;;11636:17;11659:20;11636:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;11515:173;11438:250;;:::o;5052:303::-;5150:6;5145:203;5166:5;:12;;;;5162:1;:16;5145:203;;;5204:24;5216:8;5226:1;5204:11;:24::i;:::-;5200:137;;;5268:8;5249:5;5255:1;5249:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:16;;:27;;;;5316:5;5295;5301:1;5295:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:18;;:26;;;;;;:::i;:::-;;5200:137;5180:3;;;;;:::i;:::-;;;;5145:203;;;;5052:303;;;:::o;6893:122::-;6953:14;;:::i;:::-;6986:8;6995:11;6986:21;;;;;;;;:::i;:::-;;;;;;;;;;;;6979:28;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6893:122;;;:::o;12463:126::-;12518:26;12563:18;12556:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12463:126;:::o;5669:829::-;6097:26;6126:327;;;;;;;;6148:13;6126:327;;;;6176:13;6126:327;;;;6204:14;6126:327;;;;6233:21;6126:327;;;;6269:21;6126:327;;;;6305:20;6126:327;;;;6340:14;6126:327;;;;6369:24;6126:327;;;;6408:10;6126:327;;;;;;6433:9;6126:327;;;6097:356;;6464:8;6478:11;6464:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6086:412;5669:829;;;;;;;;;;:::o;12079:374::-;12186:6;12181:220;12202:17;:24;;;;12198:1;:28;12181:220;;;12261:36;12273:1;12276:20;12261:11;:36::i;:::-;12257:133;;;12360:14;12331:17;12349:1;12331:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12257:133;12228:3;;;;;:::i;:::-;;;;12181:220;;;;12441:4;12411:8;12420:7;12411:17;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;:34;;;;;;;;;;;;;;;;;;12079:374;;:::o;3403:433::-;3510:4;3537:6;3546:1;3537:10;;3532:274;3553:5;:12;;;;3549:1;:16;3532:274;;;3600:24;3612:1;3615:8;3600:11;:24::i;:::-;3596:199;;;3683:14;3658:5;3664:1;3658:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:39;;;;;;:::i;:::-;;3738:11;3716:5;3722:1;3716:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:33;;;;;;:::i;:::-;;3775:4;3768:11;;;;;3596:199;3567:3;;;;;:::i;:::-;;;;3532:274;;;;3823:5;3816:12;;3403:433;;;;;;:::o;5573:88::-;5618:4;5641:5;:12;;;;5634:19;;5573:88;:::o;9680:412::-;9816:6;9811:219;9832:17;:24;;;;9828:1;:28;9811:219;;;9891:35;9903:1;9906:19;9891:11;:35::i;:::-;9887:132;;;9989:14;9960:17;9978:1;9960:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;9887:132;9858:3;;;;;:::i;:::-;;;;9811:219;;;;10074:10;10040:8;10049:11;10040:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:31;;:44;;;;;;:::i;:::-;;9680:412;;;:::o;7127:94::-;7175:4;7198:8;:15;;;;7191:22;;7127:94;:::o;12925:169::-;12992:4;13081:1;13063:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;13053:32;;;;;;13045:1;13027:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;13017:32;;;;;;:68;13009:77;;12925:169;;;;:::o;11696:375::-;11803:6;11798:220;11819:17;:24;;;;11815:1;:28;11798:220;;;11878:36;11890:1;11893:20;11878:11;:36::i;:::-;11874:133;;;11977:14;11948:17;11966:1;11948:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;11874:133;11845:3;;;;;:::i;:::-;;;;11798:220;;;;12058:5;12028:8;12037:7;12028:17;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;:35;;;;;;;;;;;;;;;;;;11696:375;;:::o;1656:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12597:96::-;12642:16;12677:8;12670:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12597:96;:::o;4779:102::-;4831:4;4854:12;:19;;;;4847:26;;4779:102;:::o;13102:160::-;13160:4;13249:1;13231:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;13221:32;;;;;;13213:1;13195:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;13185:32;;;;;;:68;13177:77;;13102:160;;;;:::o;4663:108::-;4712:20;4751:12;4744:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4663:108;:::o;1722:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13270:181::-;13349:4;13438:1;13420:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;13410:32;;;;;;13402:1;13384:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;13374:32;;;;;;:68;13366:77;;13270:181;;;;:::o;7023:96::-;7068:16;7103:8;7096:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7023:96;:::o;4258:397::-;4367:6;4362:286;4383:12;:19;;;;4379:1;:23;4362:286;;;4433:27;4463:1;4433:31;;4483:52;4495:22;4519:15;4483:11;:52::i;:::-;4479:158;;;4604:17;4569:12;4582:1;4569:15;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;:52;;;;;;:::i;:::-;;4479:158;4418:230;4404:3;;;;;:::i;:::-;;;;4362:286;;;;4258:397;;:::o;2967:105::-;3020:11;;:::i;:::-;3050:5;3056:7;3050:14;;;;;;;;:::i;:::-;;;;;;;;;;;;3043:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2967:105;;;:::o;11019:411::-;11142:6;11137:286;11158:18;:25;;;;11154:1;:29;11137:286;;;11218:23;11230:1;11233:7;11218:11;:23::i;:::-;11214:198;;;11314:9;11275:18;11294:1;11275:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;:48;;;;;;:::i;:::-;;11388:8;11342:18;11361:1;11342:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:54;;;;;;:::i;:::-;;11214:198;11185:3;;;;;:::i;:::-;;;;11137:286;;;;11019:411;;;:::o;3844:87::-;3886:13;3918:5;3911:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3844:87;:::o;1965:427::-;2176:4;2198:26;2227:98;;;;;;;;2232:13;2227:98;;;;;;2247:10;2227:98;;;;2259:11;2227:98;;;;2272:14;2227:98;;;;2288:11;2227:98;;;;2301:17;2227:98;;;;2320:4;2227:98;;;;;;;;:::i;:::-;;;;;2198:127;;2336:5;2347:14;2336:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;2380:4;2373:11;;;1965:427;;;;;;;;;:::o;8623:412::-;8759:6;8754:219;8775:17;:24;;;;8771:1;:28;8754:219;;;8834:35;8846:1;8849:19;8834:11;:35::i;:::-;8830:132;;;8932:14;8903:17;8921:1;8903:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;8830:132;8801:3;;;;;:::i;:::-;;;;8754:219;;;;9017:10;8983:8;8992:11;8983:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:31;;:44;;;;;;:::i;:::-;;8623:412;;;:::o;10739:272::-;10860:39;10902:51;;;;;;;;10920:11;10902:51;;;;10933:9;10902:51;;;;10944:8;10902:51;;;10860:93;;10964:18;10988:14;10964:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;10849:162;10739:272;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;7:75:2:-;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:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:329::-;1229:6;1278:2;1266:9;1257:7;1253:23;1249:32;1246:119;;;1284:79;;:::i;:::-;1246:119;1404:1;1429:53;1474:7;1465:6;1454:9;1450:22;1429:53;:::i;:::-;1419:63;;1375:117;1170:329;;;;:::o;1505:118::-;1592:24;1610:5;1592:24;:::i;:::-;1587:3;1580:37;1505:118;;:::o;1629:99::-;1681:6;1715:5;1709:12;1699:22;;1629:99;;;:::o;1734:169::-;1818:11;1852:6;1847:3;1840:19;1892:4;1887:3;1883:14;1868:29;;1734:169;;;;:::o;1909:307::-;1977:1;1987:113;2001:6;1998:1;1995:13;1987:113;;;2086:1;2081:3;2077:11;2071:18;2067:1;2062:3;2058:11;2051:39;2023:2;2020:1;2016:10;2011:15;;1987:113;;;2118:6;2115:1;2112:13;2109:101;;;2198:1;2189:6;2184:3;2180:16;2173:27;2109:101;1958:258;1909:307;;;:::o;2222:102::-;2263:6;2314:2;2310:7;2305:2;2298:5;2294:14;2290:28;2280:38;;2222:102;;;:::o;2330:364::-;2418:3;2446:39;2479:5;2446:39;:::i;:::-;2501:71;2565:6;2560:3;2501:71;:::i;:::-;2494:78;;2581:52;2626:6;2621:3;2614:4;2607:5;2603:16;2581:52;:::i;:::-;2658:29;2680:6;2658:29;:::i;:::-;2653:3;2649:39;2642:46;;2422:272;2330:364;;;;:::o;2700:423::-;2841:4;2879:2;2868:9;2864:18;2856:26;;2892:71;2960:1;2949:9;2945:17;2936:6;2892:71;:::i;:::-;3010:9;3004:4;3000:20;2995:2;2984:9;2980:18;2973:48;3038:78;3111:4;3102:6;3038:78;:::i;:::-;3030:86;;2700:423;;;;;:::o;3129:180::-;3177:77;3174:1;3167:88;3274:4;3271:1;3264:15;3298:4;3295:1;3288:15;3315:113;3396:1;3389:5;3386:12;3376:46;;3402:18;;:::i;:::-;3376:46;3315:113;:::o;3434:127::-;3479:7;3508:5;3497:16;;3514:41;3549:5;3514:41;:::i;:::-;3434:127;;;:::o;3567:::-;3623:9;3656:32;3682:5;3656:32;:::i;:::-;3643:45;;3567:127;;;:::o;3700:143::-;3793:43;3830:5;3793:43;:::i;:::-;3788:3;3781:56;3700:143;;:::o;3849:454::-;4004:4;4042:2;4031:9;4027:18;4019:26;;4055:71;4123:1;4112:9;4108:17;4099:6;4055:71;:::i;:::-;4136:72;4204:2;4193:9;4189:18;4180:6;4136:72;:::i;:::-;4218:78;4292:2;4281:9;4277:18;4268:6;4218:78;:::i;:::-;3849:454;;;;;;:::o;4309:222::-;4402:4;4440:2;4429:9;4425:18;4417:26;;4453:71;4521:1;4510:9;4506:17;4497:6;4453:71;:::i;:::-;4309:222;;;;:::o;4537:108::-;4614:24;4632:5;4614:24;:::i;:::-;4609:3;4602:37;4537:108;;:::o;4651:159::-;4725:11;4759:6;4754:3;4747:19;4799:4;4794:3;4790:14;4775:29;;4651:159;;;;:::o;4816:344::-;4894:3;4922:39;4955:5;4922:39;:::i;:::-;4977:61;5031:6;5026:3;4977:61;:::i;:::-;4970:68;;5047:52;5092:6;5087:3;5080:4;5073:5;5069:16;5047:52;:::i;:::-;5124:29;5146:6;5124:29;:::i;:::-;5119:3;5115:39;5108:46;;4898:262;4816:344;;;;:::o;5228:604::-;5337:3;5373:4;5368:3;5364:14;5463:4;5456:5;5452:16;5446:23;5482:63;5539:4;5534:3;5530:14;5516:12;5482:63;:::i;:::-;5388:167;5642:4;5635:5;5631:16;5625:23;5695:3;5689:4;5685:14;5678:4;5673:3;5669:14;5662:38;5721:73;5789:4;5775:12;5721:73;:::i;:::-;5713:81;;5565:240;5822:4;5815:11;;5342:490;5228:604;;;;:::o;5838:353::-;5971:4;6009:2;5998:9;5994:18;5986:26;;6058:9;6052:4;6048:20;6044:1;6033:9;6029:17;6022:47;6086:98;6179:4;6170:6;6086:98;:::i;:::-;6078:106;;5838:353;;;;:::o;6197:117::-;6306:1;6303;6296:12;6320:117;6429:1;6426;6419:12;6443:180;6491:77;6488:1;6481:88;6588:4;6585:1;6578:15;6612:4;6609:1;6602:15;6629:281;6712:27;6734:4;6712:27;:::i;:::-;6704:6;6700:40;6842:6;6830:10;6827:22;6806:18;6794:10;6791:34;6788:62;6785:88;;;6853:18;;:::i;:::-;6785:88;6893:10;6889:2;6882:22;6672:238;6629:281;;:::o;6916:129::-;6950:6;6977:20;;:::i;:::-;6967:30;;7006:33;7034:4;7026:6;7006:33;:::i;:::-;6916:129;;;:::o;7051:308::-;7113:4;7203:18;7195:6;7192:30;7189:56;;;7225:18;;:::i;:::-;7189:56;7263:29;7285:6;7263:29;:::i;:::-;7255:37;;7347:4;7341;7337:15;7329:23;;7051:308;;;:::o;7365:154::-;7449:6;7444:3;7439;7426:30;7511:1;7502:6;7497:3;7493:16;7486:27;7365:154;;;:::o;7525:412::-;7603:5;7628:66;7644:49;7686:6;7644:49;:::i;:::-;7628:66;:::i;:::-;7619:75;;7717:6;7710:5;7703:21;7755:4;7748:5;7744:16;7793:3;7784:6;7779:3;7775:16;7772:25;7769:112;;;7800:79;;:::i;:::-;7769:112;7890:41;7924:6;7919:3;7914;7890:41;:::i;:::-;7609:328;7525:412;;;;;:::o;7957:340::-;8013:5;8062:3;8055:4;8047:6;8043:17;8039:27;8029:122;;8070:79;;:::i;:::-;8029:122;8187:6;8174:20;8212:79;8287:3;8279:6;8272:4;8264:6;8260:17;8212:79;:::i;:::-;8203:88;;8019:278;7957:340;;;;:::o;8303:799::-;8390:6;8398;8406;8455:2;8443:9;8434:7;8430:23;8426:32;8423:119;;;8461:79;;:::i;:::-;8423:119;8581:1;8606:53;8651:7;8642:6;8631:9;8627:22;8606:53;:::i;:::-;8596:63;;8552:117;8708:2;8734:53;8779:7;8770:6;8759:9;8755:22;8734:53;:::i;:::-;8724:63;;8679:118;8864:2;8853:9;8849:18;8836:32;8895:18;8887:6;8884:30;8881:117;;;8917:79;;:::i;:::-;8881:117;9022:63;9077:7;9068:6;9057:9;9053:22;9022:63;:::i;:::-;9012:73;;8807:288;8303:799;;;;;:::o;9108:619::-;9185:6;9193;9201;9250:2;9238:9;9229:7;9225:23;9221:32;9218:119;;;9256:79;;:::i;:::-;9218:119;9376:1;9401:53;9446:7;9437:6;9426:9;9422:22;9401:53;:::i;:::-;9391:63;;9347:117;9503:2;9529:53;9574:7;9565:6;9554:9;9550:22;9529:53;:::i;:::-;9519:63;;9474:118;9631:2;9657:53;9702:7;9693:6;9682:9;9678:22;9657:53;:::i;:::-;9647:63;;9602:118;9108:619;;;;;:::o;9733:654::-;9811:6;9819;9868:2;9856:9;9847:7;9843:23;9839:32;9836:119;;;9874:79;;:::i;:::-;9836:119;9994:1;10019:53;10064:7;10055:6;10044:9;10040:22;10019:53;:::i;:::-;10009:63;;9965:117;10149:2;10138:9;10134:18;10121:32;10180:18;10172:6;10169:30;10166:117;;;10202:79;;:::i;:::-;10166:117;10307:63;10362:7;10353:6;10342:9;10338:22;10307:63;:::i;:::-;10297:73;;10092:288;9733:654;;;;;:::o;10393:533::-;10562:4;10600:2;10589:9;10585:18;10577:26;;10613:71;10681:1;10670:9;10666:17;10657:6;10613:71;:::i;:::-;10694:72;10762:2;10751:9;10747:18;10738:6;10694:72;:::i;:::-;10813:9;10807:4;10803:20;10798:2;10787:9;10783:18;10776:48;10841:78;10914:4;10905:6;10841:78;:::i;:::-;10833:86;;10393:533;;;;;;:::o;10932:126::-;10969:7;11009:42;11002:5;10998:54;10987:65;;10932:126;;;:::o;11064:96::-;11101:7;11130:24;11148:5;11130:24;:::i;:::-;11119:35;;11064:96;;;:::o;11166:118::-;11253:24;11271:5;11253:24;:::i;:::-;11248:3;11241:37;11166:118;;:::o;11290:112::-;11370:1;11363:5;11360:12;11350:46;;11376:18;;:::i;:::-;11350:46;11290:112;:::o;11408:125::-;11452:7;11481:5;11470:16;;11487:40;11521:5;11487:40;:::i;:::-;11408:125;;;:::o;11539:::-;11594:9;11627:31;11652:5;11627:31;:::i;:::-;11614:44;;11539:125;;;:::o;11670:141::-;11762:42;11798:5;11762:42;:::i;:::-;11757:3;11750:55;11670:141;;:::o;11817:1351::-;12183:4;12221:3;12210:9;12206:19;12198:27;;12235:71;12303:1;12292:9;12288:17;12279:6;12235:71;:::i;:::-;12353:9;12347:4;12343:20;12338:2;12327:9;12323:18;12316:48;12381:78;12454:4;12445:6;12381:78;:::i;:::-;12373:86;;12506:9;12500:4;12496:20;12491:2;12480:9;12476:18;12469:48;12534:78;12607:4;12598:6;12534:78;:::i;:::-;12526:86;;12659:9;12653:4;12649:20;12644:2;12633:9;12629:18;12622:48;12687:78;12760:4;12751:6;12687:78;:::i;:::-;12679:86;;12813:9;12807:4;12803:20;12797:3;12786:9;12782:19;12775:49;12841:78;12914:4;12905:6;12841:78;:::i;:::-;12833:86;;12967:9;12961:4;12957:20;12951:3;12940:9;12936:19;12929:49;12995:78;13068:4;13059:6;12995:78;:::i;:::-;12987:86;;13083:78;13156:3;13145:9;13141:19;13132:6;13083:78;:::i;:::-;11817:1351;;;;;;;;;;:::o;13174:122::-;13247:24;13265:5;13247:24;:::i;:::-;13240:5;13237:35;13227:63;;13286:1;13283;13276:12;13227:63;13174:122;:::o;13302:139::-;13348:5;13386:6;13373:20;13364:29;;13402:33;13429:5;13402:33;:::i;:::-;13302:139;;;;:::o;13447:329::-;13506:6;13555:2;13543:9;13534:7;13530:23;13526:32;13523:119;;;13561:79;;:::i;:::-;13523:119;13681:1;13706:53;13751:7;13742:6;13731:9;13727:22;13706:53;:::i;:::-;13696:63;;13652:117;13447:329;;;;:::o;13782:76::-;13818:7;13847:5;13836:16;;13782:76;;;:::o;13864:115::-;13949:23;13966:5;13949:23;:::i;:::-;13944:3;13937:36;13864:115;;:::o;13985:218::-;14076:4;14114:2;14103:9;14099:18;14091:26;;14127:69;14193:1;14182:9;14178:17;14169:6;14127:69;:::i;:::-;13985:218;;;;:::o;14209:134::-;14296:6;14330:5;14324:12;14314:22;;14209:134;;;:::o;14349:204::-;14468:11;14502:6;14497:3;14490:19;14542:4;14537:3;14533:14;14518:29;;14349:204;;;;:::o;14559:152::-;14646:4;14669:3;14661:11;;14699:4;14694:3;14690:14;14682:22;;14559:152;;;:::o;14779:594::-;14878:3;14914:4;14909:3;14905:14;15004:4;14997:5;14993:16;14987:23;15023:63;15080:4;15075:3;15071:14;15057:12;15023:63;:::i;:::-;14929:167;15183:4;15176:5;15172:16;15166:23;15236:3;15230:4;15226:14;15219:4;15214:3;15210:14;15203:38;15262:73;15330:4;15316:12;15262:73;:::i;:::-;15254:81;;15106:240;15363:4;15356:11;;14883:490;14779:594;;;;:::o;15379:236::-;15488:10;15523:86;15605:3;15597:6;15523:86;:::i;:::-;15509:100;;15379:236;;;;:::o;15621:133::-;15711:4;15743;15738:3;15734:14;15726:22;;15621:133;;;:::o;15826:1071::-;15985:3;16014:74;16082:5;16014:74;:::i;:::-;16104:106;16203:6;16198:3;16104:106;:::i;:::-;16097:113;;16236:3;16281:4;16273:6;16269:17;16264:3;16260:27;16311:76;16381:5;16311:76;:::i;:::-;16410:7;16441:1;16426:426;16451:6;16448:1;16445:13;16426:426;;;16522:9;16516:4;16512:20;16507:3;16500:33;16573:6;16567:13;16601:104;16700:4;16685:13;16601:104;:::i;:::-;16593:112;;16728:80;16801:6;16728:80;:::i;:::-;16718:90;;16837:4;16832:3;16828:14;16821:21;;16486:366;16473:1;16470;16466:9;16461:14;;16426:426;;;16430:14;16868:4;16861:11;;16888:3;16881:10;;15990:907;;;;;15826:1071;;;;:::o;16903:453::-;17086:4;17124:2;17113:9;17109:18;17101:26;;17173:9;17167:4;17163:20;17159:1;17148:9;17144:17;17137:47;17201:148;17344:4;17335:6;17201:148;:::i;:::-;17193:156;;16903:453;;;;:::o;17362:126::-;17456:1;17449:5;17446:12;17436:46;;17462:18;;:::i;:::-;17436:46;17362:126;:::o;17494:153::-;17552:7;17581:5;17570:16;;17587:54;17635:5;17587:54;:::i;:::-;17494:153;;;:::o;17653:::-;17722:9;17755:45;17794:5;17755:45;:::i;:::-;17742:58;;17653:153;;;:::o;17812:169::-;17918:56;17968:5;17918:56;:::i;:::-;17913:3;17906:69;17812:169;;:::o;17987:603::-;18189:4;18227:3;18216:9;18212:19;18204:27;;18241:71;18309:1;18298:9;18294:17;18285:6;18241:71;:::i;:::-;18322:72;18390:2;18379:9;18375:18;18366:6;18322:72;:::i;:::-;18404:91;18491:2;18480:9;18476:18;18467:6;18404:91;:::i;:::-;18505:78;18579:2;18568:9;18564:18;18555:6;18505:78;:::i;:::-;17987:603;;;;;;;:::o;18596:834::-;18684:6;18692;18741:2;18729:9;18720:7;18716:23;18712:32;18709:119;;;18747:79;;:::i;:::-;18709:119;18895:1;18884:9;18880:17;18867:31;18925:18;18917:6;18914:30;18911:117;;;18947:79;;:::i;:::-;18911:117;19052:63;19107:7;19098:6;19087:9;19083:22;19052:63;:::i;:::-;19042:73;;18838:287;19192:2;19181:9;19177:18;19164:32;19223:18;19215:6;19212:30;19209:117;;;19245:79;;:::i;:::-;19209:117;19350:63;19405:7;19396:6;19385:9;19381:22;19350:63;:::i;:::-;19340:73;;19135:288;18596:834;;;;;:::o;19436:624::-;19625:4;19663:2;19652:9;19648:18;19640:26;;19676:71;19744:1;19733:9;19729:17;19720:6;19676:71;:::i;:::-;19794:9;19788:4;19784:20;19779:2;19768:9;19764:18;19757:48;19822:78;19895:4;19886:6;19822:78;:::i;:::-;19814:86;;19947:9;19941:4;19937:20;19932:2;19921:9;19917:18;19910:48;19975:78;20048:4;20039:6;19975:78;:::i;:::-;19967:86;;19436:624;;;;;;:::o;20066:90::-;20100:7;20143:5;20136:13;20129:21;20118:32;;20066:90;;;:::o;20162:99::-;20233:21;20248:5;20233:21;:::i;:::-;20228:3;20221:34;20162:99;;:::o;20335:2535::-;20450:3;20486:6;20481:3;20477:16;20583:4;20576:5;20572:16;20566:23;20636:3;20630:4;20626:14;20619:4;20614:3;20610:14;20603:38;20662:73;20730:4;20716:12;20662:73;:::i;:::-;20654:81;;20503:243;20836:4;20829:5;20825:16;20819:23;20889:3;20883:4;20879:14;20872:4;20867:3;20863:14;20856:38;20915:73;20983:4;20969:12;20915:73;:::i;:::-;20907:81;;20756:243;21090:4;21083:5;21079:16;21073:23;21143:3;21137:4;21133:14;21126:4;21121:3;21117:14;21110:38;21169:73;21237:4;21223:12;21169:73;:::i;:::-;21161:81;;21009:244;21351:4;21344:5;21340:16;21334:23;21404:3;21398:4;21394:14;21387:4;21382:3;21378:14;21371:38;21430:73;21498:4;21484:12;21430:73;:::i;:::-;21422:81;;21263:251;21612:4;21605:5;21601:16;21595:23;21665:3;21659:4;21655:14;21648:4;21643:3;21639:14;21632:38;21691:73;21759:4;21745:12;21691:73;:::i;:::-;21683:81;;21524:251;21875:4;21868:5;21864:16;21858:23;21894:63;21951:4;21946:3;21942:14;21928:12;21894:63;:::i;:::-;21785:182;22058:4;22051:5;22047:16;22041:23;22111:3;22105:4;22101:14;22094:4;22089:3;22085:14;22078:38;22137:73;22205:4;22191:12;22137:73;:::i;:::-;22129:81;;21977:244;22322:4;22315:5;22311:16;22305:23;22375:3;22369:4;22365:14;22358:4;22353:3;22349:14;22342:38;22401:73;22469:4;22455:12;22401:73;:::i;:::-;22393:81;;22231:254;22572:6;22565:5;22561:18;22555:25;22593:59;22644:6;22639:3;22635:16;22621:12;22593:59;:::i;:::-;22495:167;22747:6;22740:5;22736:18;22730:25;22768:65;22825:6;22820:3;22816:16;22802:12;22768:65;:::i;:::-;22672:171;22860:4;22853:11;;20455:2415;20335:2535;;;;:::o;22876:365::-;23015:4;23053:2;23042:9;23038:18;23030:26;;23102:9;23096:4;23092:20;23088:1;23077:9;23073:17;23066:47;23130:104;23229:4;23220:6;23130:104;:::i;:::-;23122:112;;22876:365;;;;:::o;23247:148::-;23348:6;23382:5;23376:12;23366:22;;23247:148;;;:::o;23401:218::-;23534:11;23568:6;23563:3;23556:19;23608:4;23603:3;23599:14;23584:29;;23401:218;;;;:::o;23625:166::-;23726:4;23749:3;23741:11;;23779:4;23774:3;23770:14;23762:22;;23625:166;;;:::o;23885:892::-;24012:3;24048:4;24043:3;24039:14;24141:4;24134:5;24130:16;24124:23;24160:63;24217:4;24212:3;24208:14;24194:12;24160:63;:::i;:::-;24063:170;24332:4;24325:5;24321:16;24315:23;24385:3;24379:4;24375:14;24368:4;24363:3;24359:14;24352:38;24411:73;24479:4;24465:12;24411:73;:::i;:::-;24403:81;;24243:252;24587:4;24580:5;24576:16;24570:23;24640:3;24634:4;24630:14;24623:4;24618:3;24614:14;24607:38;24666:73;24734:4;24720:12;24666:73;:::i;:::-;24658:81;;24505:245;24767:4;24760:11;;24017:760;23885:892;;;;:::o;24783:292::-;24920:10;24955:114;25065:3;25057:6;24955:114;:::i;:::-;24941:128;;24783:292;;;;:::o;25081:147::-;25185:4;25217;25212:3;25208:14;25200:22;;25081:147;;;:::o;25326:1183::-;25513:3;25542:88;25624:5;25542:88;:::i;:::-;25646:120;25759:6;25754:3;25646:120;:::i;:::-;25639:127;;25792:3;25837:4;25829:6;25825:17;25820:3;25816:27;25867:90;25951:5;25867:90;:::i;:::-;25980:7;26011:1;25996:468;26021:6;26018:1;26015:13;25996:468;;;26092:9;26086:4;26082:20;26077:3;26070:33;26143:6;26137:13;26171:132;26298:4;26283:13;26171:132;:::i;:::-;26163:140;;26326:94;26413:6;26326:94;:::i;:::-;26316:104;;26449:4;26444:3;26440:14;26433:21;;26056:408;26043:1;26040;26036:9;26031:14;;25996:468;;;26000:14;26480:4;26473:11;;26500:3;26493:10;;25518:991;;;;;25326:1183;;;;:::o;26515:509::-;26726:4;26764:2;26753:9;26749:18;26741:26;;26813:9;26807:4;26803:20;26799:1;26788:9;26784:17;26777:47;26841:176;27012:4;27003:6;26841:176;:::i;:::-;26833:184;;26515:509;;;;:::o;27030:116::-;27100:21;27115:5;27100:21;:::i;:::-;27093:5;27090:32;27080:60;;27136:1;27133;27126:12;27080:60;27030:116;:::o;27152:133::-;27195:5;27233:6;27220:20;27211:29;;27249:30;27273:5;27249:30;:::i;:::-;27152:133;;;;:::o;27291:2895::-;27498:6;27506;27514;27522;27530;27538;27546;27554;27562;27570;27619:3;27607:9;27598:7;27594:23;27590:33;27587:120;;;27626:79;;:::i;:::-;27587:120;27746:1;27771:53;27816:7;27807:6;27796:9;27792:22;27771:53;:::i;:::-;27761:63;;27717:117;27901:2;27890:9;27886:18;27873:32;27932:18;27924:6;27921:30;27918:117;;;27954:79;;:::i;:::-;27918:117;28059:63;28114:7;28105:6;28094:9;28090:22;28059:63;:::i;:::-;28049:73;;27844:288;28199:2;28188:9;28184:18;28171:32;28230:18;28222:6;28219:30;28216:117;;;28252:79;;:::i;:::-;28216:117;28357:63;28412:7;28403:6;28392:9;28388:22;28357:63;:::i;:::-;28347:73;;28142:288;28497:2;28486:9;28482:18;28469:32;28528:18;28520:6;28517:30;28514:117;;;28550:79;;:::i;:::-;28514:117;28655:63;28710:7;28701:6;28690:9;28686:22;28655:63;:::i;:::-;28645:73;;28440:288;28795:3;28784:9;28780:19;28767:33;28827:18;28819:6;28816:30;28813:117;;;28849:79;;:::i;:::-;28813:117;28954:63;29009:7;29000:6;28989:9;28985:22;28954:63;:::i;:::-;28944:73;;28738:289;29094:3;29083:9;29079:19;29066:33;29126:18;29118:6;29115:30;29112:117;;;29148:79;;:::i;:::-;29112:117;29253:63;29308:7;29299:6;29288:9;29284:22;29253:63;:::i;:::-;29243:73;;29037:289;29393:3;29382:9;29378:19;29365:33;29425:18;29417:6;29414:30;29411:117;;;29447:79;;:::i;:::-;29411:117;29552:63;29607:7;29598:6;29587:9;29583:22;29552:63;:::i;:::-;29542:73;;29336:289;29692:3;29681:9;29677:19;29664:33;29724:18;29716:6;29713:30;29710:117;;;29746:79;;:::i;:::-;29710:117;29851:63;29906:7;29897:6;29886:9;29882:22;29851:63;:::i;:::-;29841:73;;29635:289;29963:3;29990:50;30032:7;30023:6;30012:9;30008:22;29990:50;:::i;:::-;29980:60;;29934:116;30089:3;30116:53;30161:7;30152:6;30141:9;30137:22;30116:53;:::i;:::-;30106:63;;30060:119;27291:2895;;;;;;;;;;;;;:::o;30192:979::-;30289:6;30297;30305;30354:2;30342:9;30333:7;30329:23;30325:32;30322:119;;;30360:79;;:::i;:::-;30322:119;30480:1;30505:53;30550:7;30541:6;30530:9;30526:22;30505:53;:::i;:::-;30495:63;;30451:117;30635:2;30624:9;30620:18;30607:32;30666:18;30658:6;30655:30;30652:117;;;30688:79;;:::i;:::-;30652:117;30793:63;30848:7;30839:6;30828:9;30824:22;30793:63;:::i;:::-;30783:73;;30578:288;30933:2;30922:9;30918:18;30905:32;30964:18;30956:6;30953:30;30950:117;;;30986:79;;:::i;:::-;30950:117;31091:63;31146:7;31137:6;31126:9;31122:22;31091:63;:::i;:::-;31081:73;;30876:288;30192:979;;;;;:::o;31177:109::-;31258:21;31273:5;31258:21;:::i;:::-;31253:3;31246:34;31177:109;;:::o;31292:210::-;31379:4;31417:2;31406:9;31402:18;31394:26;;31430:65;31492:1;31481:9;31477:17;31468:6;31430:65;:::i;:::-;31292:210;;;;:::o;31508:474::-;31576:6;31584;31633:2;31621:9;31612:7;31608:23;31604:32;31601:119;;;31639:79;;:::i;:::-;31601:119;31759:1;31784:53;31829:7;31820:6;31809:9;31805:22;31784:53;:::i;:::-;31774:63;;31730:117;31886:2;31912:53;31957:7;31948:6;31937:9;31933:22;31912:53;:::i;:::-;31902:63;;31857:118;31508:474;;;;;:::o;31988:138::-;32079:6;32113:5;32107:12;32097:22;;31988:138;;;:::o;32132:208::-;32255:11;32289:6;32284:3;32277:19;32329:4;32324:3;32320:14;32305:29;;32132:208;;;;:::o;32346:156::-;32437:4;32460:3;32452:11;;32490:4;32485:3;32481:14;32473:22;;32346:156;;;:::o;32576:778::-;32683:3;32719:4;32714:3;32710:14;32809:4;32802:5;32798:16;32792:23;32828:63;32885:4;32880:3;32876:14;32862:12;32828:63;:::i;:::-;32734:167;32985:4;32978:5;32974:16;32968:23;33004:63;33061:4;33056:3;33052:14;33038:12;33004:63;:::i;:::-;32911:166;33164:4;33157:5;33153:16;33147:23;33217:3;33211:4;33207:14;33200:4;33195:3;33191:14;33184:38;33243:73;33311:4;33297:12;33243:73;:::i;:::-;33235:81;;33087:240;33344:4;33337:11;;32688:666;32576:778;;;;:::o;33360:252::-;33477:10;33512:94;33602:3;33594:6;33512:94;:::i;:::-;33498:108;;33360:252;;;;:::o;33618:137::-;33712:4;33744;33739:3;33735:14;33727:22;;33618:137;;;:::o;33833:1103::-;34000:3;34029:78;34101:5;34029:78;:::i;:::-;34123:110;34226:6;34221:3;34123:110;:::i;:::-;34116:117;;34259:3;34304:4;34296:6;34292:17;34287:3;34283:27;34334:80;34408:5;34334:80;:::i;:::-;34437:7;34468:1;34453:438;34478:6;34475:1;34472:13;34453:438;;;34549:9;34543:4;34539:20;34534:3;34527:33;34600:6;34594:13;34628:112;34735:4;34720:13;34628:112;:::i;:::-;34620:120;;34763:84;34840:6;34763:84;:::i;:::-;34753:94;;34876:4;34871:3;34867:14;34860:21;;34513:378;34500:1;34497;34493:9;34488:14;;34453:438;;;34457:14;34907:4;34900:11;;34927:3;34920:10;;34005:931;;;;;33833:1103;;;;:::o;34942:469::-;35133:4;35171:2;35160:9;35156:18;35148:26;;35220:9;35214:4;35210:20;35206:1;35195:9;35191:17;35184:47;35248:156;35399:4;35390:6;35248:156;:::i;:::-;35240:164;;34942:469;;;;:::o;35417:141::-;35511:6;35545:5;35539:12;35529:22;;35417:141;;;:::o;35564:211::-;35690:11;35724:6;35719:3;35712:19;35764:4;35759:3;35755:14;35740:29;;35564:211;;;;:::o;35781:159::-;35875:4;35898:3;35890:11;;35928:4;35923:3;35919:14;35911:22;;35781:159;;;:::o;36022:615::-;36135:3;36171:4;36166:3;36162:14;36261:4;36254:5;36250:16;36244:23;36280:63;36337:4;36332:3;36328:14;36314:12;36280:63;:::i;:::-;36186:167;36447:4;36440:5;36436:16;36430:23;36500:3;36494:4;36490:14;36483:4;36478:3;36474:14;36467:38;36526:73;36594:4;36580:12;36526:73;:::i;:::-;36518:81;;36363:247;36627:4;36620:11;;36140:497;36022:615;;;;:::o;36643:264::-;36766:10;36801:100;36897:3;36889:6;36801:100;:::i;:::-;36787:114;;36643:264;;;;:::o;36913:140::-;37010:4;37042;37037:3;37033:14;37025:22;;36913:140;;;:::o;37139:1127::-;37312:3;37341:81;37416:5;37341:81;:::i;:::-;37438:113;37544:6;37539:3;37438:113;:::i;:::-;37431:120;;37577:3;37622:4;37614:6;37610:17;37605:3;37601:27;37652:83;37729:5;37652:83;:::i;:::-;37758:7;37789:1;37774:447;37799:6;37796:1;37793:13;37774:447;;;37870:9;37864:4;37860:20;37855:3;37848:33;37921:6;37915:13;37949:118;38062:4;38047:13;37949:118;:::i;:::-;37941:126;;38090:87;38170:6;38090:87;:::i;:::-;38080:97;;38206:4;38201:3;38197:14;38190:21;;37834:387;37821:1;37818;37814:9;37809:14;;37774:447;;;37778:14;38237:4;38230:11;;38257:3;38250:10;;37317:949;;;;;37139:1127;;;;:::o;38272:481::-;38469:4;38507:2;38496:9;38492:18;38484:26;;38556:9;38550:4;38546:20;38542:1;38531:9;38527:17;38520:47;38584:162;38741:4;38732:6;38584:162;:::i;:::-;38576:170;;38272:481;;;;:::o;38759:1844::-;39238:4;39276:3;39265:9;39261:19;39253:27;;39326:9;39320:4;39316:20;39312:1;39301:9;39297:17;39290:47;39354:78;39427:4;39418:6;39354:78;:::i;:::-;39346:86;;39479:9;39473:4;39469:20;39464:2;39453:9;39449:18;39442:48;39507:78;39580:4;39571:6;39507:78;:::i;:::-;39499:86;;39632:9;39626:4;39622:20;39617:2;39606:9;39602:18;39595:48;39660:78;39733:4;39724:6;39660:78;:::i;:::-;39652:86;;39785:9;39779:4;39775:20;39770:2;39759:9;39755:18;39748:48;39813:78;39886:4;39877:6;39813:78;:::i;:::-;39805:86;;39939:9;39933:4;39929:20;39923:3;39912:9;39908:19;39901:49;39967:78;40040:4;40031:6;39967:78;:::i;:::-;39959:86;;40055:73;40123:3;40112:9;40108:19;40099:6;40055:73;:::i;:::-;40176:9;40170:4;40166:20;40160:3;40149:9;40145:19;40138:49;40204:78;40277:4;40268:6;40204:78;:::i;:::-;40196:86;;40330:9;40324:4;40320:20;40314:3;40303:9;40299:19;40292:49;40358:78;40431:4;40422:6;40358:78;:::i;:::-;40350:86;;40446:67;40508:3;40497:9;40493:19;40484:6;40446:67;:::i;:::-;40523:73;40591:3;40580:9;40576:19;40567:6;40523:73;:::i;:::-;38759:1844;;;;;;;;;;;;;:::o;40609:137::-;40699:6;40733:5;40727:12;40717:22;;40609:137;;;:::o;40752:207::-;40874:11;40908:6;40903:3;40896:19;40948:4;40943:3;40939:14;40924:29;;40752:207;;;;:::o;40965:155::-;41055:4;41078:3;41070:11;;41108:4;41103:3;41099:14;41091:22;;40965:155;;;:::o;41194:2525::-;41299:3;41335:6;41330:3;41326:16;41432:4;41425:5;41421:16;41415:23;41485:3;41479:4;41475:14;41468:4;41463:3;41459:14;41452:38;41511:73;41579:4;41565:12;41511:73;:::i;:::-;41503:81;;41352:243;41685:4;41678:5;41674:16;41668:23;41738:3;41732:4;41728:14;41721:4;41716:3;41712:14;41705:38;41764:73;41832:4;41818:12;41764:73;:::i;:::-;41756:81;;41605:243;41939:4;41932:5;41928:16;41922:23;41992:3;41986:4;41982:14;41975:4;41970:3;41966:14;41959:38;42018:73;42086:4;42072:12;42018:73;:::i;:::-;42010:81;;41858:244;42200:4;42193:5;42189:16;42183:23;42253:3;42247:4;42243:14;42236:4;42231:3;42227:14;42220:38;42279:73;42347:4;42333:12;42279:73;:::i;:::-;42271:81;;42112:251;42461:4;42454:5;42450:16;42444:23;42514:3;42508:4;42504:14;42497:4;42492:3;42488:14;42481:38;42540:73;42608:4;42594:12;42540:73;:::i;:::-;42532:81;;42373:251;42724:4;42717:5;42713:16;42707:23;42743:63;42800:4;42795:3;42791:14;42777:12;42743:63;:::i;:::-;42634:182;42907:4;42900:5;42896:16;42890:23;42960:3;42954:4;42950:14;42943:4;42938:3;42934:14;42927:38;42986:73;43054:4;43040:12;42986:73;:::i;:::-;42978:81;;42826:244;43171:4;43164:5;43160:16;43154:23;43224:3;43218:4;43214:14;43207:4;43202:3;43198:14;43191:38;43250:73;43318:4;43304:12;43250:73;:::i;:::-;43242:81;;43080:254;43421:6;43414:5;43410:18;43404:25;43442:59;43493:6;43488:3;43484:16;43470:12;43442:59;:::i;:::-;43344:167;43596:6;43589:5;43585:18;43579:25;43617:65;43674:6;43669:3;43665:16;43651:12;43617:65;:::i;:::-;43521:171;43709:4;43702:11;;41304:2415;41194:2525;;;;:::o;43725:248::-;43840:10;43875:92;43963:3;43955:6;43875:92;:::i;:::-;43861:106;;43725:248;;;;:::o;43979:136::-;44072:4;44104;44099:3;44095:14;44087:22;;43979:136;;;:::o;44193:1095::-;44358:3;44387:77;44458:5;44387:77;:::i;:::-;44480:109;44582:6;44577:3;44480:109;:::i;:::-;44473:116;;44615:3;44660:4;44652:6;44648:17;44643:3;44639:27;44690:79;44763:5;44690:79;:::i;:::-;44792:7;44823:1;44808:435;44833:6;44830:1;44827:13;44808:435;;;44904:9;44898:4;44894:20;44889:3;44882:33;44955:6;44949:13;44983:110;45088:4;45073:13;44983:110;:::i;:::-;44975:118;;45116:83;45192:6;45116:83;:::i;:::-;45106:93;;45228:4;45223:3;45219:14;45212:21;;44868:375;44855:1;44852;44848:9;44843:14;;44808:435;;;44812:14;45259:4;45252:11;;45279:3;45272:10;;44363:925;;;;;44193:1095;;;;:::o;45294:465::-;45483:4;45521:2;45510:9;45506:18;45498:26;;45570:9;45564:4;45560:20;45556:1;45545:9;45541:17;45534:47;45598:154;45747:4;45738:6;45598:154;:::i;:::-;45590:162;;45294:465;;;;:::o;45765:108::-;45842:24;45860:5;45842:24;:::i;:::-;45837:3;45830:37;45765:108;;:::o;45879:131::-;45961:42;45997:5;45961:42;:::i;:::-;45956:3;45949:55;45879:131;;:::o;46078:1801::-;46187:3;46223:4;46218:3;46214:14;46318:4;46311:5;46307:16;46301:23;46337:63;46394:4;46389:3;46385:14;46371:12;46337:63;:::i;:::-;46238:172;46497:4;46490:5;46486:16;46480:23;46550:3;46544:4;46540:14;46533:4;46528:3;46524:14;46517:38;46576:73;46644:4;46630:12;46576:73;:::i;:::-;46568:81;;46420:240;46748:4;46741:5;46737:16;46731:23;46801:3;46795:4;46791:14;46784:4;46779:3;46775:14;46768:38;46827:73;46895:4;46881:12;46827:73;:::i;:::-;46819:81;;46670:241;47002:4;46995:5;46991:16;46985:23;47055:3;47049:4;47045:14;47038:4;47033:3;47029:14;47022:38;47081:73;47149:4;47135:12;47081:73;:::i;:::-;47073:81;;46921:244;47253:4;47246:5;47242:16;47236:23;47306:3;47300:4;47296:14;47289:4;47284:3;47280:14;47273:38;47332:73;47400:4;47386:12;47332:73;:::i;:::-;47324:81;;47175:241;47510:4;47503:5;47499:16;47493:23;47563:3;47557:4;47553:14;47546:4;47541:3;47537:14;47530:38;47589:73;47657:4;47643:12;47589:73;:::i;:::-;47581:81;;47426:247;47755:4;47748:5;47744:16;47738:23;47774:68;47836:4;47831:3;47827:14;47813:12;47774:68;:::i;:::-;47683:169;47869:4;47862:11;;46192:1687;46078:1801;;;;:::o;47885:353::-;48018:4;48056:2;48045:9;48041:18;48033:26;;48105:9;48099:4;48095:20;48091:1;48080:9;48076:17;48069:47;48133:98;48226:4;48217:6;48133:98;:::i;:::-;48125:106;;47885:353;;;;:::o;48244:134::-;48331:6;48365:5;48359:12;48349:22;;48244:134;;;:::o;48384:204::-;48503:11;48537:6;48532:3;48525:19;48577:4;48572:3;48568:14;48553:29;;48384:204;;;;:::o;48594:152::-;48681:4;48704:3;48696:11;;48734:4;48729:3;48725:14;48717:22;;48594:152;;;:::o;48814:1791::-;48913:3;48949:4;48944:3;48940:14;49044:4;49037:5;49033:16;49027:23;49063:63;49120:4;49115:3;49111:14;49097:12;49063:63;:::i;:::-;48964:172;49223:4;49216:5;49212:16;49206:23;49276:3;49270:4;49266:14;49259:4;49254:3;49250:14;49243:38;49302:73;49370:4;49356:12;49302:73;:::i;:::-;49294:81;;49146:240;49474:4;49467:5;49463:16;49457:23;49527:3;49521:4;49517:14;49510:4;49505:3;49501:14;49494:38;49553:73;49621:4;49607:12;49553:73;:::i;:::-;49545:81;;49396:241;49728:4;49721:5;49717:16;49711:23;49781:3;49775:4;49771:14;49764:4;49759:3;49755:14;49748:38;49807:73;49875:4;49861:12;49807:73;:::i;:::-;49799:81;;49647:244;49979:4;49972:5;49968:16;49962:23;50032:3;50026:4;50022:14;50015:4;50010:3;50006:14;49999:38;50058:73;50126:4;50112:12;50058:73;:::i;:::-;50050:81;;49901:241;50236:4;50229:5;50225:16;50219:23;50289:3;50283:4;50279:14;50272:4;50267:3;50263:14;50256:38;50315:73;50383:4;50369:12;50315:73;:::i;:::-;50307:81;;50152:247;50481:4;50474:5;50470:16;50464:23;50500:68;50562:4;50557:3;50553:14;50539:12;50500:68;:::i;:::-;50409:169;50595:4;50588:11;;48918:1687;48814:1791;;;;:::o;50611:236::-;50720:10;50755:86;50837:3;50829:6;50755:86;:::i;:::-;50741:100;;50611:236;;;;:::o;50853:133::-;50943:4;50975;50970:3;50966:14;50958:22;;50853:133;;;:::o;51058:1071::-;51217:3;51246:74;51314:5;51246:74;:::i;:::-;51336:106;51435:6;51430:3;51336:106;:::i;:::-;51329:113;;51468:3;51513:4;51505:6;51501:17;51496:3;51492:27;51543:76;51613:5;51543:76;:::i;:::-;51642:7;51673:1;51658:426;51683:6;51680:1;51677:13;51658:426;;;51754:9;51748:4;51744:20;51739:3;51732:33;51805:6;51799:13;51833:104;51932:4;51917:13;51833:104;:::i;:::-;51825:112;;51960:80;52033:6;51960:80;:::i;:::-;51950:90;;52069:4;52064:3;52060:14;52053:21;;51718:366;51705:1;51702;51698:9;51693:14;;51658:426;;;51662:14;52100:4;52093:11;;52120:3;52113:10;;51222:907;;;;;51058:1071;;;;:::o;52135:453::-;52318:4;52356:2;52345:9;52341:18;52333:26;;52405:9;52399:4;52395:20;52391:1;52380:9;52376:17;52369:47;52433:148;52576:4;52567:6;52433:148;:::i;:::-;52425:156;;52135:453;;;;:::o;52594:106::-;52674:1;52667:5;52664:12;52654:40;;52690:1;52687;52680:12;52654:40;52594:106;:::o;52706:153::-;52759:5;52797:6;52784:20;52775:29;;52813:40;52847:5;52813:40;:::i;:::-;52706:153;;;;:::o;52865:2117::-;53035:6;53043;53051;53059;53067;53075;53083;53132:3;53120:9;53111:7;53107:23;53103:33;53100:120;;;53139:79;;:::i;:::-;53100:120;53259:1;53284:53;53329:7;53320:6;53309:9;53305:22;53284:53;:::i;:::-;53274:63;;53230:117;53414:2;53403:9;53399:18;53386:32;53445:18;53437:6;53434:30;53431:117;;;53467:79;;:::i;:::-;53431:117;53572:63;53627:7;53618:6;53607:9;53603:22;53572:63;:::i;:::-;53562:73;;53357:288;53712:2;53701:9;53697:18;53684:32;53743:18;53735:6;53732:30;53729:117;;;53765:79;;:::i;:::-;53729:117;53870:63;53925:7;53916:6;53905:9;53901:22;53870:63;:::i;:::-;53860:73;;53655:288;54010:2;53999:9;53995:18;53982:32;54041:18;54033:6;54030:30;54027:117;;;54063:79;;:::i;:::-;54027:117;54168:63;54223:7;54214:6;54203:9;54199:22;54168:63;:::i;:::-;54158:73;;53953:288;54308:3;54297:9;54293:19;54280:33;54340:18;54332:6;54329:30;54326:117;;;54362:79;;:::i;:::-;54326:117;54467:63;54522:7;54513:6;54502:9;54498:22;54467:63;:::i;:::-;54457:73;;54251:289;54607:3;54596:9;54592:19;54579:33;54639:18;54631:6;54628:30;54625:117;;;54661:79;;:::i;:::-;54625:117;54766:63;54821:7;54812:6;54801:9;54797:22;54766:63;:::i;:::-;54756:73;;54550:289;54878:3;54905:60;54957:7;54948:6;54937:9;54933:22;54905:60;:::i;:::-;54895:70;;54849:126;52865:2117;;;;;;;;;;:::o;54988:180::-;55036:77;55033:1;55026:88;55133:4;55130:1;55123:15;55157:4;55154:1;55147:15;55174:180;55222:77;55219:1;55212:88;55319:4;55316:1;55309:15;55343:4;55340:1;55333:15;55360:233;55399:3;55422:24;55440:5;55422:24;:::i;:::-;55413:33;;55468:66;55461:5;55458:77;55455:103;;55538:18;;:::i;:::-;55455:103;55585:1;55578:5;55574:13;55567:20;;55360:233;;;:::o;55599:180::-;55647:77;55644:1;55637:88;55744:4;55741:1;55734:15;55768:4;55765:1;55758:15;55785:320;55829:6;55866:1;55860:4;55856:12;55846:22;;55913:1;55907:4;55903:12;55934:18;55924:81;;55990:4;55982:6;55978:17;55968:27;;55924:81;56052:2;56044:6;56041:14;56021:18;56018:38;56015:84;;56071:18;;:::i;:::-;56015:84;55836:269;55785:320;;;:::o;56111:141::-;56160:4;56183:3;56175:11;;56206:3;56203:1;56196:14;56240:4;56237:1;56227:18;56219:26;;56111:141;;;:::o;56258:93::-;56295:6;56342:2;56337;56330:5;56326:14;56322:23;56312:33;;56258:93;;;:::o;56357:107::-;56401:8;56451:5;56445:4;56441:16;56420:37;;56357:107;;;;:::o;56470:393::-;56539:6;56589:1;56577:10;56573:18;56612:97;56642:66;56631:9;56612:97;:::i;:::-;56730:39;56760:8;56749:9;56730:39;:::i;:::-;56718:51;;56802:4;56798:9;56791:5;56787:21;56778:30;;56851:4;56841:8;56837:19;56830:5;56827:30;56817:40;;56546:317;;56470:393;;;;;:::o;56869:60::-;56897:3;56918:5;56911:12;;56869:60;;;:::o;56935:142::-;56985:9;57018:53;57036:34;57045:24;57063:5;57045:24;:::i;:::-;57036:34;:::i;:::-;57018:53;:::i;:::-;57005:66;;56935:142;;;:::o;57083:75::-;57126:3;57147:5;57140:12;;57083:75;;;:::o;57164:269::-;57274:39;57305:7;57274:39;:::i;:::-;57335:91;57384:41;57408:16;57384:41;:::i;:::-;57376:6;57369:4;57363:11;57335:91;:::i;:::-;57329:4;57322:105;57240:193;57164:269;;;:::o;57439:73::-;57484:3;57439:73;:::o;57518:189::-;57595:32;;:::i;:::-;57636:65;57694:6;57686;57680:4;57636:65;:::i;:::-;57571:136;57518:189;;:::o;57713:186::-;57773:120;57790:3;57783:5;57780:14;57773:120;;;57844:39;57881:1;57874:5;57844:39;:::i;:::-;57817:1;57810:5;57806:13;57797:22;;57773:120;;;57713:186;;:::o;57905:543::-;58006:2;58001:3;57998:11;57995:446;;;58040:38;58072:5;58040:38;:::i;:::-;58124:29;58142:10;58124:29;:::i;:::-;58114:8;58110:44;58307:2;58295:10;58292:18;58289:49;;;58328:8;58313:23;;58289:49;58351:80;58407:22;58425:3;58407:22;:::i;:::-;58397:8;58393:37;58380:11;58351:80;:::i;:::-;58010:431;;57995:446;57905:543;;;:::o;58454:117::-;58508:8;58558:5;58552:4;58548:16;58527:37;;58454:117;;;;:::o;58577:169::-;58621:6;58654:51;58702:1;58698:6;58690:5;58687:1;58683:13;58654:51;:::i;:::-;58650:56;58735:4;58729;58725:15;58715:25;;58628:118;58577:169;;;;:::o;58751:295::-;58827:4;58973:29;58998:3;58992:4;58973:29;:::i;:::-;58965:37;;59035:3;59032:1;59028:11;59022:4;59019:21;59011:29;;58751:295;;;;:::o;59051:1395::-;59168:37;59201:3;59168:37;:::i;:::-;59270:18;59262:6;59259:30;59256:56;;;59292:18;;:::i;:::-;59256:56;59336:38;59368:4;59362:11;59336:38;:::i;:::-;59421:67;59481:6;59473;59467:4;59421:67;:::i;:::-;59515:1;59539:4;59526:17;;59571:2;59563:6;59560:14;59588:1;59583:618;;;;60245:1;60262:6;60259:77;;;60311:9;60306:3;60302:19;60296:26;60287:35;;60259:77;60362:67;60422:6;60415:5;60362:67;:::i;:::-;60356:4;60349:81;60218:222;59553:887;;59583:618;59635:4;59631:9;59623:6;59619:22;59669:37;59701:4;59669:37;:::i;:::-;59728:1;59742:208;59756:7;59753:1;59750:14;59742:208;;;59835:9;59830:3;59826:19;59820:26;59812:6;59805:42;59886:1;59878:6;59874:14;59864:24;;59933:2;59922:9;59918:18;59905:31;;59779:4;59776:1;59772:12;59767:17;;59742:208;;;59978:6;59969:7;59966:19;59963:179;;;60036:9;60031:3;60027:19;60021:26;60079:48;60121:4;60113:6;60109:17;60098:9;60079:48;:::i;:::-;60071:6;60064:64;59986:156;59963:179;60188:1;60184;60176:6;60172:14;60168:22;60162:4;60155:36;59590:611;;;59553:887;;59143:1303;;;59051:1395;;:::o;60452:94::-;60485:8;60533:5;60529:2;60525:14;60504:35;;60452:94;;;:::o;60552:::-;60591:7;60620:20;60634:5;60620:20;:::i;:::-;60609:31;;60552:94;;;:::o;60652:100::-;60691:7;60720:26;60740:5;60720:26;:::i;:::-;60709:37;;60652:100;;;:::o;60758:157::-;60863:45;60883:24;60901:5;60883:24;:::i;:::-;60863:45;:::i;:::-;60858:3;60851:58;60758:157;;:::o;60921:256::-;61033:3;61048:75;61119:3;61110:6;61048:75;:::i;:::-;61148:2;61143:3;61139:12;61132:19;;61168:3;61161:10;;60921:256;;;;:::o;61183:79::-;61222:7;61251:5;61240:16;;61183:79;;;:::o;61268:157::-;61373:45;61393:24;61411:5;61393:24;:::i;:::-;61373:45;:::i;:::-;61368:3;61361:58;61268:157;;:::o;61431:256::-;61543:3;61558:75;61629:3;61620:6;61558:75;:::i;:::-;61658:2;61653:3;61649:12;61642:19;;61678:3;61671:10;;61431:256;;;;:::o;61693:148::-;61795:11;61832:3;61817:18;;61693:148;;;;:::o;61847:377::-;61953:3;61981:39;62014:5;61981:39;:::i;:::-;62036:89;62118:6;62113:3;62036:89;:::i;:::-;62029:96;;62134:52;62179:6;62174:3;62167:4;62160:5;62156:16;62134:52;:::i;:::-;62211:6;62206:3;62202:16;62195:23;;61957:267;61847:377;;;;:::o;62230:275::-;62362:3;62384:95;62475:3;62466:6;62384:95;:::i;:::-;62377:102;;62496:3;62489:10;;62230:275;;;;:::o", + "source": "//SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.11;\r\n\r\ncontract VehicleSystem\r\n{\r\n\r\n enum Role{\r\n CUSTOMER,\r\n MANUFACTURE,\r\n BANK,\r\n ADMIN\r\n }\r\n\r\n enum LicenseRequestType{\r\n FIRST_TIME_LICENSE,\r\n RENEWAL_LICENSE\r\n }\r\n\r\n enum State {\r\n ACCEPTED,\r\n REJECTED,\r\n PENDING\r\n }\r\n\r\n struct manufacture\r\n {\r\n uint user_id;\r\n string manufacture_name;\r\n }\r\n\r\n struct bank\r\n {\r\n uint user_id;\r\n string bank_name;\r\n }\r\n\r\n struct vehicle\r\n {\r\n string vehicle_name;\r\n string vehicle_type;\r\n string vehicle_model;\r\n string vehicle_motor_number;\r\n string vehicle_chase_number;\r\n uint vehicle_manufacture_id;\r\n string vehicle_color;\r\n string vehicle_production_Year;\r\n bool isBlocked;\r\n uint user_id;\r\n }\r\n\r\n struct user\r\n {\r\n address user_address;\r\n string user_name;\r\n string user_email;\r\n string user_password;\r\n string user_phone;\r\n string user_national_id;\r\n Role role;\r\n }\r\n\r\n struct traffic_violation\r\n {\r\n uint vehicle_id;\r\n string violation_description;\r\n string violation_type;\r\n }\r\n\r\n struct license\r\n {\r\n uint user_id;\r\n uint car_id;\r\n string expire_at;\r\n }\r\n\r\n struct license_request\r\n {\r\n uint user_id;\r\n uint car_id;\r\n LicenseRequestType license_request_type;\r\n State state;\r\n }\r\n\r\n struct ban_sale_request {\r\n uint user_id;\r\n uint car_id;\r\n State state;\r\n }\r\n\r\n manufacture[] public manufactures;\r\n bank[] public banks;\r\n vehicle[] public vehicles;\r\n user[] public users;\r\n traffic_violation[] public traffic_violations;\r\n license[] public licenses;\r\n license_request[] public licenses_requests;\r\n ban_sale_request[] public ban_sale_requests;\r\n\r\n function register(address _user_address, string memory _user_name, string memory _user_email, string memory _user_phone, string memory _user_password, string memory _user_national_id, Role role) public returns (bool)\r\n {\r\n user memory temp_hold_user = user(_user_address, _user_name, _user_email, _user_password, _user_phone, _user_national_id, role);\r\n users.push(temp_hold_user);\r\n return true;\r\n }\r\n\r\n function login(string memory _user_email, string memory _user_password) public view returns (int)\r\n {\r\n for (uint i = 0; i < users.length; i++)\r\n {\r\n string memory user_name = users[i].user_email;\r\n string memory user_password = users[i].user_password;\r\n if (compareStrings(user_name, _user_email))\r\n {\r\n if (compareStrings(user_password, _user_password))\r\n {\r\n return int(i);\r\n }\r\n }\r\n }\r\n return - 1;\r\n }\r\n\r\n function get_user(uint user_id) public view returns (user memory){\r\n return users[user_id];\r\n }\r\n\r\n function get_user_id_with_address(address _user_address) public view returns (int){\r\n for (uint i = 0; i < users.length; i++)\r\n {\r\n if (compareAddress(_user_address, users[i].user_address))\r\n {\r\n return int(i);\r\n }\r\n }\r\n return - 1;\r\n }\r\n\r\n function edit_user(uint _user_id, string memory _user_phone, string memory _user_password) public returns (bool)\r\n {\r\n for (uint i = 0; i < users.length; i++)\r\n {\r\n if (compareUint(i, _user_id))\r\n {\r\n users[i].user_password = _user_password;\r\n users[i].user_phone = _user_phone;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function get_users() public view returns (user[] memory){\r\n return users;\r\n }\r\n\r\n function users_length() public view returns (uint){\r\n return users.length;\r\n }\r\n\r\n function add_manufacture(uint _user_id, string memory _manufacture_name) public {\r\n manufacture memory _manufacture = manufacture(_user_id, _manufacture_name);\r\n manufactures.push(_manufacture);\r\n }\r\n\r\n function edit_manufacture(uint _manufacture_id, string memory _manufacture_name) public\r\n {\r\n for (uint i = 0; i < manufactures.length; i++)\r\n {\r\n uint current_manufacture_id = i;\r\n if (compareUint(current_manufacture_id, _manufacture_id))\r\n {\r\n manufactures[i].manufacture_name = _manufacture_name;\r\n }\r\n }\r\n }\r\n\r\n function get_manufactures() public view returns (manufacture[] memory){\r\n return manufactures;\r\n }\r\n\r\n function manufactures_length() public view returns (uint){\r\n return manufactures.length;\r\n }\r\n\r\n function add_bank(uint _user_id, string memory _name) public {\r\n bank memory new_bank = bank(_user_id, _name);\r\n banks.push(new_bank);\r\n }\r\n\r\n function edit_bank(uint _bank_id, uint _user_id, string memory _name) public\r\n {\r\n for (uint i = 0; i < banks.length; i++) {\r\n if (compareUint(_bank_id, i)) {\r\n banks[i].user_id = _user_id;\r\n banks[i].bank_name = _name;\r\n }\r\n }\r\n }\r\n\r\n function get_bank(uint _bank_id) public view returns (bank memory){\r\n return banks[_bank_id];\r\n }\r\n\r\n function get_banks() public view returns (bank[] memory){\r\n return banks;\r\n }\r\n\r\n function banks_length() public view returns (uint){\r\n return banks.length;\r\n }\r\n\r\n function add_vehicle(\r\n uint _manufacture_user_id,\r\n string memory _vehicle_name,\r\n string memory _vehicle_type,\r\n string memory _vehicle_model,\r\n string memory _vehicle_motor_number,\r\n string memory _vehicle_chase_number,\r\n string memory _vehicle_color,\r\n string memory _vehicle_production_Year,\r\n bool _isBlocked,\r\n uint _owner_id\r\n ) public {\r\n vehicle memory new_vehicle = vehicle(\r\n _vehicle_name,\r\n _vehicle_type,\r\n _vehicle_model,\r\n _vehicle_motor_number,\r\n _vehicle_chase_number,\r\n _manufacture_user_id,\r\n _vehicle_color,\r\n _vehicle_production_Year,\r\n _isBlocked,\r\n _owner_id\r\n );\r\n vehicles.push(new_vehicle);\r\n }\r\n\r\n function edit_vehicle(\r\n uint _vehicle_id,\r\n uint _owner_id,\r\n string memory _vehicle_color\r\n ) public\r\n {\r\n for (uint i = 0; i < vehicles.length; i++) {\r\n if (compareUint(_vehicle_id, i)) {\r\n vehicles[i].vehicle_color = _vehicle_color;\r\n vehicles[i].user_id = _owner_id;\r\n }\r\n }\r\n }\r\n\r\n function get_vehicle(uint _vehicle_id) public view returns (vehicle memory){\r\n return vehicles[_vehicle_id];\r\n }\r\n\r\n function get_vehicles() public view returns (vehicle[] memory){\r\n return vehicles;\r\n }\r\n\r\n function vehicles_length() public view returns (uint){\r\n return vehicles.length;\r\n }\r\n\r\n function add_license(uint _user_id, uint _car_id, string memory _expire_at) public\r\n {\r\n license memory new_license = license(_user_id, _car_id, _expire_at);\r\n licenses.push(new_license);\r\n }\r\n\r\n function edit_license(uint _license_id, uint _user_id) public\r\n {\r\n for (uint i = 0; i < licenses.length; i++)\r\n {\r\n if (compareUint(i, _license_id))\r\n {\r\n licenses[i].user_id = _user_id;\r\n }\r\n }\r\n }\r\n\r\n function renewal_license(uint _license_id, string memory _expire_at) public {\r\n licenses[_license_id].expire_at = _expire_at;\r\n }\r\n\r\n function request_to_renewal_licence(uint _license_id, uint _car_id, uint _user_id) public\r\n {\r\n for (uint i = 0; i < licenses.length; i++) {\r\n if (compareUint(i, _license_id)) {\r\n license_request memory new_license_request = license_request(_user_id, _car_id, LicenseRequestType.RENEWAL_LICENSE, State.PENDING);\r\n licenses_requests.push(new_license_request);\r\n }\r\n }\r\n }\r\n\r\n function request_to_first_time_licence(uint _car_id, uint _user_id) public\r\n {\r\n\r\n license_request memory new_license_request = license_request(_user_id, _car_id, LicenseRequestType.FIRST_TIME_LICENSE, State.PENDING);\r\n licenses_requests.push(new_license_request);\r\n }\r\n\r\n function accept_to_request_renewal_license(uint _license_request_id, uint _license_id, string memory _expire_at) public {\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n licenses_requests[i].state = State.ACCEPTED;\r\n }\r\n }\r\n licenses[_license_id].expire_at = _expire_at;\r\n }\r\n\r\n function accept_to_request_first_time_license(uint _license_request_id, string memory _expire_at) public {\r\n license_request memory current_licenses_request;\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n current_licenses_request = licenses_requests[i];\r\n licenses_requests[i].state = State.ACCEPTED;\r\n }\r\n }\r\n license memory new_license = license(current_licenses_request.user_id, current_licenses_request.car_id, _expire_at);\r\n licenses.push(new_license);\r\n }\r\n\r\n function reject_to_request_renewal_license(uint _license_request_id, uint _license_id, string memory _expire_at) public {\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n licenses_requests[i].state = State.REJECTED;\r\n }\r\n }\r\n licenses[_license_id].expire_at = _expire_at;\r\n }\r\n\r\n function reject_to_request_first_time_license(uint _license_request_id, string memory _expire_at) public {\r\n license_request memory current_licenses_request;\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n current_licenses_request = licenses_requests[i];\r\n licenses_requests[i].state = State.REJECTED;\r\n }\r\n }\r\n license memory new_license = license(current_licenses_request.user_id, current_licenses_request.car_id, _expire_at);\r\n licenses.push(new_license);\r\n }\r\n\r\n\r\n function add_traffic_violation(uint _vehicle_id, string memory _vio_type, string memory _vio_des) public\r\n {\r\n traffic_violation memory temp_violation = traffic_violation(_vehicle_id, _vio_type, _vio_des);\r\n traffic_violations.push(temp_violation);\r\n }\r\n\r\n function edit_traffic_violation(uint _vio_id, string memory _vio_type, string memory _vio_des) public\r\n {\r\n for (uint i = 0; i < traffic_violations.length; i++)\r\n {\r\n if (compareUint(i, _vio_id))\r\n {\r\n traffic_violations[i].violation_type = _vio_type;\r\n traffic_violations[i].violation_description = _vio_des;\r\n }\r\n }\r\n }\r\n\r\n function request_to_remove_ban_sale(uint _car_id, uint _user_id) public\r\n {\r\n\r\n ban_sale_request memory new_ban_sale_request = ban_sale_request(_user_id, _car_id, State.PENDING);\r\n ban_sale_requests.push(new_ban_sale_request);\r\n }\r\n\r\n function accept_to_request_renewal_license(uint _ban_sale_request_id, uint _car_id) public {\r\n for (uint i = 0; i < ban_sale_requests.length; i++)\r\n {\r\n if (compareUint(i, _ban_sale_request_id))\r\n {\r\n ban_sale_requests[i].state = State.ACCEPTED;\r\n }\r\n }\r\n vehicles[_car_id].isBlocked = false;\r\n }\r\n\r\n function reject_to_request_renewal_license(uint _ban_sale_request_id, uint _car_id) public {\r\n for (uint i = 0; i < ban_sale_requests.length; i++)\r\n {\r\n if (compareUint(i, _ban_sale_request_id))\r\n {\r\n ban_sale_requests[i].state = State.REJECTED;\r\n }\r\n }\r\n vehicles[_car_id].isBlocked = true;\r\n }\r\n\r\n\r\n function get_traffic_violations() public view returns (traffic_violation[] memory){\r\n return traffic_violations;\r\n }\r\n\r\n function get_licenses() public view returns (license[] memory){\r\n return licenses;\r\n }\r\n\r\n function traffic_violations_length() public view returns (uint){\r\n return traffic_violations.length;\r\n }\r\n\r\n function licenses_length() public view returns (uint){\r\n return licenses.length;\r\n }\r\n\r\n function compareAddress(address a, address b) public pure returns (bool) {\r\n return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b))));\r\n }\r\n\r\n function compareUint(uint a, uint b) public pure returns (bool) {\r\n return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b))));\r\n }\r\n\r\n function compareStrings(string memory a, string memory b) public pure returns (bool) {\r\n return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b))));\r\n }\r\n}\r\n", + "sourcePath": "C:\\Users\\ahmedbadr\\Desktop\\Back-end\\contracts\\VehicleSystem.sol", + "ast": { + "absolutePath": "project:/contracts/VehicleSystem.sol", + "exportedSymbols": { + "VehicleSystem": [ + 1328 + ] + }, + "id": 1329, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 34, + "literals": [ + "solidity", + "^", + "0.8", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "32:24:1" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "VehicleSystem", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1328, + "linearizedBaseContracts": [ + 1328 + ], + "name": "VehicleSystem", + "nameLocation": "69:13:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "VehicleSystem.Role", + "id": 39, + "members": [ + { + "id": 35, + "name": "CUSTOMER", + "nameLocation": "113:8:1", + "nodeType": "EnumValue", + "src": "113:8:1" + }, + { + "id": 36, + "name": "MANUFACTURE", + "nameLocation": "132:11:1", + "nodeType": "EnumValue", + "src": "132:11:1" + }, + { + "id": 37, + "name": "BANK", + "nameLocation": "154:4:1", + "nodeType": "EnumValue", + "src": "154:4:1" + }, + { + "id": 38, + "name": "ADMIN", + "nameLocation": "169:5:1", + "nodeType": "EnumValue", + "src": "169:5:1" + } + ], + "name": "Role", + "nameLocation": "98:4:1", + "nodeType": "EnumDefinition", + "src": "93:88:1" + }, + { + "canonicalName": "VehicleSystem.LicenseRequestType", + "id": 42, + "members": [ + { + "id": 40, + "name": "FIRST_TIME_LICENSE", + "nameLocation": "223:18:1", + "nodeType": "EnumValue", + "src": "223:18:1" + }, + { + "id": 41, + "name": "RENEWAL_LICENSE", + "nameLocation": "252:15:1", + "nodeType": "EnumValue", + "src": "252:15:1" + } + ], + "name": "LicenseRequestType", + "nameLocation": "194:18:1", + "nodeType": "EnumDefinition", + "src": "189:85:1" + }, + { + "canonicalName": "VehicleSystem.State", + "id": 46, + "members": [ + { + "id": 43, + "name": "ACCEPTED", + "nameLocation": "304:8:1", + "nodeType": "EnumValue", + "src": "304:8:1" + }, + { + "id": 44, + "name": "REJECTED", + "nameLocation": "323:8:1", + "nodeType": "EnumValue", + "src": "323:8:1" + }, + { + "id": 45, + "name": "PENDING", + "nameLocation": "342:7:1", + "nodeType": "EnumValue", + "src": "342:7:1" + } + ], + "name": "State", + "nameLocation": "287:5:1", + "nodeType": "EnumDefinition", + "src": "282:74:1" + }, + { + "canonicalName": "VehicleSystem.manufacture", + "id": 51, + "members": [ + { + "constant": false, + "id": 48, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "404:7:1", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "399:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 47, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "399:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 50, + "mutability": "mutable", + "name": "manufacture_name", + "nameLocation": "429:16:1", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "422:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 49, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "422:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "manufacture", + "nameLocation": "371:11:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "364:89:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.bank", + "id": 56, + "members": [ + { + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "494:7:1", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "489:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 52, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "489:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55, + "mutability": "mutable", + "name": "bank_name", + "nameLocation": "519:9:1", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "512:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 54, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "512:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "bank", + "nameLocation": "468:4:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "461:75:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.vehicle", + "id": 77, + "members": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "vehicle_name", + "nameLocation": "582:12:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "575:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 57, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "575:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "mutability": "mutable", + "name": "vehicle_type", + "nameLocation": "612:12:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "605:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 59, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "605:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "vehicle_model", + "nameLocation": "642:13:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "635:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 61, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "635:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "mutability": "mutable", + "name": "vehicle_motor_number", + "nameLocation": "673:20:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "666:27:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 63, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "666:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 66, + "mutability": "mutable", + "name": "vehicle_chase_number", + "nameLocation": "711:20:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "704:27:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 65, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "704:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "vehicle_manufacture_id", + "nameLocation": "747:22:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "742:27:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "742:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "vehicle_color", + "nameLocation": "787:13:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "780:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 69, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "780:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 72, + "mutability": "mutable", + "name": "vehicle_production_Year", + "nameLocation": "818:23:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "811:30:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 71, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "811:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74, + "mutability": "mutable", + "name": "isBlocked", + "nameLocation": "857:9:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "852:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 73, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "852:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "882:7:1", + "nodeType": "VariableDeclaration", + "scope": 77, + "src": "877:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "877:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "vehicle", + "nameLocation": "551:7:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "544:353:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.user", + "id": 93, + "members": [ + { + "constant": false, + "id": 79, + "mutability": "mutable", + "name": "user_address", + "nameLocation": "941:12:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "933:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 78, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "933:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 81, + "mutability": "mutable", + "name": "user_name", + "nameLocation": "971:9:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "964:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 80, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "964:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 83, + "mutability": "mutable", + "name": "user_email", + "nameLocation": "998:10:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "991:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 82, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "991:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "mutability": "mutable", + "name": "user_password", + "nameLocation": "1026:13:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "1019:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 84, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1019:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "mutability": "mutable", + "name": "user_phone", + "nameLocation": "1057:10:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "1050:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 86, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1050:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 89, + "mutability": "mutable", + "name": "user_national_id", + "nameLocation": "1085:16:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "1078:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 88, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1078:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 92, + "mutability": "mutable", + "name": "role", + "nameLocation": "1117:4:1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "1112:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Role_$39", + "typeString": "enum VehicleSystem.Role" + }, + "typeName": { + "id": 91, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 90, + "name": "Role", + "nodeType": "IdentifierPath", + "referencedDeclaration": 39, + "src": "1112:4:1" + }, + "referencedDeclaration": 39, + "src": "1112:4:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Role_$39", + "typeString": "enum VehicleSystem.Role" + } + }, + "visibility": "internal" + } + ], + "name": "user", + "nameLocation": "912:4:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "905:224:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.traffic_violation", + "id": 100, + "members": [ + { + "constant": false, + "id": 95, + "mutability": "mutable", + "name": "vehicle_id", + "nameLocation": "1183:10:1", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1178:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 94, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1178:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 97, + "mutability": "mutable", + "name": "violation_description", + "nameLocation": "1211:21:1", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1204:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 96, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1204:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 99, + "mutability": "mutable", + "name": "violation_type", + "nameLocation": "1250:14:1", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1243:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 98, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1243:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "traffic_violation", + "nameLocation": "1144:17:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "1137:135:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.license", + "id": 107, + "members": [ + { + "constant": false, + "id": 102, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "1316:7:1", + "nodeType": "VariableDeclaration", + "scope": 107, + "src": "1311:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 101, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1311:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 104, + "mutability": "mutable", + "name": "car_id", + "nameLocation": "1339:6:1", + "nodeType": "VariableDeclaration", + "scope": 107, + "src": "1334:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1334:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "expire_at", + "nameLocation": "1363:9:1", + "nodeType": "VariableDeclaration", + "scope": 107, + "src": "1356:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 105, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1356:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "license", + "nameLocation": "1287:7:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "1280:100:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.license_request", + "id": 118, + "members": [ + { + "constant": false, + "id": 109, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "1432:7:1", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1427:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 108, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1427:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 111, + "mutability": "mutable", + "name": "car_id", + "nameLocation": "1455:6:1", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1450:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 110, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1450:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114, + "mutability": "mutable", + "name": "license_request_type", + "nameLocation": "1491:20:1", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1472:39:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$42", + "typeString": "enum VehicleSystem.LicenseRequestType" + }, + "typeName": { + "id": 113, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 112, + "name": "LicenseRequestType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 42, + "src": "1472:18:1" + }, + "referencedDeclaration": 42, + "src": "1472:18:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$42", + "typeString": "enum VehicleSystem.LicenseRequestType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 117, + "mutability": "mutable", + "name": "state", + "nameLocation": "1528:5:1", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1522:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + }, + "typeName": { + "id": 116, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115, + "name": "State", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "1522:5:1" + }, + "referencedDeclaration": 46, + "src": "1522:5:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "visibility": "internal" + } + ], + "name": "license_request", + "nameLocation": "1395:15:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "1388:153:1", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystem.ban_sale_request", + "id": 126, + "members": [ + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "1589:7:1", + "nodeType": "VariableDeclaration", + "scope": 126, + "src": "1584:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1584:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 122, + "mutability": "mutable", + "name": "car_id", + "nameLocation": "1612:6:1", + "nodeType": "VariableDeclaration", + "scope": 126, + "src": "1607:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1607:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 125, + "mutability": "mutable", + "name": "state", + "nameLocation": "1635:5:1", + "nodeType": "VariableDeclaration", + "scope": 126, + "src": "1629:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + }, + "typeName": { + "id": 124, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 123, + "name": "State", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "1629:5:1" + }, + "referencedDeclaration": 46, + "src": "1629:5:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "visibility": "internal" + } + ], + "name": "ban_sale_request", + "nameLocation": "1556:16:1", + "nodeType": "StructDefinition", + "scope": 1328, + "src": "1549:99:1", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "aabab964", + "id": 130, + "mutability": "mutable", + "name": "manufactures", + "nameLocation": "1677:12:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1656:33:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage", + "typeString": "struct VehicleSystem.manufacture[]" + }, + "typeName": { + "baseType": { + "id": 128, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 127, + "name": "manufacture", + "nodeType": "IdentifierPath", + "referencedDeclaration": 51, + "src": "1656:11:1" + }, + "referencedDeclaration": 51, + "src": "1656:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_storage_ptr", + "typeString": "struct VehicleSystem.manufacture" + } + }, + "id": 129, + "nodeType": "ArrayTypeName", + "src": "1656:13:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.manufacture[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "0085ae2b", + "id": 134, + "mutability": "mutable", + "name": "banks", + "nameLocation": "1710:5:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1696:19:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank[]" + }, + "typeName": { + "baseType": { + "id": 132, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 131, + "name": "bank", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1696:4:1" + }, + "referencedDeclaration": 56, + "src": "1696:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage_ptr", + "typeString": "struct VehicleSystem.bank" + } + }, + "id": 133, + "nodeType": "ArrayTypeName", + "src": "1696:6:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.bank[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "b8ba95fa", + "id": 138, + "mutability": "mutable", + "name": "vehicles", + "nameLocation": "1739:8:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1722:25:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle[]" + }, + "typeName": { + "baseType": { + "id": 136, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 135, + "name": "vehicle", + "nodeType": "IdentifierPath", + "referencedDeclaration": 77, + "src": "1722:7:1" + }, + "referencedDeclaration": 77, + "src": "1722:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage_ptr", + "typeString": "struct VehicleSystem.vehicle" + } + }, + "id": 137, + "nodeType": "ArrayTypeName", + "src": "1722:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.vehicle[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "365b98b2", + "id": 142, + "mutability": "mutable", + "name": "users", + "nameLocation": "1768:5:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1754:19:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user[]" + }, + "typeName": { + "baseType": { + "id": 140, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 139, + "name": "user", + "nodeType": "IdentifierPath", + "referencedDeclaration": 93, + "src": "1754:4:1" + }, + "referencedDeclaration": 93, + "src": "1754:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage_ptr", + "typeString": "struct VehicleSystem.user" + } + }, + "id": 141, + "nodeType": "ArrayTypeName", + "src": "1754:6:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.user[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "64787341", + "id": 146, + "mutability": "mutable", + "name": "traffic_violations", + "nameLocation": "1807:18:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1780:45:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation[]" + }, + "typeName": { + "baseType": { + "id": 144, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 143, + "name": "traffic_violation", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "1780:17:1" + }, + "referencedDeclaration": 100, + "src": "1780:17:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_storage_ptr", + "typeString": "struct VehicleSystem.traffic_violation" + } + }, + "id": 145, + "nodeType": "ArrayTypeName", + "src": "1780:19:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.traffic_violation[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "33790845", + "id": 150, + "mutability": "mutable", + "name": "licenses", + "nameLocation": "1849:8:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1832:25:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license[]" + }, + "typeName": { + "baseType": { + "id": 148, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 147, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 107, + "src": "1832:7:1" + }, + "referencedDeclaration": 107, + "src": "1832:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage_ptr", + "typeString": "struct VehicleSystem.license" + } + }, + "id": 149, + "nodeType": "ArrayTypeName", + "src": "1832:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.license[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "5367cb56", + "id": 154, + "mutability": "mutable", + "name": "licenses_requests", + "nameLocation": "1889:17:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1864:42:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request[]" + }, + "typeName": { + "baseType": { + "id": 152, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 151, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 118, + "src": "1864:15:1" + }, + "referencedDeclaration": 118, + "src": "1864:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage_ptr", + "typeString": "struct VehicleSystem.license_request" + } + }, + "id": 153, + "nodeType": "ArrayTypeName", + "src": "1864:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.license_request[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "06a6b5d9", + "id": 158, + "mutability": "mutable", + "name": "ban_sale_requests", + "nameLocation": "1939:17:1", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1913:43:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage", + "typeString": "struct VehicleSystem.ban_sale_request[]" + }, + "typeName": { + "baseType": { + "id": 156, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 155, + "name": "ban_sale_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 126, + "src": "1913:16:1" + }, + "referencedDeclaration": 126, + "src": "1913:16:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_storage_ptr", + "typeString": "struct VehicleSystem.ban_sale_request" + } + }, + "id": 157, + "nodeType": "ArrayTypeName", + "src": "1913:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.ban_sale_request[]" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 199, + "nodeType": "Block", + "src": "2187:205:1", + "statements": [ + { + "assignments": [ + 180 + ], + "declarations": [ + { + "constant": false, + "id": 180, + "mutability": "mutable", + "name": "temp_hold_user", + "nameLocation": "2210:14:1", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "2198:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_memory_ptr", + "typeString": "struct VehicleSystem.user" + }, + "typeName": { + "id": 179, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 178, + "name": "user", + "nodeType": "IdentifierPath", + "referencedDeclaration": 93, + "src": "2198:4:1" + }, + "referencedDeclaration": 93, + "src": "2198:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage_ptr", + "typeString": "struct VehicleSystem.user" + } + }, + "visibility": "internal" + } + ], + "id": 190, + "initialValue": { + "arguments": [ + { + "id": 182, + "name": "_user_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "2232:13:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 183, + "name": "_user_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "2247:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 184, + "name": "_user_email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "2259:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 185, + "name": "_user_password", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "2272:14:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 186, + "name": "_user_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "2288:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 187, + "name": "_user_national_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 170, + "src": "2301:17:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 188, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "2320:4:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Role_$39", + "typeString": "enum VehicleSystem.Role" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_enum$_Role_$39", + "typeString": "enum VehicleSystem.Role" + } + ], + "id": 181, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93, + "src": "2227:4:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_user_$93_storage_ptr_$", + "typeString": "type(struct VehicleSystem.user storage pointer)" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2227:98:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_memory_ptr", + "typeString": "struct VehicleSystem.user memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2198:127:1" + }, + { + "expression": { + "arguments": [ + { + "id": 194, + "name": "temp_hold_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 180, + "src": "2347:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_memory_ptr", + "typeString": "struct VehicleSystem.user memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_user_$93_memory_ptr", + "typeString": "struct VehicleSystem.user memory" + } + ], + "expression": { + "id": 191, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "2336:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2336:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_user_$93_storage_$dyn_storage_ptr_$_t_struct$_user_$93_storage_$returns$__$bound_to$_t_array$_t_struct$_user_$93_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.user storage ref[] storage pointer,struct VehicleSystem.user storage ref)" + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2336:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "2336:26:1" + }, + { + "expression": { + "hexValue": "74727565", + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2380:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 177, + "id": 198, + "nodeType": "Return", + "src": "2373:11:1" + } + ] + }, + "functionSelector": "f2611dc0", + "id": 200, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "register", + "nameLocation": "1974:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 160, + "mutability": "mutable", + "name": "_user_address", + "nameLocation": "1991:13:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "1983:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1983:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "_user_name", + "nameLocation": "2020:10:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2006:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 161, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2006:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 164, + "mutability": "mutable", + "name": "_user_email", + "nameLocation": "2046:11:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2032:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 163, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2032:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 166, + "mutability": "mutable", + "name": "_user_phone", + "nameLocation": "2073:11:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2059:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 165, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2059:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "_user_password", + "nameLocation": "2100:14:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2086:28:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 167, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2086:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 170, + "mutability": "mutable", + "name": "_user_national_id", + "nameLocation": "2130:17:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2116:31:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 169, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2116:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 173, + "mutability": "mutable", + "name": "role", + "nameLocation": "2154:4:1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2149:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Role_$39", + "typeString": "enum VehicleSystem.Role" + }, + "typeName": { + "id": 172, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 171, + "name": "Role", + "nodeType": "IdentifierPath", + "referencedDeclaration": 39, + "src": "2149:4:1" + }, + "referencedDeclaration": 39, + "src": "2149:4:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Role_$39", + "typeString": "enum VehicleSystem.Role" + } + }, + "visibility": "internal" + } + ], + "src": "1982:177:1" + }, + "returnParameters": { + "id": 177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 176, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 200, + "src": "2176:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 175, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2176:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2175:6:1" + }, + "scope": 1328, + "src": "1965:427:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 256, + "nodeType": "Block", + "src": "2503:456:1", + "statements": [ + { + "body": { + "id": 251, + "nodeType": "Block", + "src": "2563:368:1", + "statements": [ + { + "assignments": [ + 221 + ], + "declarations": [ + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "user_name", + "nameLocation": "2592:9:1", + "nodeType": "VariableDeclaration", + "scope": 251, + "src": "2578:23:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 220, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2578:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 226, + "initialValue": { + "expression": { + "baseExpression": { + "id": 222, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "2604:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 224, + "indexExpression": { + "id": 223, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2610:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2604:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage", + "typeString": "struct VehicleSystem.user storage ref" + } + }, + "id": 225, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_email", + "nodeType": "MemberAccess", + "referencedDeclaration": 83, + "src": "2604:19:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2578:45:1" + }, + { + "assignments": [ + 228 + ], + "declarations": [ + { + "constant": false, + "id": 228, + "mutability": "mutable", + "name": "user_password", + "nameLocation": "2652:13:1", + "nodeType": "VariableDeclaration", + "scope": 251, + "src": "2638:27:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 227, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2638:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 233, + "initialValue": { + "expression": { + "baseExpression": { + "id": 229, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "2668:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 231, + "indexExpression": { + "id": 230, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2674:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2668:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage", + "typeString": "struct VehicleSystem.user storage ref" + } + }, + "id": 232, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_password", + "nodeType": "MemberAccess", + "referencedDeclaration": 85, + "src": "2668:22:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2638:52:1" + }, + { + "condition": { + "arguments": [ + { + "id": 235, + "name": "user_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "2724:9:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 236, + "name": "_user_email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 202, + "src": "2735:11:1", + "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" + } + ], + "id": 234, + "name": "compareStrings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "2709:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory,string memory) pure returns (bool)" + } + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2709:38:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 250, + "nodeType": "IfStatement", + "src": "2705:215:1", + "trueBody": { + "id": 249, + "nodeType": "Block", + "src": "2762:158:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 239, + "name": "user_password", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "2800:13:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 240, + "name": "_user_password", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "2815:14:1", + "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" + } + ], + "id": 238, + "name": "compareStrings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "2785:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory,string memory) pure returns (bool)" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2785:45:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 248, + "nodeType": "IfStatement", + "src": "2781:124:1", + "trueBody": { + "id": 247, + "nodeType": "Block", + "src": "2849:56:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 244, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2883:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2879:3:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 242, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "2879:3:1", + "typeDescriptions": {} + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2879:6:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 208, + "id": 246, + "nodeType": "Return", + "src": "2872:13:1" + } + ] + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 213, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2531:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 214, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "2535:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2535:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2531:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 252, + "initializationExpression": { + "assignments": [ + 210 + ], + "declarations": [ + { + "constant": false, + "id": 210, + "mutability": "mutable", + "name": "i", + "nameLocation": "2524:1:1", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2519:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 209, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2519:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 212, + "initialValue": { + "hexValue": "30", + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2528:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2519:10:1" + }, + "loopExpression": { + "expression": { + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2549:3:1", + "subExpression": { + "id": 217, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 210, + "src": "2549:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "2549:3:1" + }, + "nodeType": "ForStatement", + "src": "2514:417:1" + }, + { + "expression": { + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "2948:3:1", + "subExpression": { + "hexValue": "31", + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2950:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_1_by_1", + "typeString": "int_const -1" + } + }, + "functionReturnParameters": 208, + "id": 255, + "nodeType": "Return", + "src": "2941:10:1" + } + ] + }, + "functionSelector": "58467dbc", + "id": 257, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "login", + "nameLocation": "2409:5:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 202, + "mutability": "mutable", + "name": "_user_email", + "nameLocation": "2429:11:1", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "2415:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 201, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2415:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "_user_password", + "nameLocation": "2456:14:1", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "2442:28:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 203, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2442:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2414:57:1" + }, + "returnParameters": { + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "2493:3:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 206, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "2493:3:1", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2492:5:1" + }, + "scope": 1328, + "src": "2400:559:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 269, + "nodeType": "Block", + "src": "3032:40:1", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 265, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3050:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 267, + "indexExpression": { + "id": 266, + "name": "user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "3056:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3050:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage", + "typeString": "struct VehicleSystem.user storage ref" + } + }, + "functionReturnParameters": 264, + "id": 268, + "nodeType": "Return", + "src": "3043:21:1" + } + ] + }, + "functionSelector": "e19507e8", + "id": 270, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_user", + "nameLocation": "2976:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "2990:7:1", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "2985:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 258, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2985:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2984:14:1" + }, + "returnParameters": { + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "3020:11:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_memory_ptr", + "typeString": "struct VehicleSystem.user" + }, + "typeName": { + "id": 262, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 261, + "name": "user", + "nodeType": "IdentifierPath", + "referencedDeclaration": 93, + "src": "3020:4:1" + }, + "referencedDeclaration": 93, + "src": "3020:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage_ptr", + "typeString": "struct VehicleSystem.user" + } + }, + "visibility": "internal" + } + ], + "src": "3019:13:1" + }, + "scope": 1328, + "src": "2967:105:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 307, + "nodeType": "Block", + "src": "3162:233:1", + "statements": [ + { + "body": { + "id": 302, + "nodeType": "Block", + "src": "3222:145:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 289, + "name": "_user_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "3256:13:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 290, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3271:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 292, + "indexExpression": { + "id": 291, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "3277:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3271:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage", + "typeString": "struct VehicleSystem.user storage ref" + } + }, + "id": 293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 79, + "src": "3271:21:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 288, + "name": "compareAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "3241:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + } + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3241:52:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 301, + "nodeType": "IfStatement", + "src": "3237:119:1", + "trueBody": { + "id": 300, + "nodeType": "Block", + "src": "3308:48:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 297, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "3338:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3334:3:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 295, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "3334:3:1", + "typeDescriptions": {} + } + }, + "id": 298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3334:6:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 276, + "id": 299, + "nodeType": "Return", + "src": "3327:13:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 281, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "3190:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 282, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3194:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3194:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3190:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 303, + "initializationExpression": { + "assignments": [ + 278 + ], + "declarations": [ + { + "constant": false, + "id": 278, + "mutability": "mutable", + "name": "i", + "nameLocation": "3183:1:1", + "nodeType": "VariableDeclaration", + "scope": 303, + "src": "3178:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 277, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3178:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 280, + "initialValue": { + "hexValue": "30", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3187:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3178:10:1" + }, + "loopExpression": { + "expression": { + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3208:3:1", + "subExpression": { + "id": 285, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "3208:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 287, + "nodeType": "ExpressionStatement", + "src": "3208:3:1" + }, + "nodeType": "ForStatement", + "src": "3173:194:1" + }, + { + "expression": { + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "3384:3:1", + "subExpression": { + "hexValue": "31", + "id": 304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3386:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_1_by_1", + "typeString": "int_const -1" + } + }, + "functionReturnParameters": 276, + "id": 306, + "nodeType": "Return", + "src": "3377:10:1" + } + ] + }, + "functionSelector": "40b250f9", + "id": 308, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_user_id_with_address", + "nameLocation": "3089:24:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 272, + "mutability": "mutable", + "name": "_user_address", + "nameLocation": "3122:13:1", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "3114:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3114:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3113:23:1" + }, + "returnParameters": { + "id": 276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 275, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "3158:3:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 274, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "3158:3:1", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3157:5:1" + }, + "scope": 1328, + "src": "3080:315:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 356, + "nodeType": "Block", + "src": "3521:315:1", + "statements": [ + { + "body": { + "id": 352, + "nodeType": "Block", + "src": "3581:225:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 331, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "3612:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 332, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 310, + "src": "3615:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 330, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "3600:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3600:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 351, + "nodeType": "IfStatement", + "src": "3596:199:1", + "trueBody": { + "id": 350, + "nodeType": "Block", + "src": "3639:156:1", + "statements": [ + { + "expression": { + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 334, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3658:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 336, + "indexExpression": { + "id": 335, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "3664:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3658:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage", + "typeString": "struct VehicleSystem.user storage ref" + } + }, + "id": 337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "user_password", + "nodeType": "MemberAccess", + "referencedDeclaration": 85, + "src": "3658:22:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 338, + "name": "_user_password", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "3683:14:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3658:39:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 340, + "nodeType": "ExpressionStatement", + "src": "3658:39:1" + }, + { + "expression": { + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 341, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3716:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 343, + "indexExpression": { + "id": 342, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "3722:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3716:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage", + "typeString": "struct VehicleSystem.user storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "user_phone", + "nodeType": "MemberAccess", + "referencedDeclaration": 87, + "src": "3716:19:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 345, + "name": "_user_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "3738:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3716:33:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 347, + "nodeType": "ExpressionStatement", + "src": "3716:33:1" + }, + { + "expression": { + "hexValue": "74727565", + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3775:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 318, + "id": 349, + "nodeType": "Return", + "src": "3768:11:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 323, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "3549:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 324, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3553:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3553:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3549:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 353, + "initializationExpression": { + "assignments": [ + 320 + ], + "declarations": [ + { + "constant": false, + "id": 320, + "mutability": "mutable", + "name": "i", + "nameLocation": "3542:1:1", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "3537:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 319, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3537:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 322, + "initialValue": { + "hexValue": "30", + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3546:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3537:10:1" + }, + "loopExpression": { + "expression": { + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3567:3:1", + "subExpression": { + "id": 327, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "3567:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 329, + "nodeType": "ExpressionStatement", + "src": "3567:3:1" + }, + "nodeType": "ForStatement", + "src": "3532:274:1" + }, + { + "expression": { + "hexValue": "66616c7365", + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3823:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 318, + "id": 355, + "nodeType": "Return", + "src": "3816:12:1" + } + ] + }, + "functionSelector": "8859c8b1", + "id": 357, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_user", + "nameLocation": "3412:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 310, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "3427:8:1", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "3422:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 309, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3422:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "_user_phone", + "nameLocation": "3451:11:1", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "3437:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 311, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3437:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 314, + "mutability": "mutable", + "name": "_user_password", + "nameLocation": "3478:14:1", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "3464:28:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 313, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3464:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3421:72:1" + }, + "returnParameters": { + "id": 318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 317, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "3510:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 316, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3510:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3509:6:1" + }, + "scope": 1328, + "src": "3403:433:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 366, + "nodeType": "Block", + "src": "3900:31:1", + "statements": [ + { + "expression": { + "id": 364, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3918:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "functionReturnParameters": 363, + "id": 365, + "nodeType": "Return", + "src": "3911:12:1" + } + ] + }, + "functionSelector": "ed66aa1b", + "id": 367, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_users", + "nameLocation": "3853:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 358, + "nodeType": "ParameterList", + "parameters": [], + "src": "3862:2:1" + }, + "returnParameters": { + "id": 363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 362, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 367, + "src": "3886:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystem.user[]" + }, + "typeName": { + "baseType": { + "id": 360, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 359, + "name": "user", + "nodeType": "IdentifierPath", + "referencedDeclaration": 93, + "src": "3886:4:1" + }, + "referencedDeclaration": 93, + "src": "3886:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_user_$93_storage_ptr", + "typeString": "struct VehicleSystem.user" + } + }, + "id": 361, + "nodeType": "ArrayTypeName", + "src": "3886:6:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.user[]" + } + }, + "visibility": "internal" + } + ], + "src": "3885:15:1" + }, + "scope": 1328, + "src": "3844:87:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 375, + "nodeType": "Block", + "src": "3989:38:1", + "statements": [ + { + "expression": { + "expression": { + "id": 372, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "4007:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_user_$93_storage_$dyn_storage", + "typeString": "struct VehicleSystem.user storage ref[] storage ref" + } + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4007:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 371, + "id": 374, + "nodeType": "Return", + "src": "4000:19:1" + } + ] + }, + "functionSelector": "0937e741", + "id": 376, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "users_length", + "nameLocation": "3948:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 368, + "nodeType": "ParameterList", + "parameters": [], + "src": "3960:2:1" + }, + "returnParameters": { + "id": 371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 370, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 376, + "src": "3984:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 369, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3984:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3983:6:1" + }, + "scope": 1328, + "src": "3939:88:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 397, + "nodeType": "Block", + "src": "4115:135:1", + "statements": [ + { + "assignments": [ + 385 + ], + "declarations": [ + { + "constant": false, + "id": 385, + "mutability": "mutable", + "name": "_manufacture", + "nameLocation": "4145:12:1", + "nodeType": "VariableDeclaration", + "scope": 397, + "src": "4126:31:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_memory_ptr", + "typeString": "struct VehicleSystem.manufacture" + }, + "typeName": { + "id": 384, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 383, + "name": "manufacture", + "nodeType": "IdentifierPath", + "referencedDeclaration": 51, + "src": "4126:11:1" + }, + "referencedDeclaration": 51, + "src": "4126:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_storage_ptr", + "typeString": "struct VehicleSystem.manufacture" + } + }, + "visibility": "internal" + } + ], + "id": 390, + "initialValue": { + "arguments": [ + { + "id": 387, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "4172:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 388, + "name": "_manufacture_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 380, + "src": "4182:17:1", + "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": 386, + "name": "manufacture", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51, + "src": "4160:11:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_manufacture_$51_storage_ptr_$", + "typeString": "type(struct VehicleSystem.manufacture storage pointer)" + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4160:40:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_memory_ptr", + "typeString": "struct VehicleSystem.manufacture memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4126:74:1" + }, + { + "expression": { + "arguments": [ + { + "id": 394, + "name": "_manufacture", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "4229:12:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_memory_ptr", + "typeString": "struct VehicleSystem.manufacture memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_manufacture_$51_memory_ptr", + "typeString": "struct VehicleSystem.manufacture memory" + } + ], + "expression": { + "id": 391, + "name": "manufactures", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "4211:12:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage", + "typeString": "struct VehicleSystem.manufacture storage ref[] storage ref" + } + }, + "id": 393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "4211:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_manufacture_$51_storage_$dyn_storage_ptr_$_t_struct$_manufacture_$51_storage_$returns$__$bound_to$_t_array$_t_struct$_manufacture_$51_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.manufacture storage ref[] storage pointer,struct VehicleSystem.manufacture storage ref)" + } + }, + "id": 395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4211:31:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 396, + "nodeType": "ExpressionStatement", + "src": "4211:31:1" + } + ] + }, + "functionSelector": "30582978", + "id": 398, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add_manufacture", + "nameLocation": "4044:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 378, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "4065:8:1", + "nodeType": "VariableDeclaration", + "scope": 398, + "src": "4060:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 377, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4060:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 380, + "mutability": "mutable", + "name": "_manufacture_name", + "nameLocation": "4089:17:1", + "nodeType": "VariableDeclaration", + "scope": 398, + "src": "4075:31:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 379, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4075:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4059:48:1" + }, + "returnParameters": { + "id": 382, + "nodeType": "ParameterList", + "parameters": [], + "src": "4115:0:1" + }, + "scope": 1328, + "src": "4035:215:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 435, + "nodeType": "Block", + "src": "4351:304:1", + "statements": [ + { + "body": { + "id": 433, + "nodeType": "Block", + "src": "4418:230:1", + "statements": [ + { + "assignments": [ + 417 + ], + "declarations": [ + { + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "current_manufacture_id", + "nameLocation": "4438:22:1", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "4433:27:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 416, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4433:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 419, + "initialValue": { + "id": 418, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "4463:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4433:31:1" + }, + { + "condition": { + "arguments": [ + { + "id": 421, + "name": "current_manufacture_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "4495:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 422, + "name": "_manufacture_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "4519:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 420, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4483:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4483:52:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 432, + "nodeType": "IfStatement", + "src": "4479:158:1", + "trueBody": { + "id": 431, + "nodeType": "Block", + "src": "4550:87:1", + "statements": [ + { + "expression": { + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 424, + "name": "manufactures", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "4569:12:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage", + "typeString": "struct VehicleSystem.manufacture storage ref[] storage ref" + } + }, + "id": 426, + "indexExpression": { + "id": 425, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "4582:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4569:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_storage", + "typeString": "struct VehicleSystem.manufacture storage ref" + } + }, + "id": 427, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "manufacture_name", + "nodeType": "MemberAccess", + "referencedDeclaration": 50, + "src": "4569:32:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 428, + "name": "_manufacture_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "4604:17:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4569:52:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 430, + "nodeType": "ExpressionStatement", + "src": "4569:52:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "4379:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 410, + "name": "manufactures", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "4383:12:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage", + "typeString": "struct VehicleSystem.manufacture storage ref[] storage ref" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4383:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4379:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 434, + "initializationExpression": { + "assignments": [ + 406 + ], + "declarations": [ + { + "constant": false, + "id": 406, + "mutability": "mutable", + "name": "i", + "nameLocation": "4372:1:1", + "nodeType": "VariableDeclaration", + "scope": 434, + "src": "4367:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 405, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4367:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 408, + "initialValue": { + "hexValue": "30", + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4376:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4367:10:1" + }, + "loopExpression": { + "expression": { + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4404:3:1", + "subExpression": { + "id": 413, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "4404:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 415, + "nodeType": "ExpressionStatement", + "src": "4404:3:1" + }, + "nodeType": "ForStatement", + "src": "4362:286:1" + } + ] + }, + "functionSelector": "cb7fdbaa", + "id": 436, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_manufacture", + "nameLocation": "4267:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "_manufacture_id", + "nameLocation": "4289:15:1", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "4284:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 399, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4284:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 402, + "mutability": "mutable", + "name": "_manufacture_name", + "nameLocation": "4320:17:1", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "4306:31:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 401, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4306:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4283:55:1" + }, + "returnParameters": { + "id": 404, + "nodeType": "ParameterList", + "parameters": [], + "src": "4351:0:1" + }, + "scope": 1328, + "src": "4258:397:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 445, + "nodeType": "Block", + "src": "4733:38:1", + "statements": [ + { + "expression": { + "id": 443, + "name": "manufactures", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "4751:12:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage", + "typeString": "struct VehicleSystem.manufacture storage ref[] storage ref" + } + }, + "functionReturnParameters": 442, + "id": 444, + "nodeType": "Return", + "src": "4744:19:1" + } + ] + }, + "functionSelector": "b72d755c", + "id": 446, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_manufactures", + "nameLocation": "4672:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [], + "src": "4688:2:1" + }, + "returnParameters": { + "id": 442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 441, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 446, + "src": "4712:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystem.manufacture[]" + }, + "typeName": { + "baseType": { + "id": 439, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 438, + "name": "manufacture", + "nodeType": "IdentifierPath", + "referencedDeclaration": 51, + "src": "4712:11:1" + }, + "referencedDeclaration": 51, + "src": "4712:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_manufacture_$51_storage_ptr", + "typeString": "struct VehicleSystem.manufacture" + } + }, + "id": 440, + "nodeType": "ArrayTypeName", + "src": "4712:13:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.manufacture[]" + } + }, + "visibility": "internal" + } + ], + "src": "4711:22:1" + }, + "scope": 1328, + "src": "4663:108:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 454, + "nodeType": "Block", + "src": "4836:45:1", + "statements": [ + { + "expression": { + "expression": { + "id": 451, + "name": "manufactures", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "4854:12:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_manufacture_$51_storage_$dyn_storage", + "typeString": "struct VehicleSystem.manufacture storage ref[] storage ref" + } + }, + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4854:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 450, + "id": 453, + "nodeType": "Return", + "src": "4847:26:1" + } + ] + }, + "functionSelector": "b20d4d5b", + "id": 455, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "manufactures_length", + "nameLocation": "4788:19:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 447, + "nodeType": "ParameterList", + "parameters": [], + "src": "4807:2:1" + }, + "returnParameters": { + "id": 450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "4831:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 448, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4831:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4830:6:1" + }, + "scope": 1328, + "src": "4779:102:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 476, + "nodeType": "Block", + "src": "4950:94:1", + "statements": [ + { + "assignments": [ + 464 + ], + "declarations": [ + { + "constant": false, + "id": 464, + "mutability": "mutable", + "name": "new_bank", + "nameLocation": "4973:8:1", + "nodeType": "VariableDeclaration", + "scope": 476, + "src": "4961:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_memory_ptr", + "typeString": "struct VehicleSystem.bank" + }, + "typeName": { + "id": 463, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 462, + "name": "bank", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "4961:4:1" + }, + "referencedDeclaration": 56, + "src": "4961:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage_ptr", + "typeString": "struct VehicleSystem.bank" + } + }, + "visibility": "internal" + } + ], + "id": 469, + "initialValue": { + "arguments": [ + { + "id": 466, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 457, + "src": "4989:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 467, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 459, + "src": "4999:5:1", + "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": 465, + "name": "bank", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "4984:4:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_bank_$56_storage_ptr_$", + "typeString": "type(struct VehicleSystem.bank storage pointer)" + } + }, + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4984:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_memory_ptr", + "typeString": "struct VehicleSystem.bank memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4961:44:1" + }, + { + "expression": { + "arguments": [ + { + "id": 473, + "name": "new_bank", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "5027:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_memory_ptr", + "typeString": "struct VehicleSystem.bank memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_bank_$56_memory_ptr", + "typeString": "struct VehicleSystem.bank memory" + } + ], + "expression": { + "id": 470, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5016:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5016:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_bank_$56_storage_$dyn_storage_ptr_$_t_struct$_bank_$56_storage_$returns$__$bound_to$_t_array$_t_struct$_bank_$56_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.bank storage ref[] storage pointer,struct VehicleSystem.bank storage ref)" + } + }, + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5016:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 475, + "nodeType": "ExpressionStatement", + "src": "5016:20:1" + } + ] + }, + "functionSelector": "41884736", + "id": 477, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add_bank", + "nameLocation": "4898:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 457, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "4912:8:1", + "nodeType": "VariableDeclaration", + "scope": 477, + "src": "4907:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 456, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4907:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 459, + "mutability": "mutable", + "name": "_name", + "nameLocation": "4936:5:1", + "nodeType": "VariableDeclaration", + "scope": 477, + "src": "4922:19:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 458, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4922:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4906:36:1" + }, + "returnParameters": { + "id": 461, + "nodeType": "ParameterList", + "parameters": [], + "src": "4950:0:1" + }, + "scope": 1328, + "src": "4889:155:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 519, + "nodeType": "Block", + "src": "5134:221:1", + "statements": [ + { + "body": { + "id": 517, + "nodeType": "Block", + "src": "5185:163:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 498, + "name": "_bank_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "5216:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 499, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "5226:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 497, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "5204:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5204:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 516, + "nodeType": "IfStatement", + "src": "5200:137:1", + "trueBody": { + "id": 515, + "nodeType": "Block", + "src": "5230:107:1", + "statements": [ + { + "expression": { + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 501, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5249:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "id": 503, + "indexExpression": { + "id": 502, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "5255:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5249:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage", + "typeString": "struct VehicleSystem.bank storage ref" + } + }, + "id": 504, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 53, + "src": "5249:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 505, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 481, + "src": "5268:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5249:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 507, + "nodeType": "ExpressionStatement", + "src": "5249:27:1" + }, + { + "expression": { + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 508, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5295:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "id": 510, + "indexExpression": { + "id": 509, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "5301:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5295:8:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage", + "typeString": "struct VehicleSystem.bank storage ref" + } + }, + "id": 511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "bank_name", + "nodeType": "MemberAccess", + "referencedDeclaration": 55, + "src": "5295:18:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 512, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "5316:5:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5295:26:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 514, + "nodeType": "ExpressionStatement", + "src": "5295:26:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 490, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "5162:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 491, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5166:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "id": 492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5166:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5162:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 518, + "initializationExpression": { + "assignments": [ + 487 + ], + "declarations": [ + { + "constant": false, + "id": 487, + "mutability": "mutable", + "name": "i", + "nameLocation": "5155:1:1", + "nodeType": "VariableDeclaration", + "scope": 518, + "src": "5150:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 486, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5150:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 489, + "initialValue": { + "hexValue": "30", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5159:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5150:10:1" + }, + "loopExpression": { + "expression": { + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5180:3:1", + "subExpression": { + "id": 494, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "5180:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 496, + "nodeType": "ExpressionStatement", + "src": "5180:3:1" + }, + "nodeType": "ForStatement", + "src": "5145:203:1" + } + ] + }, + "functionSelector": "6e290158", + "id": 520, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_bank", + "nameLocation": "5061:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 479, + "mutability": "mutable", + "name": "_bank_id", + "nameLocation": "5076:8:1", + "nodeType": "VariableDeclaration", + "scope": 520, + "src": "5071:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 478, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5071:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 481, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "5091:8:1", + "nodeType": "VariableDeclaration", + "scope": 520, + "src": "5086:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 480, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5086:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "_name", + "nameLocation": "5115:5:1", + "nodeType": "VariableDeclaration", + "scope": 520, + "src": "5101:19:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 482, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5101:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5070:51:1" + }, + "returnParameters": { + "id": 485, + "nodeType": "ParameterList", + "parameters": [], + "src": "5134:0:1" + }, + "scope": 1328, + "src": "5052:303:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 532, + "nodeType": "Block", + "src": "5429:41:1", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 528, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5447:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "id": 530, + "indexExpression": { + "id": 529, + "name": "_bank_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 522, + "src": "5453:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5447:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage", + "typeString": "struct VehicleSystem.bank storage ref" + } + }, + "functionReturnParameters": 527, + "id": 531, + "nodeType": "Return", + "src": "5440:22:1" + } + ] + }, + "functionSelector": "09fbc50f", + "id": 533, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_bank", + "nameLocation": "5372:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 522, + "mutability": "mutable", + "name": "_bank_id", + "nameLocation": "5386:8:1", + "nodeType": "VariableDeclaration", + "scope": 533, + "src": "5381:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 521, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5381:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5380:15:1" + }, + "returnParameters": { + "id": 527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 526, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 533, + "src": "5417:11:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_memory_ptr", + "typeString": "struct VehicleSystem.bank" + }, + "typeName": { + "id": 525, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 524, + "name": "bank", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "5417:4:1" + }, + "referencedDeclaration": 56, + "src": "5417:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage_ptr", + "typeString": "struct VehicleSystem.bank" + } + }, + "visibility": "internal" + } + ], + "src": "5416:13:1" + }, + "scope": 1328, + "src": "5363:107:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 542, + "nodeType": "Block", + "src": "5534:31:1", + "statements": [ + { + "expression": { + "id": 540, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5552:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "functionReturnParameters": 539, + "id": 541, + "nodeType": "Return", + "src": "5545:12:1" + } + ] + }, + "functionSelector": "446ca94c", + "id": 543, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_banks", + "nameLocation": "5487:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 534, + "nodeType": "ParameterList", + "parameters": [], + "src": "5496:2:1" + }, + "returnParameters": { + "id": 539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 538, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 543, + "src": "5520:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystem.bank[]" + }, + "typeName": { + "baseType": { + "id": 536, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 535, + "name": "bank", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "5520:4:1" + }, + "referencedDeclaration": 56, + "src": "5520:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_bank_$56_storage_ptr", + "typeString": "struct VehicleSystem.bank" + } + }, + "id": 537, + "nodeType": "ArrayTypeName", + "src": "5520:6:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.bank[]" + } + }, + "visibility": "internal" + } + ], + "src": "5519:15:1" + }, + "scope": 1328, + "src": "5478:87:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 551, + "nodeType": "Block", + "src": "5623:38:1", + "statements": [ + { + "expression": { + "expression": { + "id": 548, + "name": "banks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "5641:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_bank_$56_storage_$dyn_storage", + "typeString": "struct VehicleSystem.bank storage ref[] storage ref" + } + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5641:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 547, + "id": 550, + "nodeType": "Return", + "src": "5634:19:1" + } + ] + }, + "functionSelector": "8c6ba8fc", + "id": 552, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "banks_length", + "nameLocation": "5582:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 544, + "nodeType": "ParameterList", + "parameters": [], + "src": "5594:2:1" + }, + "returnParameters": { + "id": 547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 546, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 552, + "src": "5618:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 545, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5618:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5617:6:1" + }, + "scope": 1328, + "src": "5573:88:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 597, + "nodeType": "Block", + "src": "6086:412:1", + "statements": [ + { + "assignments": [ + 577 + ], + "declarations": [ + { + "constant": false, + "id": 577, + "mutability": "mutable", + "name": "new_vehicle", + "nameLocation": "6112:11:1", + "nodeType": "VariableDeclaration", + "scope": 597, + "src": "6097:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_memory_ptr", + "typeString": "struct VehicleSystem.vehicle" + }, + "typeName": { + "id": 576, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 575, + "name": "vehicle", + "nodeType": "IdentifierPath", + "referencedDeclaration": 77, + "src": "6097:7:1" + }, + "referencedDeclaration": 77, + "src": "6097:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage_ptr", + "typeString": "struct VehicleSystem.vehicle" + } + }, + "visibility": "internal" + } + ], + "id": 590, + "initialValue": { + "arguments": [ + { + "id": 579, + "name": "_vehicle_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 556, + "src": "6148:13:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 580, + "name": "_vehicle_type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "6176:13:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 581, + "name": "_vehicle_model", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "6204:14:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 582, + "name": "_vehicle_motor_number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "6233:21:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 583, + "name": "_vehicle_chase_number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "6269:21:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 584, + "name": "_manufacture_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6305:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 585, + "name": "_vehicle_color", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 566, + "src": "6340:14:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 586, + "name": "_vehicle_production_Year", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 568, + "src": "6369:24:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 587, + "name": "_isBlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "6408:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 588, + "name": "_owner_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 572, + "src": "6433:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 578, + "name": "vehicle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "6126:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_vehicle_$77_storage_ptr_$", + "typeString": "type(struct VehicleSystem.vehicle storage pointer)" + } + }, + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6126:327:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_memory_ptr", + "typeString": "struct VehicleSystem.vehicle memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6097:356:1" + }, + { + "expression": { + "arguments": [ + { + "id": 594, + "name": "new_vehicle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 577, + "src": "6478:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_memory_ptr", + "typeString": "struct VehicleSystem.vehicle memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_vehicle_$77_memory_ptr", + "typeString": "struct VehicleSystem.vehicle memory" + } + ], + "expression": { + "id": 591, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6464:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "6464:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_vehicle_$77_storage_$dyn_storage_ptr_$_t_struct$_vehicle_$77_storage_$returns$__$bound_to$_t_array$_t_struct$_vehicle_$77_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.vehicle storage ref[] storage pointer,struct VehicleSystem.vehicle storage ref)" + } + }, + "id": 595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6464:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 596, + "nodeType": "ExpressionStatement", + "src": "6464:26:1" + } + ] + }, + "functionSelector": "84abf683", + "id": 598, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add_vehicle", + "nameLocation": "5678:11:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 554, + "mutability": "mutable", + "name": "_manufacture_user_id", + "nameLocation": "5705:20:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5700:25:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 553, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5700:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 556, + "mutability": "mutable", + "name": "_vehicle_name", + "nameLocation": "5750:13:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5736:27:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 555, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5736:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 558, + "mutability": "mutable", + "name": "_vehicle_type", + "nameLocation": "5788:13:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5774:27:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 557, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5774:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 560, + "mutability": "mutable", + "name": "_vehicle_model", + "nameLocation": "5826:14:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5812:28:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 559, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5812:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 562, + "mutability": "mutable", + "name": "_vehicle_motor_number", + "nameLocation": "5865:21:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5851:35:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 561, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5851:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 564, + "mutability": "mutable", + "name": "_vehicle_chase_number", + "nameLocation": "5911:21:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5897:35:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5897:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 566, + "mutability": "mutable", + "name": "_vehicle_color", + "nameLocation": "5957:14:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5943:28:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 565, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5943:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 568, + "mutability": "mutable", + "name": "_vehicle_production_Year", + "nameLocation": "5996:24:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5982:38:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 567, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5982:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 570, + "mutability": "mutable", + "name": "_isBlocked", + "nameLocation": "6036:10:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6031:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6031:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 572, + "mutability": "mutable", + "name": "_owner_id", + "nameLocation": "6062:9:1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6057:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 571, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6057:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5689:389:1" + }, + "returnParameters": { + "id": 574, + "nodeType": "ParameterList", + "parameters": [], + "src": "6086:0:1" + }, + "scope": 1328, + "src": "5669:829:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 640, + "nodeType": "Block", + "src": "6638:247:1", + "statements": [ + { + "body": { + "id": 638, + "nodeType": "Block", + "src": "6692:186:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 619, + "name": "_vehicle_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 600, + "src": "6723:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 620, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "6736:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 618, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "6711:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6711:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 637, + "nodeType": "IfStatement", + "src": "6707:160:1", + "trueBody": { + "id": 636, + "nodeType": "Block", + "src": "6740:127:1", + "statements": [ + { + "expression": { + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 622, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6759:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 624, + "indexExpression": { + "id": 623, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "6768:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6759:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage", + "typeString": "struct VehicleSystem.vehicle storage ref" + } + }, + "id": 625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "vehicle_color", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "6759:25:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 626, + "name": "_vehicle_color", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "6787:14:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6759:42:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 628, + "nodeType": "ExpressionStatement", + "src": "6759:42:1" + }, + { + "expression": { + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 629, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6820:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 631, + "indexExpression": { + "id": 630, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "6829:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6820:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage", + "typeString": "struct VehicleSystem.vehicle storage ref" + } + }, + "id": 632, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 76, + "src": "6820:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 633, + "name": "_owner_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "6842:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6820:31:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 635, + "nodeType": "ExpressionStatement", + "src": "6820:31:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 611, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "6666:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 612, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6670:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6670:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6666:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 639, + "initializationExpression": { + "assignments": [ + 608 + ], + "declarations": [ + { + "constant": false, + "id": 608, + "mutability": "mutable", + "name": "i", + "nameLocation": "6659:1:1", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "6654:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6654:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 610, + "initialValue": { + "hexValue": "30", + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6663:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6654:10:1" + }, + "loopExpression": { + "expression": { + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6687:3:1", + "subExpression": { + "id": 615, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "6687:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 617, + "nodeType": "ExpressionStatement", + "src": "6687:3:1" + }, + "nodeType": "ForStatement", + "src": "6649:229:1" + } + ] + }, + "functionSelector": "565d52bf", + "id": 641, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_vehicle", + "nameLocation": "6515:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 600, + "mutability": "mutable", + "name": "_vehicle_id", + "nameLocation": "6543:11:1", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "6538:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 599, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6538:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "_owner_id", + "nameLocation": "6570:9:1", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "6565:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 601, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6565:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 604, + "mutability": "mutable", + "name": "_vehicle_color", + "nameLocation": "6604:14:1", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "6590:28:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 603, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6590:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6527:98:1" + }, + "returnParameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [], + "src": "6638:0:1" + }, + "scope": 1328, + "src": "6506:379:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 653, + "nodeType": "Block", + "src": "6968:47:1", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 649, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6986:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 651, + "indexExpression": { + "id": 650, + "name": "_vehicle_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "6995:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6986:21:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage", + "typeString": "struct VehicleSystem.vehicle storage ref" + } + }, + "functionReturnParameters": 648, + "id": 652, + "nodeType": "Return", + "src": "6979:28:1" + } + ] + }, + "functionSelector": "700a6102", + "id": 654, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_vehicle", + "nameLocation": "6902:11:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 643, + "mutability": "mutable", + "name": "_vehicle_id", + "nameLocation": "6919:11:1", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "6914:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 642, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6914:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6913:18:1" + }, + "returnParameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 647, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "6953:14:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_memory_ptr", + "typeString": "struct VehicleSystem.vehicle" + }, + "typeName": { + "id": 646, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 645, + "name": "vehicle", + "nodeType": "IdentifierPath", + "referencedDeclaration": 77, + "src": "6953:7:1" + }, + "referencedDeclaration": 77, + "src": "6953:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage_ptr", + "typeString": "struct VehicleSystem.vehicle" + } + }, + "visibility": "internal" + } + ], + "src": "6952:16:1" + }, + "scope": 1328, + "src": "6893:122:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 663, + "nodeType": "Block", + "src": "7085:34:1", + "statements": [ + { + "expression": { + "id": 661, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "7103:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "functionReturnParameters": 660, + "id": 662, + "nodeType": "Return", + "src": "7096:15:1" + } + ] + }, + "functionSelector": "c55cbaec", + "id": 664, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_vehicles", + "nameLocation": "7032:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 655, + "nodeType": "ParameterList", + "parameters": [], + "src": "7044:2:1" + }, + "returnParameters": { + "id": 660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 659, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 664, + "src": "7068:16:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystem.vehicle[]" + }, + "typeName": { + "baseType": { + "id": 657, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 656, + "name": "vehicle", + "nodeType": "IdentifierPath", + "referencedDeclaration": 77, + "src": "7068:7:1" + }, + "referencedDeclaration": 77, + "src": "7068:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage_ptr", + "typeString": "struct VehicleSystem.vehicle" + } + }, + "id": 658, + "nodeType": "ArrayTypeName", + "src": "7068:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.vehicle[]" + } + }, + "visibility": "internal" + } + ], + "src": "7067:18:1" + }, + "scope": 1328, + "src": "7023:96:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 672, + "nodeType": "Block", + "src": "7180:41:1", + "statements": [ + { + "expression": { + "expression": { + "id": 669, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "7198:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7198:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 668, + "id": 671, + "nodeType": "Return", + "src": "7191:22:1" + } + ] + }, + "functionSelector": "95a2b0fb", + "id": 673, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "vehicles_length", + "nameLocation": "7136:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 665, + "nodeType": "ParameterList", + "parameters": [], + "src": "7151:2:1" + }, + "returnParameters": { + "id": 668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 667, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "7175:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7175:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7174:6:1" + }, + "scope": 1328, + "src": "7127:94:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 697, + "nodeType": "Block", + "src": "7317:123:1", + "statements": [ + { + "assignments": [ + 684 + ], + "declarations": [ + { + "constant": false, + "id": 684, + "mutability": "mutable", + "name": "new_license", + "nameLocation": "7343:11:1", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "7328:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license" + }, + "typeName": { + "id": 683, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 682, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 107, + "src": "7328:7:1" + }, + "referencedDeclaration": 107, + "src": "7328:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage_ptr", + "typeString": "struct VehicleSystem.license" + } + }, + "visibility": "internal" + } + ], + "id": 690, + "initialValue": { + "arguments": [ + { + "id": 686, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 675, + "src": "7365:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 687, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 677, + "src": "7375:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 688, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "7384:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 685, + "name": "license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "7357:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_$107_storage_ptr_$", + "typeString": "type(struct VehicleSystem.license storage pointer)" + } + }, + "id": 689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7357:38:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7328:67:1" + }, + { + "expression": { + "arguments": [ + { + "id": 694, + "name": "new_license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7420:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + ], + "expression": { + "id": 691, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "7406:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7406:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr_$_t_struct$_license_$107_storage_$returns$__$bound_to$_t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.license storage ref[] storage pointer,struct VehicleSystem.license storage ref)" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7406:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 696, + "nodeType": "ExpressionStatement", + "src": "7406:26:1" + } + ] + }, + "functionSelector": "1f0a3fa5", + "id": 698, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add_license", + "nameLocation": "7238:11:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 675, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "7255:8:1", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "7250:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 674, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7250:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 677, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "7270:7:1", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "7265:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 676, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7265:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "7293:10:1", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "7279:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 678, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7279:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7249:55:1" + }, + "returnParameters": { + "id": 681, + "nodeType": "ParameterList", + "parameters": [], + "src": "7317:0:1" + }, + "scope": 1328, + "src": "7229:211:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 731, + "nodeType": "Block", + "src": "7515:207:1", + "statements": [ + { + "body": { + "id": 729, + "nodeType": "Block", + "src": "7578:137:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 717, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "7609:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 718, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 700, + "src": "7612:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 716, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "7597:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7597:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 728, + "nodeType": "IfStatement", + "src": "7593:111:1", + "trueBody": { + "id": 727, + "nodeType": "Block", + "src": "7639:65:1", + "statements": [ + { + "expression": { + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 720, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "7658:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 722, + "indexExpression": { + "id": 721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "7667:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7658:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage", + "typeString": "struct VehicleSystem.license storage ref" + } + }, + "id": 723, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 102, + "src": "7658:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 724, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 702, + "src": "7680:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7658:30:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 726, + "nodeType": "ExpressionStatement", + "src": "7658:30:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 709, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "7543:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 710, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "7547:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7547:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7543:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 730, + "initializationExpression": { + "assignments": [ + 706 + ], + "declarations": [ + { + "constant": false, + "id": 706, + "mutability": "mutable", + "name": "i", + "nameLocation": "7536:1:1", + "nodeType": "VariableDeclaration", + "scope": 730, + "src": "7531:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 705, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7531:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 708, + "initialValue": { + "hexValue": "30", + "id": 707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7540:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "7531:10:1" + }, + "loopExpression": { + "expression": { + "id": 714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7564:3:1", + "subExpression": { + "id": 713, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "7564:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 715, + "nodeType": "ExpressionStatement", + "src": "7564:3:1" + }, + "nodeType": "ForStatement", + "src": "7526:189:1" + } + ] + }, + "functionSelector": "007d43cd", + "id": 732, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_license", + "nameLocation": "7457:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 700, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "7475:11:1", + "nodeType": "VariableDeclaration", + "scope": 732, + "src": "7470:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 699, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7470:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 702, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "7493:8:1", + "nodeType": "VariableDeclaration", + "scope": 732, + "src": "7488:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 701, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7488:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7469:33:1" + }, + "returnParameters": { + "id": 704, + "nodeType": "ParameterList", + "parameters": [], + "src": "7515:0:1" + }, + "scope": 1328, + "src": "7448:274:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 746, + "nodeType": "Block", + "src": "7806:63:1", + "statements": [ + { + "expression": { + "id": 744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 739, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "7817:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 741, + "indexExpression": { + "id": 740, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 734, + "src": "7826:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7817:21:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage", + "typeString": "struct VehicleSystem.license storage ref" + } + }, + "id": 742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "expire_at", + "nodeType": "MemberAccess", + "referencedDeclaration": 106, + "src": "7817:31:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 743, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "7851:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "7817:44:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 745, + "nodeType": "ExpressionStatement", + "src": "7817:44:1" + } + ] + }, + "functionSelector": "2e001d74", + "id": 747, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "renewal_license", + "nameLocation": "7739:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 734, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "7760:11:1", + "nodeType": "VariableDeclaration", + "scope": 747, + "src": "7755:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 733, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7755:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 736, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "7787:10:1", + "nodeType": "VariableDeclaration", + "scope": 747, + "src": "7773:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 735, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7773:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7754:44:1" + }, + "returnParameters": { + "id": 738, + "nodeType": "ParameterList", + "parameters": [], + "src": "7806:0:1" + }, + "scope": 1328, + "src": "7730:139:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 793, + "nodeType": "Block", + "src": "7972:347:1", + "statements": [ + { + "body": { + "id": 791, + "nodeType": "Block", + "src": "8026:286:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 768, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 757, + "src": "8057:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 769, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "8060:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 767, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "8045:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8045:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 790, + "nodeType": "IfStatement", + "src": "8041:260:1", + "trueBody": { + "id": 789, + "nodeType": "Block", + "src": "8074:227:1", + "statements": [ + { + "assignments": [ + 773 + ], + "declarations": [ + { + "constant": false, + "id": 773, + "mutability": "mutable", + "name": "new_license_request", + "nameLocation": "8116:19:1", + "nodeType": "VariableDeclaration", + "scope": 789, + "src": "8093:42:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request" + }, + "typeName": { + "id": 772, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 771, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 118, + "src": "8093:15:1" + }, + "referencedDeclaration": 118, + "src": "8093:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage_ptr", + "typeString": "struct VehicleSystem.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 782, + "initialValue": { + "arguments": [ + { + "id": 775, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "8154:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 776, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 751, + "src": "8164:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 777, + "name": "LicenseRequestType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "8173:18:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_LicenseRequestType_$42_$", + "typeString": "type(enum VehicleSystem.LicenseRequestType)" + } + }, + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "RENEWAL_LICENSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 41, + "src": "8173:34:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$42", + "typeString": "enum VehicleSystem.LicenseRequestType" + } + }, + { + "expression": { + "id": 779, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "8209:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PENDING", + "nodeType": "MemberAccess", + "referencedDeclaration": 45, + "src": "8209:13:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_LicenseRequestType_$42", + "typeString": "enum VehicleSystem.LicenseRequestType" + }, + { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + ], + "id": 774, + "name": "license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "8138:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_request_$118_storage_ptr_$", + "typeString": "type(struct VehicleSystem.license_request storage pointer)" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8138:85:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8093:130:1" + }, + { + "expression": { + "arguments": [ + { + "id": 786, + "name": "new_license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "8265:19:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + ], + "expression": { + "id": 783, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "8242:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "8242:22:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_request_$118_storage_$dyn_storage_ptr_$_t_struct$_license_request_$118_storage_$returns$__$bound_to$_t_array$_t_struct$_license_request_$118_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.license_request storage ref[] storage pointer,struct VehicleSystem.license_request storage ref)" + } + }, + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8242:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 788, + "nodeType": "ExpressionStatement", + "src": "8242:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 760, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 757, + "src": "8000:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 761, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "8004:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8004:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8000:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 792, + "initializationExpression": { + "assignments": [ + 757 + ], + "declarations": [ + { + "constant": false, + "id": 757, + "mutability": "mutable", + "name": "i", + "nameLocation": "7993:1:1", + "nodeType": "VariableDeclaration", + "scope": 792, + "src": "7988:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 756, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7988:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 759, + "initialValue": { + "hexValue": "30", + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7997:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "7988:10:1" + }, + "loopExpression": { + "expression": { + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8021:3:1", + "subExpression": { + "id": 764, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 757, + "src": "8021:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 766, + "nodeType": "ExpressionStatement", + "src": "8021:3:1" + }, + "nodeType": "ForStatement", + "src": "7983:329:1" + } + ] + }, + "functionSelector": "2ca052ce", + "id": 794, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "request_to_renewal_licence", + "nameLocation": "7886:26:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 749, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "7918:11:1", + "nodeType": "VariableDeclaration", + "scope": 794, + "src": "7913:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 748, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7913:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 751, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "7936:7:1", + "nodeType": "VariableDeclaration", + "scope": 794, + "src": "7931:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 750, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7931:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 753, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "7950:8:1", + "nodeType": "VariableDeclaration", + "scope": 794, + "src": "7945:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 752, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7945:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7912:47:1" + }, + "returnParameters": { + "id": 755, + "nodeType": "ParameterList", + "parameters": [], + "src": "7972:0:1" + }, + "scope": 1328, + "src": "7877:442:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 819, + "nodeType": "Block", + "src": "8407:208:1", + "statements": [ + { + "assignments": [ + 803 + ], + "declarations": [ + { + "constant": false, + "id": 803, + "mutability": "mutable", + "name": "new_license_request", + "nameLocation": "8443:19:1", + "nodeType": "VariableDeclaration", + "scope": 819, + "src": "8420:42:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request" + }, + "typeName": { + "id": 802, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 801, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 118, + "src": "8420:15:1" + }, + "referencedDeclaration": 118, + "src": "8420:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage_ptr", + "typeString": "struct VehicleSystem.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 812, + "initialValue": { + "arguments": [ + { + "id": 805, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "8481:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 806, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "8491:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 807, + "name": "LicenseRequestType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "8500:18:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_LicenseRequestType_$42_$", + "typeString": "type(enum VehicleSystem.LicenseRequestType)" + } + }, + "id": 808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "FIRST_TIME_LICENSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 40, + "src": "8500:37:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$42", + "typeString": "enum VehicleSystem.LicenseRequestType" + } + }, + { + "expression": { + "id": 809, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "8539:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PENDING", + "nodeType": "MemberAccess", + "referencedDeclaration": 45, + "src": "8539:13:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_LicenseRequestType_$42", + "typeString": "enum VehicleSystem.LicenseRequestType" + }, + { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + ], + "id": 804, + "name": "license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "8465:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_request_$118_storage_ptr_$", + "typeString": "type(struct VehicleSystem.license_request storage pointer)" + } + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8465:88:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8420:133:1" + }, + { + "expression": { + "arguments": [ + { + "id": 816, + "name": "new_license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "8587:19:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + ], + "expression": { + "id": 813, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "8564:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "8564:22:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_request_$118_storage_$dyn_storage_ptr_$_t_struct$_license_request_$118_storage_$returns$__$bound_to$_t_array$_t_struct$_license_request_$118_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.license_request storage ref[] storage pointer,struct VehicleSystem.license_request storage ref)" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8564:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 818, + "nodeType": "ExpressionStatement", + "src": "8564:43:1" + } + ] + }, + "functionSelector": "086ae1cf", + "id": 820, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "request_to_first_time_licence", + "nameLocation": "8336:29:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 796, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "8371:7:1", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "8366:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 795, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8366:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 798, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "8385:8:1", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "8380:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 797, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8380:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8365:29:1" + }, + "returnParameters": { + "id": 800, + "nodeType": "ParameterList", + "parameters": [], + "src": "8407:0:1" + }, + "scope": 1328, + "src": "8327:288:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 863, + "nodeType": "Block", + "src": "8743:292:1", + "statements": [ + { + "body": { + "id": 854, + "nodeType": "Block", + "src": "8815:158:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 841, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "8846:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 842, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 822, + "src": "8849:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 840, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "8834:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8834:35:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 853, + "nodeType": "IfStatement", + "src": "8830:132:1", + "trueBody": { + "id": 852, + "nodeType": "Block", + "src": "8884:78:1", + "statements": [ + { + "expression": { + "id": 850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 844, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "8903:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 846, + "indexExpression": { + "id": 845, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "8921:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8903:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage", + "typeString": "struct VehicleSystem.license_request storage ref" + } + }, + "id": 847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 117, + "src": "8903:26:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 848, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "8932:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACCEPTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 43, + "src": "8932:14:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "src": "8903:43:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "id": 851, + "nodeType": "ExpressionStatement", + "src": "8903:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 833, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "8771:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 834, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "8775:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8775:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8771:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 855, + "initializationExpression": { + "assignments": [ + 830 + ], + "declarations": [ + { + "constant": false, + "id": 830, + "mutability": "mutable", + "name": "i", + "nameLocation": "8764:1:1", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "8759:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 829, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8759:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 832, + "initialValue": { + "hexValue": "30", + "id": 831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8768:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8759:10:1" + }, + "loopExpression": { + "expression": { + "id": 838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8801:3:1", + "subExpression": { + "id": 837, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "8801:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 839, + "nodeType": "ExpressionStatement", + "src": "8801:3:1" + }, + "nodeType": "ForStatement", + "src": "8754:219:1" + }, + { + "expression": { + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 856, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "8983:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 858, + "indexExpression": { + "id": 857, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 824, + "src": "8992:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8983:21:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage", + "typeString": "struct VehicleSystem.license storage ref" + } + }, + "id": 859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "expire_at", + "nodeType": "MemberAccess", + "referencedDeclaration": 106, + "src": "8983:31:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 860, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "9017:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "8983:44:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 862, + "nodeType": "ExpressionStatement", + "src": "8983:44:1" + } + ] + }, + "functionSelector": "f5701cfe", + "id": 864, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "accept_to_request_renewal_license", + "nameLocation": "8632:33:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "8671:19:1", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "8666:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 821, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8666:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "8697:11:1", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "8692:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8692:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 826, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "8724:10:1", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "8710:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 825, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8710:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8665:70:1" + }, + "returnParameters": { + "id": 828, + "nodeType": "ParameterList", + "parameters": [], + "src": "8743:0:1" + }, + "scope": 1328, + "src": "8623:412:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 925, + "nodeType": "Block", + "src": "9148:524:1", + "statements": [ + { + "assignments": [ + 873 + ], + "declarations": [ + { + "constant": false, + "id": 873, + "mutability": "mutable", + "name": "current_licenses_request", + "nameLocation": "9182:24:1", + "nodeType": "VariableDeclaration", + "scope": 925, + "src": "9159:47:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request" + }, + "typeName": { + "id": 872, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 871, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 118, + "src": "9159:15:1" + }, + "referencedDeclaration": 118, + "src": "9159:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage_ptr", + "typeString": "struct VehicleSystem.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 874, + "nodeType": "VariableDeclarationStatement", + "src": "9159:47:1" + }, + { + "body": { + "id": 906, + "nodeType": "Block", + "src": "9278:224:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 887, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "9309:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 888, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "9312:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 886, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "9297:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9297:35:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 905, + "nodeType": "IfStatement", + "src": "9293:198:1", + "trueBody": { + "id": 904, + "nodeType": "Block", + "src": "9347:144:1", + "statements": [ + { + "expression": { + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 890, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "9366:24:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 891, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "9393:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 893, + "indexExpression": { + "id": 892, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "9411:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9393:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage", + "typeString": "struct VehicleSystem.license_request storage ref" + } + }, + "src": "9366:47:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "id": 895, + "nodeType": "ExpressionStatement", + "src": "9366:47:1" + }, + { + "expression": { + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 896, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "9432:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 898, + "indexExpression": { + "id": 897, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "9450:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9432:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage", + "typeString": "struct VehicleSystem.license_request storage ref" + } + }, + "id": 899, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 117, + "src": "9432:26:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 900, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "9461:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACCEPTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 43, + "src": "9461:14:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "src": "9432:43:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "9432:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 879, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "9234:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 880, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "9238:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9238:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9234:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 907, + "initializationExpression": { + "assignments": [ + 876 + ], + "declarations": [ + { + "constant": false, + "id": 876, + "mutability": "mutable", + "name": "i", + "nameLocation": "9227:1:1", + "nodeType": "VariableDeclaration", + "scope": 907, + "src": "9222:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 875, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9222:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 878, + "initialValue": { + "hexValue": "30", + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9231:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9222:10:1" + }, + "loopExpression": { + "expression": { + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9264:3:1", + "subExpression": { + "id": 883, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "9264:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "9264:3:1" + }, + "nodeType": "ForStatement", + "src": "9217:285:1" + }, + { + "assignments": [ + 910 + ], + "declarations": [ + { + "constant": false, + "id": 910, + "mutability": "mutable", + "name": "new_license", + "nameLocation": "9527:11:1", + "nodeType": "VariableDeclaration", + "scope": 925, + "src": "9512:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license" + }, + "typeName": { + "id": 909, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 908, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 107, + "src": "9512:7:1" + }, + "referencedDeclaration": 107, + "src": "9512:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage_ptr", + "typeString": "struct VehicleSystem.license" + } + }, + "visibility": "internal" + } + ], + "id": 918, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 912, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "9549:24:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "id": 913, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 109, + "src": "9549:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 914, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "9583:24:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "id": 915, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "car_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 111, + "src": "9583:31:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 916, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "9616:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 911, + "name": "license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "9541:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_$107_storage_ptr_$", + "typeString": "type(struct VehicleSystem.license storage pointer)" + } + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9541:86:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9512:115:1" + }, + { + "expression": { + "arguments": [ + { + "id": 922, + "name": "new_license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "9652:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + ], + "expression": { + "id": 919, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "9638:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "9638:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr_$_t_struct$_license_$107_storage_$returns$__$bound_to$_t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.license storage ref[] storage pointer,struct VehicleSystem.license storage ref)" + } + }, + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9638:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 924, + "nodeType": "ExpressionStatement", + "src": "9638:26:1" + } + ] + }, + "functionSelector": "2e0ba53e", + "id": 926, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "accept_to_request_first_time_license", + "nameLocation": "9052:36:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 866, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "9094:19:1", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "9089:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9089:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 868, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "9129:10:1", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "9115:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 867, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9115:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9088:52:1" + }, + "returnParameters": { + "id": 870, + "nodeType": "ParameterList", + "parameters": [], + "src": "9148:0:1" + }, + "scope": 1328, + "src": "9043:629:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 969, + "nodeType": "Block", + "src": "9800:292:1", + "statements": [ + { + "body": { + "id": 960, + "nodeType": "Block", + "src": "9872:158:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 947, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "9903:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 948, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "9906:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 946, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "9891:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9891:35:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 959, + "nodeType": "IfStatement", + "src": "9887:132:1", + "trueBody": { + "id": 958, + "nodeType": "Block", + "src": "9941:78:1", + "statements": [ + { + "expression": { + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 950, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "9960:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 952, + "indexExpression": { + "id": 951, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "9978:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9960:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage", + "typeString": "struct VehicleSystem.license_request storage ref" + } + }, + "id": 953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 117, + "src": "9960:26:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 954, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "9989:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "9989:14:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "src": "9960:43:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "id": 957, + "nodeType": "ExpressionStatement", + "src": "9960:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 939, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "9828:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 940, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "9832:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9832:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9828:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 961, + "initializationExpression": { + "assignments": [ + 936 + ], + "declarations": [ + { + "constant": false, + "id": 936, + "mutability": "mutable", + "name": "i", + "nameLocation": "9821:1:1", + "nodeType": "VariableDeclaration", + "scope": 961, + "src": "9816:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 935, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9816:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 938, + "initialValue": { + "hexValue": "30", + "id": 937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9825:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9816:10:1" + }, + "loopExpression": { + "expression": { + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9858:3:1", + "subExpression": { + "id": 943, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "9858:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 945, + "nodeType": "ExpressionStatement", + "src": "9858:3:1" + }, + "nodeType": "ForStatement", + "src": "9811:219:1" + }, + { + "expression": { + "id": 967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 962, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "10040:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 964, + "indexExpression": { + "id": 963, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "10049:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10040:21:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage", + "typeString": "struct VehicleSystem.license storage ref" + } + }, + "id": 965, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "expire_at", + "nodeType": "MemberAccess", + "referencedDeclaration": 106, + "src": "10040:31:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 966, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 932, + "src": "10074:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "10040:44:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 968, + "nodeType": "ExpressionStatement", + "src": "10040:44:1" + } + ] + }, + "functionSelector": "90e8fc91", + "id": 970, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reject_to_request_renewal_license", + "nameLocation": "9689:33:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "9728:19:1", + "nodeType": "VariableDeclaration", + "scope": 970, + "src": "9723:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 927, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9723:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 930, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "9754:11:1", + "nodeType": "VariableDeclaration", + "scope": 970, + "src": "9749:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 929, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9749:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 932, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "9781:10:1", + "nodeType": "VariableDeclaration", + "scope": 970, + "src": "9767:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 931, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9767:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9722:70:1" + }, + "returnParameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [], + "src": "9800:0:1" + }, + "scope": 1328, + "src": "9680:412:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1031, + "nodeType": "Block", + "src": "10205:524:1", + "statements": [ + { + "assignments": [ + 979 + ], + "declarations": [ + { + "constant": false, + "id": 979, + "mutability": "mutable", + "name": "current_licenses_request", + "nameLocation": "10239:24:1", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "10216:47:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request" + }, + "typeName": { + "id": 978, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 977, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 118, + "src": "10216:15:1" + }, + "referencedDeclaration": 118, + "src": "10216:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage_ptr", + "typeString": "struct VehicleSystem.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 980, + "nodeType": "VariableDeclarationStatement", + "src": "10216:47:1" + }, + { + "body": { + "id": 1012, + "nodeType": "Block", + "src": "10335:224:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 993, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "10366:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 994, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "10369:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 992, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "10354:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10354:35:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1011, + "nodeType": "IfStatement", + "src": "10350:198:1", + "trueBody": { + "id": 1010, + "nodeType": "Block", + "src": "10404:144:1", + "statements": [ + { + "expression": { + "id": 1000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 996, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 979, + "src": "10423:24:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 997, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "10450:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 999, + "indexExpression": { + "id": 998, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "10468:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10450:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage", + "typeString": "struct VehicleSystem.license_request storage ref" + } + }, + "src": "10423:47:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "id": 1001, + "nodeType": "ExpressionStatement", + "src": "10423:47:1" + }, + { + "expression": { + "id": 1008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1002, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "10489:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 1004, + "indexExpression": { + "id": 1003, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "10507:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10489:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_storage", + "typeString": "struct VehicleSystem.license_request storage ref" + } + }, + "id": 1005, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 117, + "src": "10489:26:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1006, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "10518:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 1007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "10518:14:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "src": "10489:43:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "id": 1009, + "nodeType": "ExpressionStatement", + "src": "10489:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 985, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "10291:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 986, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "10295:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$118_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license_request storage ref[] storage ref" + } + }, + "id": 987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10295:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10291:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1013, + "initializationExpression": { + "assignments": [ + 982 + ], + "declarations": [ + { + "constant": false, + "id": 982, + "mutability": "mutable", + "name": "i", + "nameLocation": "10284:1:1", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "10279:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 981, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10279:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 984, + "initialValue": { + "hexValue": "30", + "id": 983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10288:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10279:10:1" + }, + "loopExpression": { + "expression": { + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10321:3:1", + "subExpression": { + "id": 989, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "10321:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 991, + "nodeType": "ExpressionStatement", + "src": "10321:3:1" + }, + "nodeType": "ForStatement", + "src": "10274:285:1" + }, + { + "assignments": [ + 1016 + ], + "declarations": [ + { + "constant": false, + "id": 1016, + "mutability": "mutable", + "name": "new_license", + "nameLocation": "10584:11:1", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "10569:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license" + }, + "typeName": { + "id": 1015, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1014, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 107, + "src": "10569:7:1" + }, + "referencedDeclaration": 107, + "src": "10569:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage_ptr", + "typeString": "struct VehicleSystem.license" + } + }, + "visibility": "internal" + } + ], + "id": 1024, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 1018, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 979, + "src": "10606:24:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "id": 1019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 109, + "src": "10606:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1020, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 979, + "src": "10640:24:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$118_memory_ptr", + "typeString": "struct VehicleSystem.license_request memory" + } + }, + "id": 1021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "car_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 111, + "src": "10640:31:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1022, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 974, + "src": "10673:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1017, + "name": "license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "10598:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_$107_storage_ptr_$", + "typeString": "type(struct VehicleSystem.license storage pointer)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10598:86:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10569:115:1" + }, + { + "expression": { + "arguments": [ + { + "id": 1028, + "name": "new_license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1016, + "src": "10709:11:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_$107_memory_ptr", + "typeString": "struct VehicleSystem.license memory" + } + ], + "expression": { + "id": 1025, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "10695:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "10695:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr_$_t_struct$_license_$107_storage_$returns$__$bound_to$_t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.license storage ref[] storage pointer,struct VehicleSystem.license storage ref)" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10695:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1030, + "nodeType": "ExpressionStatement", + "src": "10695:26:1" + } + ] + }, + "functionSelector": "4079a6c0", + "id": 1032, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reject_to_request_first_time_license", + "nameLocation": "10109:36:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 972, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "10151:19:1", + "nodeType": "VariableDeclaration", + "scope": 1032, + "src": "10146:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 971, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10146:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 974, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "10186:10:1", + "nodeType": "VariableDeclaration", + "scope": 1032, + "src": "10172:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 973, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10172:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10145:52:1" + }, + "returnParameters": { + "id": 976, + "nodeType": "ParameterList", + "parameters": [], + "src": "10205:0:1" + }, + "scope": 1328, + "src": "10100:629:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1056, + "nodeType": "Block", + "src": "10849:162:1", + "statements": [ + { + "assignments": [ + 1043 + ], + "declarations": [ + { + "constant": false, + "id": 1043, + "mutability": "mutable", + "name": "temp_violation", + "nameLocation": "10885:14:1", + "nodeType": "VariableDeclaration", + "scope": 1056, + "src": "10860:39:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_memory_ptr", + "typeString": "struct VehicleSystem.traffic_violation" + }, + "typeName": { + "id": 1042, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1041, + "name": "traffic_violation", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "10860:17:1" + }, + "referencedDeclaration": 100, + "src": "10860:17:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_storage_ptr", + "typeString": "struct VehicleSystem.traffic_violation" + } + }, + "visibility": "internal" + } + ], + "id": 1049, + "initialValue": { + "arguments": [ + { + "id": 1045, + "name": "_vehicle_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1034, + "src": "10920:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1046, + "name": "_vio_type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1036, + "src": "10933:9:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1047, + "name": "_vio_des", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1038, + "src": "10944:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1044, + "name": "traffic_violation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "10902:17:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_traffic_violation_$100_storage_ptr_$", + "typeString": "type(struct VehicleSystem.traffic_violation storage pointer)" + } + }, + "id": 1048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10902:51:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_memory_ptr", + "typeString": "struct VehicleSystem.traffic_violation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10860:93:1" + }, + { + "expression": { + "arguments": [ + { + "id": 1053, + "name": "temp_violation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1043, + "src": "10988:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_memory_ptr", + "typeString": "struct VehicleSystem.traffic_violation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_traffic_violation_$100_memory_ptr", + "typeString": "struct VehicleSystem.traffic_violation memory" + } + ], + "expression": { + "id": 1050, + "name": "traffic_violations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "10964:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref[] storage ref" + } + }, + "id": 1052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "10964:23:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage_ptr_$_t_struct$_traffic_violation_$100_storage_$returns$__$bound_to$_t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.traffic_violation storage ref[] storage pointer,struct VehicleSystem.traffic_violation storage ref)" + } + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10964:39:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1055, + "nodeType": "ExpressionStatement", + "src": "10964:39:1" + } + ] + }, + "functionSelector": "f8ad77d6", + "id": 1057, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add_traffic_violation", + "nameLocation": "10748:21:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1039, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "mutability": "mutable", + "name": "_vehicle_id", + "nameLocation": "10775:11:1", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "10770:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1033, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10770:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1036, + "mutability": "mutable", + "name": "_vio_type", + "nameLocation": "10802:9:1", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "10788:23:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1035, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10788:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1038, + "mutability": "mutable", + "name": "_vio_des", + "nameLocation": "10827:8:1", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "10813:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1037, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10813:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10769:67:1" + }, + "returnParameters": { + "id": 1040, + "nodeType": "ParameterList", + "parameters": [], + "src": "10849:0:1" + }, + "scope": 1328, + "src": "10739:272:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1099, + "nodeType": "Block", + "src": "11126:304:1", + "statements": [ + { + "body": { + "id": 1097, + "nodeType": "Block", + "src": "11199:224:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1078, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "11230:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1079, + "name": "_vio_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "11233:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1077, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "11218:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11218:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1096, + "nodeType": "IfStatement", + "src": "11214:198:1", + "trueBody": { + "id": 1095, + "nodeType": "Block", + "src": "11256:156:1", + "statements": [ + { + "expression": { + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1081, + "name": "traffic_violations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "11275:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref[] storage ref" + } + }, + "id": 1083, + "indexExpression": { + "id": 1082, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "11294:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11275:21:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref" + } + }, + "id": 1084, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "violation_type", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "11275:36:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1085, + "name": "_vio_type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1061, + "src": "11314:9:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "11275:48:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1087, + "nodeType": "ExpressionStatement", + "src": "11275:48:1" + }, + { + "expression": { + "id": 1093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1088, + "name": "traffic_violations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "11342:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref[] storage ref" + } + }, + "id": 1090, + "indexExpression": { + "id": 1089, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "11361:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11342:21:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref" + } + }, + "id": 1091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "violation_description", + "nodeType": "MemberAccess", + "referencedDeclaration": 97, + "src": "11342:43:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1092, + "name": "_vio_des", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "11388:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "11342:54:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1094, + "nodeType": "ExpressionStatement", + "src": "11342:54:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1070, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "11154:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1071, + "name": "traffic_violations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "11158:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref[] storage ref" + } + }, + "id": 1072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11158:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11154:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1098, + "initializationExpression": { + "assignments": [ + 1067 + ], + "declarations": [ + { + "constant": false, + "id": 1067, + "mutability": "mutable", + "name": "i", + "nameLocation": "11147:1:1", + "nodeType": "VariableDeclaration", + "scope": 1098, + "src": "11142:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1066, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11142:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1069, + "initialValue": { + "hexValue": "30", + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11151:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11142:10:1" + }, + "loopExpression": { + "expression": { + "id": 1075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11185:3:1", + "subExpression": { + "id": 1074, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "11185:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1076, + "nodeType": "ExpressionStatement", + "src": "11185:3:1" + }, + "nodeType": "ForStatement", + "src": "11137:286:1" + } + ] + }, + "functionSelector": "e6b59346", + "id": 1100, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_traffic_violation", + "nameLocation": "11028:22:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1059, + "mutability": "mutable", + "name": "_vio_id", + "nameLocation": "11056:7:1", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "11051:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1058, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11051:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1061, + "mutability": "mutable", + "name": "_vio_type", + "nameLocation": "11079:9:1", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "11065:23:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1060, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11065:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1063, + "mutability": "mutable", + "name": "_vio_des", + "nameLocation": "11104:8:1", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "11090:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1062, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11090:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11050:63:1" + }, + "returnParameters": { + "id": 1065, + "nodeType": "ParameterList", + "parameters": [], + "src": "11126:0:1" + }, + "scope": 1328, + "src": "11019:411:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1123, + "nodeType": "Block", + "src": "11515:173:1", + "statements": [ + { + "assignments": [ + 1109 + ], + "declarations": [ + { + "constant": false, + "id": 1109, + "mutability": "mutable", + "name": "new_ban_sale_request", + "nameLocation": "11552:20:1", + "nodeType": "VariableDeclaration", + "scope": 1123, + "src": "11528:44:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_memory_ptr", + "typeString": "struct VehicleSystem.ban_sale_request" + }, + "typeName": { + "id": 1108, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1107, + "name": "ban_sale_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 126, + "src": "11528:16:1" + }, + "referencedDeclaration": 126, + "src": "11528:16:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_storage_ptr", + "typeString": "struct VehicleSystem.ban_sale_request" + } + }, + "visibility": "internal" + } + ], + "id": 1116, + "initialValue": { + "arguments": [ + { + "id": 1111, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "11592:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1112, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1102, + "src": "11602:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1113, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "11611:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PENDING", + "nodeType": "MemberAccess", + "referencedDeclaration": 45, + "src": "11611:13:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + ], + "id": 1110, + "name": "ban_sale_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 126, + "src": "11575:16:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ban_sale_request_$126_storage_ptr_$", + "typeString": "type(struct VehicleSystem.ban_sale_request storage pointer)" + } + }, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11575:50:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_memory_ptr", + "typeString": "struct VehicleSystem.ban_sale_request memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11528:97:1" + }, + { + "expression": { + "arguments": [ + { + "id": 1120, + "name": "new_ban_sale_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "11659:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_memory_ptr", + "typeString": "struct VehicleSystem.ban_sale_request memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ban_sale_request_$126_memory_ptr", + "typeString": "struct VehicleSystem.ban_sale_request memory" + } + ], + "expression": { + "id": 1117, + "name": "ban_sale_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "11636:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref[] storage ref" + } + }, + "id": 1119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "11636:22:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage_ptr_$_t_struct$_ban_sale_request_$126_storage_$returns$__$bound_to$_t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystem.ban_sale_request storage ref[] storage pointer,struct VehicleSystem.ban_sale_request storage ref)" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11636:44:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1122, + "nodeType": "ExpressionStatement", + "src": "11636:44:1" + } + ] + }, + "functionSelector": "6b62b9d1", + "id": 1124, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "request_to_remove_ban_sale", + "nameLocation": "11447:26:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1102, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "11479:7:1", + "nodeType": "VariableDeclaration", + "scope": 1124, + "src": "11474:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1101, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11474:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1104, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "11493:8:1", + "nodeType": "VariableDeclaration", + "scope": 1124, + "src": "11488:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11488:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11473:29:1" + }, + "returnParameters": { + "id": 1106, + "nodeType": "ParameterList", + "parameters": [], + "src": "11515:0:1" + }, + "scope": 1328, + "src": "11438:250:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1165, + "nodeType": "Block", + "src": "11787:284:1", + "statements": [ + { + "body": { + "id": 1156, + "nodeType": "Block", + "src": "11859:159:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1143, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11890:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1144, + "name": "_ban_sale_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "11893:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1142, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "11878:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11878:36:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1155, + "nodeType": "IfStatement", + "src": "11874:133:1", + "trueBody": { + "id": 1154, + "nodeType": "Block", + "src": "11929:78:1", + "statements": [ + { + "expression": { + "id": 1152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1146, + "name": "ban_sale_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "11948:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref[] storage ref" + } + }, + "id": 1148, + "indexExpression": { + "id": 1147, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11966:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11948:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref" + } + }, + "id": 1149, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 125, + "src": "11948:26:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1150, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "11977:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 1151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACCEPTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 43, + "src": "11977:14:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "src": "11948:43:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "id": 1153, + "nodeType": "ExpressionStatement", + "src": "11948:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1135, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11815:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1136, + "name": "ban_sale_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "11819:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref[] storage ref" + } + }, + "id": 1137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11819:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11815:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1157, + "initializationExpression": { + "assignments": [ + 1132 + ], + "declarations": [ + { + "constant": false, + "id": 1132, + "mutability": "mutable", + "name": "i", + "nameLocation": "11808:1:1", + "nodeType": "VariableDeclaration", + "scope": 1157, + "src": "11803:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1131, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11803:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1134, + "initialValue": { + "hexValue": "30", + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11812:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11803:10:1" + }, + "loopExpression": { + "expression": { + "id": 1140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11845:3:1", + "subExpression": { + "id": 1139, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11845:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1141, + "nodeType": "ExpressionStatement", + "src": "11845:3:1" + }, + "nodeType": "ForStatement", + "src": "11798:220:1" + }, + { + "expression": { + "id": 1163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1158, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "12028:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 1160, + "indexExpression": { + "id": 1159, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1128, + "src": "12037:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12028:17:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage", + "typeString": "struct VehicleSystem.vehicle storage ref" + } + }, + "id": 1161, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isBlocked", + "nodeType": "MemberAccess", + "referencedDeclaration": 74, + "src": "12028:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12058:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "12028:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1164, + "nodeType": "ExpressionStatement", + "src": "12028:35:1" + } + ] + }, + "functionSelector": "9d2acad7", + "id": 1166, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "accept_to_request_renewal_license", + "nameLocation": "11705:33:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1126, + "mutability": "mutable", + "name": "_ban_sale_request_id", + "nameLocation": "11744:20:1", + "nodeType": "VariableDeclaration", + "scope": 1166, + "src": "11739:25:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11739:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1128, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "11771:7:1", + "nodeType": "VariableDeclaration", + "scope": 1166, + "src": "11766:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1127, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11766:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11738:41:1" + }, + "returnParameters": { + "id": 1130, + "nodeType": "ParameterList", + "parameters": [], + "src": "11787:0:1" + }, + "scope": 1328, + "src": "11696:375:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1207, + "nodeType": "Block", + "src": "12170:283:1", + "statements": [ + { + "body": { + "id": 1198, + "nodeType": "Block", + "src": "12242:159:1", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1185, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "12273:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1186, + "name": "_ban_sale_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "12276:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1184, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "12261:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12261:36:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1197, + "nodeType": "IfStatement", + "src": "12257:133:1", + "trueBody": { + "id": 1196, + "nodeType": "Block", + "src": "12312:78:1", + "statements": [ + { + "expression": { + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1188, + "name": "ban_sale_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "12331:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref[] storage ref" + } + }, + "id": 1190, + "indexExpression": { + "id": 1189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "12349:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12331:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ban_sale_request_$126_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref" + } + }, + "id": 1191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 125, + "src": "12331:26:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1192, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "12360:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$46_$", + "typeString": "type(enum VehicleSystem.State)" + } + }, + "id": 1193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "12360:14:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "src": "12331:43:1", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$46", + "typeString": "enum VehicleSystem.State" + } + }, + "id": 1195, + "nodeType": "ExpressionStatement", + "src": "12331:43:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1177, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "12198:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1178, + "name": "ban_sale_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "12202:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ban_sale_request_$126_storage_$dyn_storage", + "typeString": "struct VehicleSystem.ban_sale_request storage ref[] storage ref" + } + }, + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12202:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12198:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1199, + "initializationExpression": { + "assignments": [ + 1174 + ], + "declarations": [ + { + "constant": false, + "id": 1174, + "mutability": "mutable", + "name": "i", + "nameLocation": "12191:1:1", + "nodeType": "VariableDeclaration", + "scope": 1199, + "src": "12186:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1173, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12186:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1176, + "initialValue": { + "hexValue": "30", + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12195:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12186:10:1" + }, + "loopExpression": { + "expression": { + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12228:3:1", + "subExpression": { + "id": 1181, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "12228:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1183, + "nodeType": "ExpressionStatement", + "src": "12228:3:1" + }, + "nodeType": "ForStatement", + "src": "12181:220:1" + }, + { + "expression": { + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1200, + "name": "vehicles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "12411:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_vehicle_$77_storage_$dyn_storage", + "typeString": "struct VehicleSystem.vehicle storage ref[] storage ref" + } + }, + "id": 1202, + "indexExpression": { + "id": 1201, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "12420:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12411:17:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_vehicle_$77_storage", + "typeString": "struct VehicleSystem.vehicle storage ref" + } + }, + "id": 1203, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isBlocked", + "nodeType": "MemberAccess", + "referencedDeclaration": 74, + "src": "12411:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12441:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "12411:34:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1206, + "nodeType": "ExpressionStatement", + "src": "12411:34:1" + } + ] + }, + "functionSelector": "8839d3f1", + "id": 1208, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reject_to_request_renewal_license", + "nameLocation": "12088:33:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "mutability": "mutable", + "name": "_ban_sale_request_id", + "nameLocation": "12127:20:1", + "nodeType": "VariableDeclaration", + "scope": 1208, + "src": "12122:25:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1167, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12122:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1170, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "12154:7:1", + "nodeType": "VariableDeclaration", + "scope": 1208, + "src": "12149:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1169, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12149:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12121:41:1" + }, + "returnParameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [], + "src": "12170:0:1" + }, + "scope": 1328, + "src": "12079:374:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1217, + "nodeType": "Block", + "src": "12545:44:1", + "statements": [ + { + "expression": { + "id": 1215, + "name": "traffic_violations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "12563:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref[] storage ref" + } + }, + "functionReturnParameters": 1214, + "id": 1216, + "nodeType": "Return", + "src": "12556:25:1" + } + ] + }, + "functionSelector": "7cea8a33", + "id": 1218, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_traffic_violations", + "nameLocation": "12472:22:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1209, + "nodeType": "ParameterList", + "parameters": [], + "src": "12494:2:1" + }, + "returnParameters": { + "id": 1214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1213, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1218, + "src": "12518:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystem.traffic_violation[]" + }, + "typeName": { + "baseType": { + "id": 1211, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1210, + "name": "traffic_violation", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "12518:17:1" + }, + "referencedDeclaration": 100, + "src": "12518:17:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_traffic_violation_$100_storage_ptr", + "typeString": "struct VehicleSystem.traffic_violation" + } + }, + "id": 1212, + "nodeType": "ArrayTypeName", + "src": "12518:19:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.traffic_violation[]" + } + }, + "visibility": "internal" + } + ], + "src": "12517:28:1" + }, + "scope": 1328, + "src": "12463:126:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1227, + "nodeType": "Block", + "src": "12659:34:1", + "statements": [ + { + "expression": { + "id": 1225, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "12677:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "functionReturnParameters": 1224, + "id": 1226, + "nodeType": "Return", + "src": "12670:15:1" + } + ] + }, + "functionSelector": "b0a951c2", + "id": 1228, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_licenses", + "nameLocation": "12606:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1219, + "nodeType": "ParameterList", + "parameters": [], + "src": "12618:2:1" + }, + "returnParameters": { + "id": 1224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1223, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1228, + "src": "12642:16:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystem.license[]" + }, + "typeName": { + "baseType": { + "id": 1221, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1220, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 107, + "src": "12642:7:1" + }, + "referencedDeclaration": 107, + "src": "12642:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$107_storage_ptr", + "typeString": "struct VehicleSystem.license" + } + }, + "id": 1222, + "nodeType": "ArrayTypeName", + "src": "12642:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystem.license[]" + } + }, + "visibility": "internal" + } + ], + "src": "12641:18:1" + }, + "scope": 1328, + "src": "12597:96:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1236, + "nodeType": "Block", + "src": "12764:51:1", + "statements": [ + { + "expression": { + "expression": { + "id": 1233, + "name": "traffic_violations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "12782:18:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_traffic_violation_$100_storage_$dyn_storage", + "typeString": "struct VehicleSystem.traffic_violation storage ref[] storage ref" + } + }, + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12782:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1232, + "id": 1235, + "nodeType": "Return", + "src": "12775:32:1" + } + ] + }, + "functionSelector": "451d6716", + "id": 1237, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "traffic_violations_length", + "nameLocation": "12710:25:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1229, + "nodeType": "ParameterList", + "parameters": [], + "src": "12735:2:1" + }, + "returnParameters": { + "id": 1232, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1231, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1237, + "src": "12759:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1230, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12759:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12758:6:1" + }, + "scope": 1328, + "src": "12701:114:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1245, + "nodeType": "Block", + "src": "12876:41:1", + "statements": [ + { + "expression": { + "expression": { + "id": 1242, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "12894:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$107_storage_$dyn_storage", + "typeString": "struct VehicleSystem.license storage ref[] storage ref" + } + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12894:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1241, + "id": 1244, + "nodeType": "Return", + "src": "12887:22:1" + } + ] + }, + "functionSelector": "167f1198", + "id": 1246, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "licenses_length", + "nameLocation": "12832:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1238, + "nodeType": "ParameterList", + "parameters": [], + "src": "12847:2:1" + }, + "returnParameters": { + "id": 1241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1240, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "12871:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12871:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12870:6:1" + }, + "scope": 1328, + "src": "12823:94:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1272, + "nodeType": "Block", + "src": "12998:96:1", + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1258, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1248, + "src": "13045:1:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1259, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13044:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1256, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "13027:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13027:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13027:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1255, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "13017:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13017:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1265, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "13081:1:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1266, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13080:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1263, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "13063:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13063:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13063:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1262, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "13053:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13053:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13017:68:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1270, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13016:70:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1254, + "id": 1271, + "nodeType": "Return", + "src": "13009:77:1" + } + ] + }, + "functionSelector": "95e885c0", + "id": 1273, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compareAddress", + "nameLocation": "12934:14:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1248, + "mutability": "mutable", + "name": "a", + "nameLocation": "12957:1:1", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "12949:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1247, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12949:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1250, + "mutability": "mutable", + "name": "b", + "nameLocation": "12968:1:1", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "12960:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12960:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12948:22:1" + }, + "returnParameters": { + "id": 1254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1253, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "12992:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1252, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12992:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12991:6:1" + }, + "scope": 1328, + "src": "12925:169:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1299, + "nodeType": "Block", + "src": "13166:96:1", + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1285, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "13213:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1286, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13212:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1283, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "13195:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13195:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13195:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1282, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "13185:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13185:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1292, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1277, + "src": "13249:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1293, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13248:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1290, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "13231:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13231:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13231:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1289, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "13221:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13221:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13185:68:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1297, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13184:70:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1281, + "id": 1298, + "nodeType": "Return", + "src": "13177:77:1" + } + ] + }, + "functionSelector": "b4e74eb8", + "id": 1300, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compareUint", + "nameLocation": "13111:11:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1275, + "mutability": "mutable", + "name": "a", + "nameLocation": "13128:1:1", + "nodeType": "VariableDeclaration", + "scope": 1300, + "src": "13123:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1274, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13123:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1277, + "mutability": "mutable", + "name": "b", + "nameLocation": "13136:1:1", + "nodeType": "VariableDeclaration", + "scope": 1300, + "src": "13131:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1276, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13131:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13122:16:1" + }, + "returnParameters": { + "id": 1281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1280, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1300, + "src": "13160:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1279, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13160:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13159:6:1" + }, + "scope": 1328, + "src": "13102:160:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1326, + "nodeType": "Block", + "src": "13355:96:1", + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1312, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "13402:1:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1313, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13401:3:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1310, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "13384:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13384:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13384:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1309, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "13374:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13374:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1319, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1304, + "src": "13438:1:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1320, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13437:3:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1317, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "13420:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13420:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13420:21:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1316, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "13410:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13410:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13374:68:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1324, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13373:70:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1308, + "id": 1325, + "nodeType": "Return", + "src": "13366:77:1" + } + ] + }, + "functionSelector": "bed34bba", + "id": 1327, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compareStrings", + "nameLocation": "13279:14:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1302, + "mutability": "mutable", + "name": "a", + "nameLocation": "13308:1:1", + "nodeType": "VariableDeclaration", + "scope": 1327, + "src": "13294:15:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1301, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13294:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1304, + "mutability": "mutable", + "name": "b", + "nameLocation": "13325:1:1", + "nodeType": "VariableDeclaration", + "scope": 1327, + "src": "13311:15:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1303, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13311:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13293:34:1" + }, + "returnParameters": { + "id": 1308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1307, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1327, + "src": "13349:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1306, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13349:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13348:6:1" + }, + "scope": 1328, + "src": "13270:181:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1329, + "src": "60:13394:1", + "usedErrors": [] + } + ], + "src": "32:13424:1" + }, + "compiler": { + "name": "solc", + "version": "0.8.15+commit.e14f2714.Emscripten.clang" + }, + "networks": { + "5777": { + "events": {}, + "links": {}, + "address": "0x092fe01D330c99420020AA88D29Ff85f7b9b2FB1", + "transactionHash": "0x8597941646261e44b97e6f0c31c5407056b989f5876bce1248237a89d90b10be" + } + }, + "schemaVersion": "3.4.7", + "updatedAt": "2022-06-16T13:47:22.272Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/VehicleSystemTwo.json b/build/contracts/VehicleSystemTwo.json new file mode 100644 index 00000000..5672e77d --- /dev/null +++ b/build/contracts/VehicleSystemTwo.json @@ -0,0 +1,15459 @@ +{ + "contractName": "VehicleSystemTwo", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "licenses", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "expire_at", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "licenses_requests", + "outputs": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "enum VehicleSystemTwo.LicenseRequestType", + "name": "license_request_type", + "type": "uint8" + }, + { + "internalType": "enum VehicleSystemTwo.State", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "add_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "edit_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "request_to_renewal_licence", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_car_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_user_id", + "type": "uint256" + } + ], + "name": "request_to_first_time_licence", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "accept_to_request_renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "accept_to_request_first_time_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_license_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "reject_to_request_renewal_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_license_request_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_expire_at", + "type": "string" + } + ], + "name": "reject_to_request_first_time_license", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "get_licenses", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "user_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "car_id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "expire_at", + "type": "string" + } + ], + "internalType": "struct VehicleSystemTwo.license[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "name": "compareUint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"accept_to_request_first_time_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"accept_to_request_renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"add_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"compareUint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"edit_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_licenses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"expire_at\",\"type\":\"string\"}],\"internalType\":\"struct VehicleSystemTwo.license[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"licenses\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"expire_at\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"licenses_requests\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"user_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"car_id\",\"type\":\"uint256\"},{\"internalType\":\"enum VehicleSystemTwo.LicenseRequestType\",\"name\":\"license_request_type\",\"type\":\"uint8\"},{\"internalType\":\"enum VehicleSystemTwo.State\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"reject_to_request_first_time_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_request_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_expire_at\",\"type\":\"string\"}],\"name\":\"reject_to_request_renewal_license\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"request_to_first_time_licence\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_license_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_car_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_user_id\",\"type\":\"uint256\"}],\"name\":\"request_to_renewal_licence\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/VehicleSystemTwo.sol\":\"VehicleSystemTwo\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/VehicleSystemTwo.sol\":{\"keccak256\":\"0x40a44eddf9de1ffd12f19cfb27605f7e179deeffc603aa46e3a3d650b6c0bea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d190f6925fd2a15b5989cfb33b340dfde3abcc3802c0db8308b941788237c44d\",\"dweb:/ipfs/QmRPLfHUz3T1ze9LBr89qTxi74KN3AuXZQkbcbpCJT4C95\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506117b5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c80634079a6c0116100715780634079a6c0146101765780635367cb561461019257806390e8fc91146101c5578063b0a951c2146101e1578063b4e74eb8146101ff578063f5701cfe1461022f576100b3565b80627d43cd146100b8578063086ae1cf146100d45780631f0a3fa5146100f05780632ca052ce1461010c5780632e0ba53e146101285780633379084514610144575b600080fd5b6100d260048036038101906100cd9190610d52565b61024b565b005b6100ee60048036038101906100e99190610d52565b6102ad565b005b61010a60048036038101906101059190610ed8565b61039e565b005b61012660048036038101906101219190610f47565b61041b565b005b610142600480360381019061013d9190610f9a565b610540565b005b61015e60048036038101906101599190610ff6565b610708565b60405161016d939291906110ba565b60405180910390f35b610190600480360381019061018b9190610f9a565b6107ca565b005b6101ac60048036038101906101a79190610ff6565b610991565b6040516101bc94939291906111b7565b60405180910390f35b6101df60048036038101906101da9190610ed8565b6109eb565b005b6101e9610aa4565b6040516101f69190611367565b60405180910390f35b61021960048036038101906102149190610d52565b610ba9565b60405161022691906113a4565b60405180910390f35b61024960048036038101906102449190610ed8565b610c02565b005b60005b6000805490508110156102a8576102658184610ba9565b1561029557816000828154811061027f5761027e6113bf565b5b9060005260206000209060030201600001819055505b80806102a09061141d565b91505061024e565b505050565b60006040518060800160405280838152602001848152602001600060018111156102da576102d96110f8565b5b81526020016002808111156102f2576102f16110f8565b5b81525090506001819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115610362576103616110f8565b5b021790555060608201518160020160016101000a81548160ff02191690836002811115610392576103916110f8565b5b02179055505050505050565b600060405180606001604052808581526020018481526020018381525090506000819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816104129190611671565b50505050505050565b60005b60008054905081101561053a576104358185610ba9565b156105275760006040518060800160405280848152602001858152602001600180811115610466576104656110f8565b5b815260200160028081111561047e5761047d6110f8565b5b81525090506001819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360018111156104ee576104ed6110f8565b5b021790555060608201518160020160016101000a81548160ff0219169083600281111561051e5761051d6110f8565b5b02179055505050505b80806105329061141d565b91505061041e565b50505050565b610548610cbc565b60005b600180549050811015610682576105628185610ba9565b1561066f576001818154811061057b5761057a6113bf565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff1660018111156105cd576105cc6110f8565b5b60018111156105df576105de6110f8565b5b81526020016002820160019054906101000a900460ff166002811115610608576106076110f8565b5b600281111561061a576106196110f8565b5b815250509150600060018281548110610636576106356113bf565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115610669576106686110f8565b5b02179055505b808061067a9061141d565b91505061054b565b506000604051806060016040528083600001518152602001836020015181526020018481525090506000819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816106ff9190611671565b50505050505050565b6000818154811061071857600080fd5b906000526020600020906003020160009150905080600001549080600101549080600201805461074790611494565b80601f016020809104026020016040519081016040528092919081815260200182805461077390611494565b80156107c05780601f10610795576101008083540402835291602001916107c0565b820191906000526020600020905b8154815290600101906020018083116107a357829003601f168201915b5050505050905083565b6107d2610cbc565b60005b60018054905081101561090b576107ec8185610ba9565b156108f85760018181548110610805576108046113bf565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff166001811115610857576108566110f8565b5b6001811115610869576108686110f8565b5b81526020016002820160019054906101000a900460ff166002811115610892576108916110f8565b5b60028111156108a4576108a36110f8565b5b81525050915060018082815481106108bf576108be6113bf565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156108f2576108f16110f8565b5b02179055505b80806109039061141d565b9150506107d5565b506000604051806060016040528083600001518152602001836020015181526020018481525090506000819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816109889190611671565b50505050505050565b600181815481106109a157600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60005b600180549050811015610a6b57610a058185610ba9565b15610a58576001808281548110610a1f57610a1e6113bf565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115610a5257610a516110f8565b5b02179055505b8080610a639061141d565b9150506109ee565b508060008381548110610a8157610a806113bf565b5b90600052602060002090600302016002019081610a9e9190611671565b50505050565b60606000805480602002602001604051908101604052809291908181526020016000905b82821015610ba057838290600052602060002090600302016040518060600160405290816000820154815260200160018201548152602001600282018054610b0f90611494565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3b90611494565b8015610b885780601f10610b5d57610100808354040283529160200191610b88565b820191906000526020600020905b815481529060010190602001808311610b6b57829003601f168201915b50505050508152505081526020019060010190610ac8565b50505050905090565b600081604051602001610bbc9190611764565b6040516020818303038152906040528051906020012083604051602001610be39190611764565b6040516020818303038152906040528051906020012014905092915050565b60005b600180549050811015610c8357610c1c8185610ba9565b15610c7057600060018281548110610c3757610c366113bf565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115610c6a57610c696110f8565b5b02179055505b8080610c7b9061141d565b915050610c05565b508060008381548110610c9957610c986113bf565b5b90600052602060002090600302016002019081610cb69190611671565b50505050565b6040518060800160405280600081526020016000815260200160006001811115610ce957610ce86110f8565b5b815260200160006002811115610d0257610d016110f8565b5b81525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610d2f81610d1c565b8114610d3a57600080fd5b50565b600081359050610d4c81610d26565b92915050565b60008060408385031215610d6957610d68610d12565b5b6000610d7785828601610d3d565b9250506020610d8885828601610d3d565b9150509250929050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610de582610d9c565b810181811067ffffffffffffffff82111715610e0457610e03610dad565b5b80604052505050565b6000610e17610d08565b9050610e238282610ddc565b919050565b600067ffffffffffffffff821115610e4357610e42610dad565b5b610e4c82610d9c565b9050602081019050919050565b82818337600083830152505050565b6000610e7b610e7684610e28565b610e0d565b905082815260208101848484011115610e9757610e96610d97565b5b610ea2848285610e59565b509392505050565b600082601f830112610ebf57610ebe610d92565b5b8135610ecf848260208601610e68565b91505092915050565b600080600060608486031215610ef157610ef0610d12565b5b6000610eff86828701610d3d565b9350506020610f1086828701610d3d565b925050604084013567ffffffffffffffff811115610f3157610f30610d17565b5b610f3d86828701610eaa565b9150509250925092565b600080600060608486031215610f6057610f5f610d12565b5b6000610f6e86828701610d3d565b9350506020610f7f86828701610d3d565b9250506040610f9086828701610d3d565b9150509250925092565b60008060408385031215610fb157610fb0610d12565b5b6000610fbf85828601610d3d565b925050602083013567ffffffffffffffff811115610fe057610fdf610d17565b5b610fec85828601610eaa565b9150509250929050565b60006020828403121561100c5761100b610d12565b5b600061101a84828501610d3d565b91505092915050565b61102c81610d1c565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561106c578082015181840152602081019050611051565b8381111561107b576000848401525b50505050565b600061108c82611032565b611096818561103d565b93506110a681856020860161104e565b6110af81610d9c565b840191505092915050565b60006060820190506110cf6000830186611023565b6110dc6020830185611023565b81810360408301526110ee8184611081565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611138576111376110f8565b5b50565b600081905061114982611127565b919050565b60006111598261113b565b9050919050565b6111698161114e565b82525050565b600381106111805761117f6110f8565b5b50565b60008190506111918261116f565b919050565b60006111a182611183565b9050919050565b6111b181611196565b82525050565b60006080820190506111cc6000830187611023565b6111d96020830186611023565b6111e66040830185611160565b6111f360608301846111a8565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61123181610d1c565b82525050565b600082825260208201905092915050565b600061125382611032565b61125d8185611237565b935061126d81856020860161104e565b61127681610d9c565b840191505092915050565b60006060830160008301516112996000860182611228565b5060208301516112ac6020860182611228565b50604083015184820360408601526112c48282611248565b9150508091505092915050565b60006112dd8383611281565b905092915050565b6000602082019050919050565b60006112fd826111fc565b6113078185611207565b93508360208202850161131985611218565b8060005b85811015611355578484038952815161133685826112d1565b9450611341836112e5565b925060208a0199505060018101905061131d565b50829750879550505050505092915050565b6000602082019050818103600083015261138181846112f2565b905092915050565b60008115159050919050565b61139e81611389565b82525050565b60006020820190506113b96000830184611395565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142882610d1c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361145a576114596113ee565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806114ac57607f821691505b6020821081036114bf576114be611465565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026115277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826114ea565b61153186836114ea565b95508019841693508086168417925050509392505050565b6000819050919050565b600061156e61156961156484610d1c565b611549565b610d1c565b9050919050565b6000819050919050565b61158883611553565b61159c61159482611575565b8484546114f7565b825550505050565b600090565b6115b16115a4565b6115bc81848461157f565b505050565b5b818110156115e0576115d56000826115a9565b6001810190506115c2565b5050565b601f821115611625576115f6816114c5565b6115ff846114da565b8101602085101561160e578190505b61162261161a856114da565b8301826115c1565b50505b505050565b600082821c905092915050565b60006116486000198460080261162a565b1980831691505092915050565b60006116618383611637565b9150826002028217905092915050565b61167a82611032565b67ffffffffffffffff81111561169357611692610dad565b5b61169d8254611494565b6116a88282856115e4565b600060209050601f8311600181146116db57600084156116c9578287015190505b6116d38582611655565b86555061173b565b601f1984166116e9866114c5565b60005b82811015611711578489015182556001820191506020850194506020810190506116ec565b8683101561172e578489015161172a601f891682611637565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b61175e61175982610d1c565b611743565b82525050565b6000611770828461174d565b6020820191508190509291505056fea264697066735822122073784d959576f7a465ef343acc5b2699489e647daad449c0bad8e6acb3d1155664736f6c634300080f0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b35760003560e01c80634079a6c0116100715780634079a6c0146101765780635367cb561461019257806390e8fc91146101c5578063b0a951c2146101e1578063b4e74eb8146101ff578063f5701cfe1461022f576100b3565b80627d43cd146100b8578063086ae1cf146100d45780631f0a3fa5146100f05780632ca052ce1461010c5780632e0ba53e146101285780633379084514610144575b600080fd5b6100d260048036038101906100cd9190610d52565b61024b565b005b6100ee60048036038101906100e99190610d52565b6102ad565b005b61010a60048036038101906101059190610ed8565b61039e565b005b61012660048036038101906101219190610f47565b61041b565b005b610142600480360381019061013d9190610f9a565b610540565b005b61015e60048036038101906101599190610ff6565b610708565b60405161016d939291906110ba565b60405180910390f35b610190600480360381019061018b9190610f9a565b6107ca565b005b6101ac60048036038101906101a79190610ff6565b610991565b6040516101bc94939291906111b7565b60405180910390f35b6101df60048036038101906101da9190610ed8565b6109eb565b005b6101e9610aa4565b6040516101f69190611367565b60405180910390f35b61021960048036038101906102149190610d52565b610ba9565b60405161022691906113a4565b60405180910390f35b61024960048036038101906102449190610ed8565b610c02565b005b60005b6000805490508110156102a8576102658184610ba9565b1561029557816000828154811061027f5761027e6113bf565b5b9060005260206000209060030201600001819055505b80806102a09061141d565b91505061024e565b505050565b60006040518060800160405280838152602001848152602001600060018111156102da576102d96110f8565b5b81526020016002808111156102f2576102f16110f8565b5b81525090506001819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115610362576103616110f8565b5b021790555060608201518160020160016101000a81548160ff02191690836002811115610392576103916110f8565b5b02179055505050505050565b600060405180606001604052808581526020018481526020018381525090506000819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816104129190611671565b50505050505050565b60005b60008054905081101561053a576104358185610ba9565b156105275760006040518060800160405280848152602001858152602001600180811115610466576104656110f8565b5b815260200160028081111561047e5761047d6110f8565b5b81525090506001819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360018111156104ee576104ed6110f8565b5b021790555060608201518160020160016101000a81548160ff0219169083600281111561051e5761051d6110f8565b5b02179055505050505b80806105329061141d565b91505061041e565b50505050565b610548610cbc565b60005b600180549050811015610682576105628185610ba9565b1561066f576001818154811061057b5761057a6113bf565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff1660018111156105cd576105cc6110f8565b5b60018111156105df576105de6110f8565b5b81526020016002820160019054906101000a900460ff166002811115610608576106076110f8565b5b600281111561061a576106196110f8565b5b815250509150600060018281548110610636576106356113bf565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115610669576106686110f8565b5b02179055505b808061067a9061141d565b91505061054b565b506000604051806060016040528083600001518152602001836020015181526020018481525090506000819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816106ff9190611671565b50505050505050565b6000818154811061071857600080fd5b906000526020600020906003020160009150905080600001549080600101549080600201805461074790611494565b80601f016020809104026020016040519081016040528092919081815260200182805461077390611494565b80156107c05780601f10610795576101008083540402835291602001916107c0565b820191906000526020600020905b8154815290600101906020018083116107a357829003601f168201915b5050505050905083565b6107d2610cbc565b60005b60018054905081101561090b576107ec8185610ba9565b156108f85760018181548110610805576108046113bf565b5b906000526020600020906003020160405180608001604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff166001811115610857576108566110f8565b5b6001811115610869576108686110f8565b5b81526020016002820160019054906101000a900460ff166002811115610892576108916110f8565b5b60028111156108a4576108a36110f8565b5b81525050915060018082815481106108bf576108be6113bf565b5b906000526020600020906003020160020160016101000a81548160ff021916908360028111156108f2576108f16110f8565b5b02179055505b80806109039061141d565b9150506107d5565b506000604051806060016040528083600001518152602001836020015181526020018481525090506000819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020190816109889190611671565b50505050505050565b600181815481106109a157600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60005b600180549050811015610a6b57610a058185610ba9565b15610a58576001808281548110610a1f57610a1e6113bf565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115610a5257610a516110f8565b5b02179055505b8080610a639061141d565b9150506109ee565b508060008381548110610a8157610a806113bf565b5b90600052602060002090600302016002019081610a9e9190611671565b50505050565b60606000805480602002602001604051908101604052809291908181526020016000905b82821015610ba057838290600052602060002090600302016040518060600160405290816000820154815260200160018201548152602001600282018054610b0f90611494565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3b90611494565b8015610b885780601f10610b5d57610100808354040283529160200191610b88565b820191906000526020600020905b815481529060010190602001808311610b6b57829003601f168201915b50505050508152505081526020019060010190610ac8565b50505050905090565b600081604051602001610bbc9190611764565b6040516020818303038152906040528051906020012083604051602001610be39190611764565b6040516020818303038152906040528051906020012014905092915050565b60005b600180549050811015610c8357610c1c8185610ba9565b15610c7057600060018281548110610c3757610c366113bf565b5b906000526020600020906003020160020160016101000a81548160ff02191690836002811115610c6a57610c696110f8565b5b02179055505b8080610c7b9061141d565b915050610c05565b508060008381548110610c9957610c986113bf565b5b90600052602060002090600302016002019081610cb69190611671565b50505050565b6040518060800160405280600081526020016000815260200160006001811115610ce957610ce86110f8565b5b815260200160006002811115610d0257610d016110f8565b5b81525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610d2f81610d1c565b8114610d3a57600080fd5b50565b600081359050610d4c81610d26565b92915050565b60008060408385031215610d6957610d68610d12565b5b6000610d7785828601610d3d565b9250506020610d8885828601610d3d565b9150509250929050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610de582610d9c565b810181811067ffffffffffffffff82111715610e0457610e03610dad565b5b80604052505050565b6000610e17610d08565b9050610e238282610ddc565b919050565b600067ffffffffffffffff821115610e4357610e42610dad565b5b610e4c82610d9c565b9050602081019050919050565b82818337600083830152505050565b6000610e7b610e7684610e28565b610e0d565b905082815260208101848484011115610e9757610e96610d97565b5b610ea2848285610e59565b509392505050565b600082601f830112610ebf57610ebe610d92565b5b8135610ecf848260208601610e68565b91505092915050565b600080600060608486031215610ef157610ef0610d12565b5b6000610eff86828701610d3d565b9350506020610f1086828701610d3d565b925050604084013567ffffffffffffffff811115610f3157610f30610d17565b5b610f3d86828701610eaa565b9150509250925092565b600080600060608486031215610f6057610f5f610d12565b5b6000610f6e86828701610d3d565b9350506020610f7f86828701610d3d565b9250506040610f9086828701610d3d565b9150509250925092565b60008060408385031215610fb157610fb0610d12565b5b6000610fbf85828601610d3d565b925050602083013567ffffffffffffffff811115610fe057610fdf610d17565b5b610fec85828601610eaa565b9150509250929050565b60006020828403121561100c5761100b610d12565b5b600061101a84828501610d3d565b91505092915050565b61102c81610d1c565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561106c578082015181840152602081019050611051565b8381111561107b576000848401525b50505050565b600061108c82611032565b611096818561103d565b93506110a681856020860161104e565b6110af81610d9c565b840191505092915050565b60006060820190506110cf6000830186611023565b6110dc6020830185611023565b81810360408301526110ee8184611081565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611138576111376110f8565b5b50565b600081905061114982611127565b919050565b60006111598261113b565b9050919050565b6111698161114e565b82525050565b600381106111805761117f6110f8565b5b50565b60008190506111918261116f565b919050565b60006111a182611183565b9050919050565b6111b181611196565b82525050565b60006080820190506111cc6000830187611023565b6111d96020830186611023565b6111e66040830185611160565b6111f360608301846111a8565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61123181610d1c565b82525050565b600082825260208201905092915050565b600061125382611032565b61125d8185611237565b935061126d81856020860161104e565b61127681610d9c565b840191505092915050565b60006060830160008301516112996000860182611228565b5060208301516112ac6020860182611228565b50604083015184820360408601526112c48282611248565b9150508091505092915050565b60006112dd8383611281565b905092915050565b6000602082019050919050565b60006112fd826111fc565b6113078185611207565b93508360208202850161131985611218565b8060005b85811015611355578484038952815161133685826112d1565b9450611341836112e5565b925060208a0199505060018101905061131d565b50829750879550505050505092915050565b6000602082019050818103600083015261138181846112f2565b905092915050565b60008115159050919050565b61139e81611389565b82525050565b60006020820190506113b96000830184611395565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142882610d1c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361145a576114596113ee565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806114ac57607f821691505b6020821081036114bf576114be611465565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026115277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826114ea565b61153186836114ea565b95508019841693508086168417925050509392505050565b6000819050919050565b600061156e61156961156484610d1c565b611549565b610d1c565b9050919050565b6000819050919050565b61158883611553565b61159c61159482611575565b8484546114f7565b825550505050565b600090565b6115b16115a4565b6115bc81848461157f565b505050565b5b818110156115e0576115d56000826115a9565b6001810190506115c2565b5050565b601f821115611625576115f6816114c5565b6115ff846114da565b8101602085101561160e578190505b61162261161a856114da565b8301826115c1565b50505b505050565b600082821c905092915050565b60006116486000198460080261162a565b1980831691505092915050565b60006116618383611637565b9150826002028217905092915050565b61167a82611032565b67ffffffffffffffff81111561169357611692610dad565b5b61169d8254611494565b6116a88282856115e4565b600060209050601f8311600181146116db57600084156116c9578287015190505b6116d38582611655565b86555061173b565b601f1984166116e9866114c5565b60005b82811015611711578489015182556001820191506020850194506020810190506116ec565b8683101561172e578489015161172a601f891682611637565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b61175e61175982610d1c565b611743565b82525050565b6000611770828461174d565b6020820191508190509291505056fea264697066735822122073784d959576f7a465ef343acc5b2699489e647daad449c0bad8e6acb3d1155664736f6c634300080f0033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:19915:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:3", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:3", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:3" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:3" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:3", + "type": "" + } + ], + "src": "7:75:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:3" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:3" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:3" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:3" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:32:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:16:3", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "400:5:3" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:3" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:3", + "type": "" + } + ], + "src": "334:77:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "460:79:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "517:16:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "526:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "519:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "519:12:3" + }, + "nodeType": "YulExpressionStatement", + "src": "519:12:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "483:5:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "508:5:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "490:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "490:24:3" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "480:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "480:35:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "473:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "473:43:3" + }, + "nodeType": "YulIf", + "src": "470:63:3" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "453:5:3", + "type": "" + } + ], + "src": "417:122:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:87:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "607:29:3", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "629:6:3" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "616:12:3" + }, + "nodeType": "YulFunctionCall", + "src": "616:20:3" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "607:5:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "672:5:3" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "645:26:3" + }, + "nodeType": "YulFunctionCall", + "src": "645:33:3" + }, + "nodeType": "YulExpressionStatement", + "src": "645:33:3" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "575:6:3", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "583:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "591:5:3", + "type": "" + } + ], + "src": "545:139:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "773:391:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "819:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "821:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "821:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "821:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "794:7:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "803:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "790:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "790:23:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "815:2:3", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "786:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "786:32:3" + }, + "nodeType": "YulIf", + "src": "783:119:3" + }, + { + "nodeType": "YulBlock", + "src": "912:117:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:15:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "941:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "931:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "956:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "991:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1002:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "987:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "987:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1011:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "966:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "966:53:3" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "956:6:3" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1039:118:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1054:16:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1068:2:3", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1058:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1084:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1119:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1130:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1115:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "1115:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1139:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1094:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "1094:53:3" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1084:6:3" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "735:9:3", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "746:7:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "758:6:3", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "766:6:3", + "type": "" + } + ], + "src": "690:474:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1259:28:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1276:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1279:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1269:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "1269:12:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1269:12:3" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "1170:117:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1382:28:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1399:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1402:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1392:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "1392:12:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1392:12:3" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "1293:117:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1464:54:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1474:38:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1492:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1499:2:3", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1488:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "1488:14:3" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1508:2:3", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1504:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "1504:7:3" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1484:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "1484:28:3" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1474:6:3" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1447:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "1457:6:3", + "type": "" + } + ], + "src": "1416:102:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1552:152:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1569:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1572:77:3", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1562:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "1562:88:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1562:88:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1666:1:3", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1669:4:3", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1659:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "1659:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1659:15:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1690:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1693:4:3", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1683:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "1683:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1683:15:3" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "1524:180:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1753:238:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1763:58:3", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1785:6:3" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1815:4:3" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1793:21:3" + }, + "nodeType": "YulFunctionCall", + "src": "1793:27:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1781:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "1781:40:3" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1767:10:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1932:22:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1934:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "1934:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1934:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1875:10:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1887:18:3", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1872:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "1872:34:3" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1911:10:3" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1923:6:3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1908:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "1908:22:3" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1869:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "1869:62:3" + }, + "nodeType": "YulIf", + "src": "1866:88:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1970:2:3", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1974:10:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1963:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "1963:22:3" + }, + "nodeType": "YulExpressionStatement", + "src": "1963:22:3" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1739:6:3", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1747:4:3", + "type": "" + } + ], + "src": "1710:281:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2038:88:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2048:30:3", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "2058:18:3" + }, + "nodeType": "YulFunctionCall", + "src": "2058:20:3" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2048:6:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2107:6:3" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2115:4:3" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "2087:19:3" + }, + "nodeType": "YulFunctionCall", + "src": "2087:33:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2087:33:3" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2022:4:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2031:6:3", + "type": "" + } + ], + "src": "1997:129:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2199:241:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2304:22:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2306:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "2306:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2306:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2276:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2284:18:3", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2273:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "2273:30:3" + }, + "nodeType": "YulIf", + "src": "2270:56:3" + }, + { + "nodeType": "YulAssignment", + "src": "2336:37:3", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2366:6:3" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2344:21:3" + }, + "nodeType": "YulFunctionCall", + "src": "2344:29:3" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2336:4:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2410:23:3", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2422:4:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2428:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2418:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "2418:15:3" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2410:4:3" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2183:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2194:4:3", + "type": "" + } + ], + "src": "2132:308:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2497:103:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2520:3:3" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2525:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2530:6:3" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2507:12:3" + }, + "nodeType": "YulFunctionCall", + "src": "2507:30:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2507:30:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2578:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2583:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2574:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "2574:16:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2592:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2567:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "2567:27:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2567:27:3" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2479:3:3", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2484:3:3", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2489:6:3", + "type": "" + } + ], + "src": "2446:154:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2690:328:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2700:75:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2767:6:3" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2725:41:3" + }, + "nodeType": "YulFunctionCall", + "src": "2725:49:3" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2709:15:3" + }, + "nodeType": "YulFunctionCall", + "src": "2709:66:3" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2700:5:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2791:5:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2798:6:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2784:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "2784:21:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2784:21:3" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2814:27:3", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2829:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2836:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2825:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "2825:16:3" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2818:3:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2879:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2881:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "2881:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2881:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2860:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2865:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2856:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "2856:16:3" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2874:3:3" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2853:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "2853:25:3" + }, + "nodeType": "YulIf", + "src": "2850:112:3" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2995:3:3" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3000:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3005:6:3" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "2971:23:3" + }, + "nodeType": "YulFunctionCall", + "src": "2971:41:3" + }, + "nodeType": "YulExpressionStatement", + "src": "2971:41:3" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2663:3:3", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2668:6:3", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2676:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2684:5:3", + "type": "" + } + ], + "src": "2606:412:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3100:278:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3149:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "3151:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "3151:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "3151:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3128:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3136:4:3", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3124:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3124:17:3" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3143:3:3" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3120:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3120:27:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3113:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "3113:35:3" + }, + "nodeType": "YulIf", + "src": "3110:122:3" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3241:34:3", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3268:6:3" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3255:12:3" + }, + "nodeType": "YulFunctionCall", + "src": "3255:20:3" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3245:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3284:88:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3345:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3353:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3341:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3341:17:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3360:6:3" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3368:3:3" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3293:47:3" + }, + "nodeType": "YulFunctionCall", + "src": "3293:79:3" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3284:5:3" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3078:6:3", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3086:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "3094:5:3", + "type": "" + } + ], + "src": "3038:340:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3494:689:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3540:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3542:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "3542:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "3542:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3515:7:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3524:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3511:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3511:23:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3536:2:3", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3507:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3507:32:3" + }, + "nodeType": "YulIf", + "src": "3504:119:3" + }, + { + "nodeType": "YulBlock", + "src": "3633:117:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3648:15:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3662:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3652:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3677:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3712:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3723:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3708:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3708:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3732:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3687:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "3687:53:3" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3677:6:3" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3760:118:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3775:16:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3789:2:3", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3779:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3805:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3840:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3851:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3836:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3836:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3860:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3815:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "3815:53:3" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3805:6:3" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3888:288:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3903:46:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3934:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3945:2:3", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3930:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "3930:18:3" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3917:12:3" + }, + "nodeType": "YulFunctionCall", + "src": "3917:32:3" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3907:6:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3996:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3998:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "3998:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "3998:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3968:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3976:18:3", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3965:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "3965:30:3" + }, + "nodeType": "YulIf", + "src": "3962:117:3" + }, + { + "nodeType": "YulAssignment", + "src": "4093:73:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4138:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4149:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4134:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4134:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4158:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4103:30:3" + }, + "nodeType": "YulFunctionCall", + "src": "4103:63:3" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4093:6:3" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3448:9:3", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3459:7:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3471:6:3", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3479:6:3", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3487:6:3", + "type": "" + } + ], + "src": "3384:799:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4289:519:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4335:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4337:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "4337:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "4337:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4310:7:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4319:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4306:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4306:23:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4331:2:3", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4302:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4302:32:3" + }, + "nodeType": "YulIf", + "src": "4299:119:3" + }, + { + "nodeType": "YulBlock", + "src": "4428:117:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4443:15:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4457:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4447:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4472:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4507:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4518:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4503:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4503:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4527:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4482:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "4482:53:3" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4472:6:3" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4555:118:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4570:16:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4584:2:3", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4574:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4600:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4635:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4646:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4631:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4631:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4655:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4610:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "4610:53:3" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4600:6:3" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4683:118:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4698:16:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4712:2:3", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4702:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4728:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4763:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4774:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4759:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4759:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4783:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4738:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "4738:53:3" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4728:6:3" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4243:9:3", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4254:7:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4266:6:3", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4274:6:3", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4282:6:3", + "type": "" + } + ], + "src": "4189:619:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4907:561:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4953:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4955:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "4955:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "4955:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4928:7:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4937:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4924:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4924:23:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4949:2:3", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4920:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "4920:32:3" + }, + "nodeType": "YulIf", + "src": "4917:119:3" + }, + { + "nodeType": "YulBlock", + "src": "5046:117:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5061:15:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5075:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5065:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5090:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5125:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5136:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5121:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "5121:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5145:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5100:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "5100:53:3" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5090:6:3" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5173:288:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5188:46:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5219:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5230:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5215:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "5215:18:3" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5202:12:3" + }, + "nodeType": "YulFunctionCall", + "src": "5202:32:3" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5192:6:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5281:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "5283:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "5283:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "5283:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5253:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5261:18:3", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5250:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "5250:30:3" + }, + "nodeType": "YulIf", + "src": "5247:117:3" + }, + { + "nodeType": "YulAssignment", + "src": "5378:73:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5423:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5434:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5419:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "5419:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5443:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5388:30:3" + }, + "nodeType": "YulFunctionCall", + "src": "5388:63:3" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5378:6:3" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4869:9:3", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4880:7:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4892:6:3", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4900:6:3", + "type": "" + } + ], + "src": "4814:654:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5540:263:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5586:83:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5588:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "5588:79:3" + }, + "nodeType": "YulExpressionStatement", + "src": "5588:79:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5561:7:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5570:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5557:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "5557:23:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5582:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5553:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "5553:32:3" + }, + "nodeType": "YulIf", + "src": "5550:119:3" + }, + { + "nodeType": "YulBlock", + "src": "5679:117:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5694:15:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5708:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5698:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5723:63:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5758:9:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5769:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5754:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "5754:22:3" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5778:7:3" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5733:20:3" + }, + "nodeType": "YulFunctionCall", + "src": "5733:53:3" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5723:6:3" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5510:9:3", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5521:7:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5533:6:3", + "type": "" + } + ], + "src": "5474:329:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5874:53:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5891:3:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5914:5:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5896:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "5896:24:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5884:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "5884:37:3" + }, + "nodeType": "YulExpressionStatement", + "src": "5884:37:3" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5862:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5869:3:3", + "type": "" + } + ], + "src": "5809:118:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5992:40:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6003:22:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6019:5:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6013:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "6013:12:3" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6003:6:3" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5975:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5985:6:3", + "type": "" + } + ], + "src": "5933:99:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6134:73:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6151:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6156:6:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6144:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "6144:19:3" + }, + "nodeType": "YulExpressionStatement", + "src": "6144:19:3" + }, + { + "nodeType": "YulAssignment", + "src": "6172:29:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6191:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6196:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6187:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6187:14:3" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "6172:11:3" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6106:3:3", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6111:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "6122:11:3", + "type": "" + } + ], + "src": "6038:169:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6262:258:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6272:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6281:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "6276:1:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6341:63:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6366:3:3" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6371:1:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6362:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6362:11:3" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6385:3:3" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6390:1:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6381:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6381:11:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6375:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "6375:18:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6355:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "6355:39:3" + }, + "nodeType": "YulExpressionStatement", + "src": "6355:39:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6302:1:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6305:6:3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6299:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "6299:13:3" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "6313:19:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6315:15:3", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6324:1:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6327:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6320:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6320:10:3" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6315:1:3" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "6295:3:3", + "statements": [] + }, + "src": "6291:113:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6438:76:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6488:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6493:6:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6484:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6484:16:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6502:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6477:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "6477:27:3" + }, + "nodeType": "YulExpressionStatement", + "src": "6477:27:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6419:1:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6422:6:3" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6416:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "6416:13:3" + }, + "nodeType": "YulIf", + "src": "6413:101:3" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "6244:3:3", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "6249:3:3", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6254:6:3", + "type": "" + } + ], + "src": "6213:307:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6618:272:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6628:53:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6675:5:3" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6642:32:3" + }, + "nodeType": "YulFunctionCall", + "src": "6642:39:3" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6632:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6690:78:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6756:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6761:6:3" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6697:58:3" + }, + "nodeType": "YulFunctionCall", + "src": "6697:71:3" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6690:3:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6803:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6810:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6799:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6799:16:3" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6817:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6822:6:3" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "6777:21:3" + }, + "nodeType": "YulFunctionCall", + "src": "6777:52:3" + }, + "nodeType": "YulExpressionStatement", + "src": "6777:52:3" + }, + { + "nodeType": "YulAssignment", + "src": "6838:46:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6849:3:3" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6876:6:3" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "6854:21:3" + }, + "nodeType": "YulFunctionCall", + "src": "6854:29:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6845:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "6845:39:3" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6838:3:3" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6599:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6606:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6614:3:3", + "type": "" + } + ], + "src": "6526:364:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7070:359:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7080:26:3", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7092:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7103:2:3", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7088:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "7088:18:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7080:4:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7160:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7173:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7184:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7169:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "7169:17:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "7116:43:3" + }, + "nodeType": "YulFunctionCall", + "src": "7116:71:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7116:71:3" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7241:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7254:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7265:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7250:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "7250:18:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "7197:43:3" + }, + "nodeType": "YulFunctionCall", + "src": "7197:72:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7197:72:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7290:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7301:2:3", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7286:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "7286:18:3" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7310:4:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7316:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7306:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "7306:20:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7279:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "7279:48:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7279:48:3" + }, + { + "nodeType": "YulAssignment", + "src": "7336:86:3", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7408:6:3" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7417:4:3" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7344:63:3" + }, + "nodeType": "YulFunctionCall", + "src": "7344:78:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7336:4:3" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7026:9:3", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7038:6:3", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7046:6:3", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7054:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7065:4:3", + "type": "" + } + ], + "src": "6896:533:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7463:152:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7480:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7483:77:3", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7473:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "7473:88:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7473:88:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7577:1:3", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7580:4:3", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7570:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "7570:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7570:15:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7601:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7604:4:3", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7594:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "7594:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7594:15:3" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "7435:180:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7687:62:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7721:22:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "7723:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "7723:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7723:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7710:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7717:1:3", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7707:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "7707:12:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7700:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "7700:20:3" + }, + "nodeType": "YulIf", + "src": "7697:46:3" + } + ] + }, + "name": "validator_assert_t_enum$_LicenseRequestType_$1318", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7680:5:3", + "type": "" + } + ], + "src": "7621:128:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7823:89:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7833:16:3", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7844:5:3" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7833:7:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7900:5:3" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_LicenseRequestType_$1318", + "nodeType": "YulIdentifier", + "src": "7850:49:3" + }, + "nodeType": "YulFunctionCall", + "src": "7850:56:3" + }, + "nodeType": "YulExpressionStatement", + "src": "7850:56:3" + } + ] + }, + "name": "cleanup_t_enum$_LicenseRequestType_$1318", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7805:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7815:7:3", + "type": "" + } + ], + "src": "7755:157:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7999:76:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8009:60:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8063:5:3" + } + ], + "functionName": { + "name": "cleanup_t_enum$_LicenseRequestType_$1318", + "nodeType": "YulIdentifier", + "src": "8022:40:3" + }, + "nodeType": "YulFunctionCall", + "src": "8022:47:3" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "8009:9:3" + } + ] + } + ] + }, + "name": "convert_t_enum$_LicenseRequestType_$1318_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7979:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "7989:9:3", + "type": "" + } + ], + "src": "7918:157:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8167:87:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8184:3:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8241:5:3" + } + ], + "functionName": { + "name": "convert_t_enum$_LicenseRequestType_$1318_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "8189:51:3" + }, + "nodeType": "YulFunctionCall", + "src": "8189:58:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8177:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "8177:71:3" + }, + "nodeType": "YulExpressionStatement", + "src": "8177:71:3" + } + ] + }, + "name": "abi_encode_t_enum$_LicenseRequestType_$1318_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8155:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8162:3:3", + "type": "" + } + ], + "src": "8081:173:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8313:62:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8347:22:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "8349:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "8349:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "8349:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8336:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8343:1:3", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8333:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "8333:12:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8326:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "8326:20:3" + }, + "nodeType": "YulIf", + "src": "8323:46:3" + } + ] + }, + "name": "validator_assert_t_enum$_State_$1340", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8306:5:3", + "type": "" + } + ], + "src": "8260:115:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8436:76:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8446:16:3", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8457:5:3" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "8446:7:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8500:5:3" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_State_$1340", + "nodeType": "YulIdentifier", + "src": "8463:36:3" + }, + "nodeType": "YulFunctionCall", + "src": "8463:43:3" + }, + "nodeType": "YulExpressionStatement", + "src": "8463:43:3" + } + ] + }, + "name": "cleanup_t_enum$_State_$1340", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8418:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "8428:7:3", + "type": "" + } + ], + "src": "8381:131:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8586:63:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8596:47:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8637:5:3" + } + ], + "functionName": { + "name": "cleanup_t_enum$_State_$1340", + "nodeType": "YulIdentifier", + "src": "8609:27:3" + }, + "nodeType": "YulFunctionCall", + "src": "8609:34:3" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "8596:9:3" + } + ] + } + ] + }, + "name": "convert_t_enum$_State_$1340_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8566:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "8576:9:3", + "type": "" + } + ], + "src": "8518:131:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8728:74:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8745:3:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8789:5:3" + } + ], + "functionName": { + "name": "convert_t_enum$_State_$1340_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "8750:38:3" + }, + "nodeType": "YulFunctionCall", + "src": "8750:45:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8738:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "8738:58:3" + }, + "nodeType": "YulExpressionStatement", + "src": "8738:58:3" + } + ] + }, + "name": "abi_encode_t_enum$_State_$1340_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8716:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8723:3:3", + "type": "" + } + ], + "src": "8655:147:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9019:400:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9029:27:3", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9041:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9052:3:3", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9037:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9037:19:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9029:4:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9110:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9123:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9134:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9119:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9119:17:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "9066:43:3" + }, + "nodeType": "YulFunctionCall", + "src": "9066:71:3" + }, + "nodeType": "YulExpressionStatement", + "src": "9066:71:3" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9191:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9204:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9215:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9200:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9200:18:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "9147:43:3" + }, + "nodeType": "YulFunctionCall", + "src": "9147:72:3" + }, + "nodeType": "YulExpressionStatement", + "src": "9147:72:3" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9294:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9307:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9318:2:3", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9303:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9303:18:3" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_LicenseRequestType_$1318_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "9229:64:3" + }, + "nodeType": "YulFunctionCall", + "src": "9229:93:3" + }, + "nodeType": "YulExpressionStatement", + "src": "9229:93:3" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9384:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9397:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9408:2:3", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9393:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9393:18:3" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_State_$1340_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "9332:51:3" + }, + "nodeType": "YulFunctionCall", + "src": "9332:80:3" + }, + "nodeType": "YulExpressionStatement", + "src": "9332:80:3" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_enum$_LicenseRequestType_$1318_t_enum$_State_$1340__to_t_uint256_t_uint256_t_uint8_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8967:9:3", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "8979:6:3", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8987:6:3", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8995:6:3", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9003:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9014:4:3", + "type": "" + } + ], + "src": "8808:611:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9524:40:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9535:22:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9551:5:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9545:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "9545:12:3" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9535:6:3" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9507:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9517:6:3", + "type": "" + } + ], + "src": "9425:139:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9706:73:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9723:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9728:6:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9716:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "9716:19:3" + }, + "nodeType": "YulExpressionStatement", + "src": "9716:19:3" + }, + { + "nodeType": "YulAssignment", + "src": "9744:29:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9763:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9768:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9759:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9759:14:3" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "9744:11:3" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9678:3:3", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9683:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "9694:11:3", + "type": "" + } + ], + "src": "9570:209:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9882:60:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9892:11:3", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "9900:3:3" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "9892:4:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9913:22:3", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "9925:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9930:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9921:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "9921:14:3" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "9913:4:3" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "9869:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "9877:4:3", + "type": "" + } + ], + "src": "9785:157:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10003:53:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10020:3:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10043:5:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "10025:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "10025:24:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10013:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "10013:37:3" + }, + "nodeType": "YulExpressionStatement", + "src": "10013:37:3" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9991:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9998:3:3", + "type": "" + } + ], + "src": "9948:108:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10148:73:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10165:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10170:6:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10158:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "10158:19:3" + }, + "nodeType": "YulExpressionStatement", + "src": "10158:19:3" + }, + { + "nodeType": "YulAssignment", + "src": "10186:29:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10205:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10210:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10201:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "10201:14:3" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "10186:11:3" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10120:3:3", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10125:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "10136:11:3", + "type": "" + } + ], + "src": "10062:159:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10309:262:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10319:53:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10366:5:3" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10333:32:3" + }, + "nodeType": "YulFunctionCall", + "src": "10333:39:3" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10323:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10381:68:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10437:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10442:6:3" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10388:48:3" + }, + "nodeType": "YulFunctionCall", + "src": "10388:61:3" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10381:3:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10484:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10491:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10480:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "10480:16:3" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10498:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10503:6:3" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "10458:21:3" + }, + "nodeType": "YulFunctionCall", + "src": "10458:52:3" + }, + "nodeType": "YulExpressionStatement", + "src": "10458:52:3" + }, + { + "nodeType": "YulAssignment", + "src": "10519:46:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10530:3:3" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10557:6:3" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "10535:21:3" + }, + "nodeType": "YulFunctionCall", + "src": "10535:29:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10526:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "10526:39:3" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10519:3:3" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10290:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10297:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10305:3:3", + "type": "" + } + ], + "src": "10227:344:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10765:666:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10775:26:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10791:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10796:4:3", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10787:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "10787:14:3" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10779:4:3", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10811:167:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10849:43:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10879:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10886:4:3", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10875:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "10875:16:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10869:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "10869:23:3" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10853:12:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10939:12:3" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10957:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10962:4:3", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10953:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "10953:14:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "10905:33:3" + }, + "nodeType": "YulFunctionCall", + "src": "10905:63:3" + }, + "nodeType": "YulExpressionStatement", + "src": "10905:63:3" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10988:166:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11025:43:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11055:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11062:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11051:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "11051:16:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11045:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "11045:23:3" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "11029:12:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11115:12:3" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11133:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11138:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11129:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "11129:14:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "11081:33:3" + }, + "nodeType": "YulFunctionCall", + "src": "11081:63:3" + }, + "nodeType": "YulExpressionStatement", + "src": "11081:63:3" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11164:240:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11204:43:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11234:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11241:4:3", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11230:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "11230:16:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11224:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "11224:23:3" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "11208:12:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11272:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11277:4:3", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11268:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "11268:14:3" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11288:4:3" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11294:3:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11284:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "11284:14:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11261:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "11261:38:3" + }, + "nodeType": "YulExpressionStatement", + "src": "11261:38:3" + }, + { + "nodeType": "YulAssignment", + "src": "11312:81:3", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11374:12:3" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11388:4:3" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11320:53:3" + }, + "nodeType": "YulFunctionCall", + "src": "11320:73:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11312:4:3" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11414:11:3", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11421:4:3" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11414:3:3" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10744:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10751:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10760:3:3", + "type": "" + } + ], + "src": "10651:780:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11567:126:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11577:110:3", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11675:6:3" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11683:3:3" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11591:83:3" + }, + "nodeType": "YulFunctionCall", + "src": "11591:96:3" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "11577:10:3" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11540:6:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11548:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "11556:10:3", + "type": "" + } + ], + "src": "11437:256:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11799:38:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11809:22:3", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "11821:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11826:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11817:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "11817:14:3" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "11809:4:3" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "11786:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "11794:4:3", + "type": "" + } + ], + "src": "11699:138:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12095:937:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12105:93:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12192:5:3" + } + ], + "functionName": { + "name": "array_length_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12119:72:3" + }, + "nodeType": "YulFunctionCall", + "src": "12119:79:3" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12109:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12207:118:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12313:3:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12318:6:3" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12214:98:3" + }, + "nodeType": "YulFunctionCall", + "src": "12214:111:3" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12207:3:3" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12334:20:3", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12351:3:3" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12338:9:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12363:39:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12379:3:3" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12388:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12396:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "12384:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "12384:17:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12375:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "12375:27:3" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12367:4:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12411:96:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12501:5:3" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12426:74:3" + }, + "nodeType": "YulFunctionCall", + "src": "12426:81:3" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "12415:7:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12516:21:3", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "12530:7:3" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "12520:6:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12606:381:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12627:3:3" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12636:4:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12642:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12632:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "12632:20:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12620:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "12620:33:3" + }, + "nodeType": "YulExpressionStatement", + "src": "12620:33:3" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12666:34:3", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12693:6:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12687:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "12687:13:3" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "12670:13:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12713:122:3", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "12815:13:3" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12830:4:3" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12721:93:3" + }, + "nodeType": "YulFunctionCall", + "src": "12721:114:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12713:4:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12848:95:3", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12936:6:3" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12858:77:3" + }, + "nodeType": "YulFunctionCall", + "src": "12858:85:3" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12848:6:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12956:21:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12967:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12972:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12963:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "12963:14:3" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12956:3:3" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "12568:1:3" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12571:6:3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12565:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "12565:13:3" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "12579:18:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12581:14:3", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "12590:1:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12593:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12586:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "12586:9:3" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "12581:1:3" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "12550:14:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12552:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12561:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "12556:1:3", + "type": "" + } + ] + } + ] + }, + "src": "12546:441:3" + }, + { + "nodeType": "YulAssignment", + "src": "12996:11:3", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13003:4:3" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12996:3:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13016:10:3", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13023:3:3" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13016:3:3" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12074:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12081:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12090:3:3", + "type": "" + } + ], + "src": "11921:1111:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13236:275:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13246:26:3", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13258:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13269:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13254:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "13254:18:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13246:4:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13293:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13304:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13289:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "13289:17:3" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13312:4:3" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13318:9:3" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13308:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "13308:20:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13282:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "13282:47:3" + }, + "nodeType": "YulExpressionStatement", + "src": "13282:47:3" + }, + { + "nodeType": "YulAssignment", + "src": "13338:166:3", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13490:6:3" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13499:4:3" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13346:143:3" + }, + "nodeType": "YulFunctionCall", + "src": "13346:158:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13338:4:3" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13208:9:3", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13220:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13231:4:3", + "type": "" + } + ], + "src": "13038:473:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13559:48:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13569:32:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13594:5:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13587:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "13587:13:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13580:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "13580:21:3" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "13569:7:3" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13541:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "13551:7:3", + "type": "" + } + ], + "src": "13517:90:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13672:50:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13689:3:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13709:5:3" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "13694:14:3" + }, + "nodeType": "YulFunctionCall", + "src": "13694:21:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13682:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "13682:34:3" + }, + "nodeType": "YulExpressionStatement", + "src": "13682:34:3" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13660:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13667:3:3", + "type": "" + } + ], + "src": "13613:109:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13820:118:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13830:26:3", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13842:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13853:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13838:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "13838:18:3" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13830:4:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13904:6:3" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13917:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13928:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13913:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "13913:17:3" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "13866:37:3" + }, + "nodeType": "YulFunctionCall", + "src": "13866:65:3" + }, + "nodeType": "YulExpressionStatement", + "src": "13866:65:3" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13792:9:3", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13804:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13815:4:3", + "type": "" + } + ], + "src": "13728:210:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13972:152:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13989:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13992:77:3", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13982:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "13982:88:3" + }, + "nodeType": "YulExpressionStatement", + "src": "13982:88:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14086:1:3", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14089:4:3", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14079:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14079:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14079:15:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14110:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14113:4:3", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14103:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14103:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14103:15:3" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "13944:180:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14158:152:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14175:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14178:77:3", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14168:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14168:88:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14168:88:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14272:1:3", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14275:4:3", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14265:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14265:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14265:15:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14296:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14299:4:3", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14289:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14289:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14289:15:3" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "14130:180:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14359:190:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14369:33:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14396:5:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "14378:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "14378:24:3" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14369:5:3" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14492:22:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "14494:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "14494:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14494:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14417:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14424:66:3", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "14414:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "14414:77:3" + }, + "nodeType": "YulIf", + "src": "14411:103:3" + }, + { + "nodeType": "YulAssignment", + "src": "14523:20:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14534:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14541:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14530:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "14530:13:3" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "14523:3:3" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14345:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "14355:3:3", + "type": "" + } + ], + "src": "14316:233:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14583:152:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14600:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14603:77:3", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14593:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14593:88:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14593:88:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14697:1:3", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14700:4:3", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14690:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14690:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14690:15:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14721:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14724:4:3", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14714:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14714:15:3" + }, + "nodeType": "YulExpressionStatement", + "src": "14714:15:3" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "14555:180:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14792:269:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14802:22:3", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14816:4:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14822:1:3", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "14812:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "14812:12:3" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14802:6:3" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14833:38:3", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14863:4:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14869:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14859:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "14859:12:3" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "14837:18:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14910:51:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14924:27:3", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14938:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14946:4:3", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14934:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "14934:17:3" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14924:6:3" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "14890:18:3" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14883:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "14883:26:3" + }, + "nodeType": "YulIf", + "src": "14880:81:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15013:42:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "15027:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "15027:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "15027:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "14977:18:3" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15000:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15008:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "14997:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "14997:14:3" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "14974:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "14974:38:3" + }, + "nodeType": "YulIf", + "src": "14971:84:3" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14776:4:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14785:6:3", + "type": "" + } + ], + "src": "14741:320:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15121:87:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15131:11:3", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "15139:3:3" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "15131:4:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15159:1:3", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "15162:3:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15152:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "15152:14:3" + }, + "nodeType": "YulExpressionStatement", + "src": "15152:14:3" + }, + { + "nodeType": "YulAssignment", + "src": "15175:26:3", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15193:1:3", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15196:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "15183:9:3" + }, + "nodeType": "YulFunctionCall", + "src": "15183:18:3" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "15175:4:3" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "15108:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "15116:4:3", + "type": "" + } + ], + "src": "15067:141:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15258:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15268:33:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15286:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15293:2:3", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15282:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15282:14:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15298:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "15278:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15278:23:3" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "15268:6:3" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15241:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "15251:6:3", + "type": "" + } + ], + "src": "15214:93:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15366:54:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15376:37:3", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "15401:4:3" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15407:5:3" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15397:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15397:16:3" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "15376:8:3" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "15341:4:3", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15347:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "15357:8:3", + "type": "" + } + ], + "src": "15313:107:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15502:317:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15512:35:3", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nodeType": "YulIdentifier", + "src": "15533:10:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15545:1:3", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "15529:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15529:18:3" + }, + "variables": [ + { + "name": "shiftBits", + "nodeType": "YulTypedName", + "src": "15516:9:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15556:109:3", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "15587:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15598:66:3", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "15568:18:3" + }, + "nodeType": "YulFunctionCall", + "src": "15568:97:3" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "15560:4:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15674:51:3", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "15705:9:3" + }, + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "15716:8:3" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "15686:18:3" + }, + "nodeType": "YulFunctionCall", + "src": "15686:39:3" + }, + "variableNames": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "15674:8:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15734:30:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15747:5:3" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "15758:4:3" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "15754:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15754:9:3" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15743:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15743:21:3" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15734:5:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15773:40:3", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15786:5:3" + }, + { + "arguments": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "15797:8:3" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "15807:4:3" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15793:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "15793:19:3" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "15783:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "15783:30:3" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "15773:6:3" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15463:5:3", + "type": "" + }, + { + "name": "shiftBytes", + "nodeType": "YulTypedName", + "src": "15470:10:3", + "type": "" + }, + { + "name": "toInsert", + "nodeType": "YulTypedName", + "src": "15482:8:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "15495:6:3", + "type": "" + } + ], + "src": "15426:393:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15857:28:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15867:12:3", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15874:5:3" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "15867:3:3" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15843:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "15853:3:3", + "type": "" + } + ], + "src": "15825:60:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15951:82:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15961:66:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16019:5:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16001:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "16001:24:3" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "15992:8:3" + }, + "nodeType": "YulFunctionCall", + "src": "15992:34:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "15974:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "15974:53:3" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "15961:9:3" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15931:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "15941:9:3", + "type": "" + } + ], + "src": "15891:142:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16086:28:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16096:12:3", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16103:5:3" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "16096:3:3" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16072:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16082:3:3", + "type": "" + } + ], + "src": "16039:75:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16196:193:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16206:63:3", + "value": { + "arguments": [ + { + "name": "value_0", + "nodeType": "YulIdentifier", + "src": "16261:7:3" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "16230:30:3" + }, + "nodeType": "YulFunctionCall", + "src": "16230:39:3" + }, + "variables": [ + { + "name": "convertedValue_0", + "nodeType": "YulTypedName", + "src": "16210:16:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "16285:4:3" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "16325:4:3" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "16319:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "16319:11:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16332:6:3" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nodeType": "YulIdentifier", + "src": "16364:16:3" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nodeType": "YulIdentifier", + "src": "16340:23:3" + }, + "nodeType": "YulFunctionCall", + "src": "16340:41:3" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nodeType": "YulIdentifier", + "src": "16291:27:3" + }, + "nodeType": "YulFunctionCall", + "src": "16291:91:3" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "16278:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "16278:105:3" + }, + "nodeType": "YulExpressionStatement", + "src": "16278:105:3" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "16173:4:3", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16179:6:3", + "type": "" + }, + { + "name": "value_0", + "nodeType": "YulTypedName", + "src": "16187:7:3", + "type": "" + } + ], + "src": "16120:269:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16444:24:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16454:8:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16461:1:3", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "16454:3:3" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16440:3:3", + "type": "" + } + ], + "src": "16395:73:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16527:136:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16537:46:3", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulIdentifier", + "src": "16551:30:3" + }, + "nodeType": "YulFunctionCall", + "src": "16551:32:3" + }, + "variables": [ + { + "name": "zero_0", + "nodeType": "YulTypedName", + "src": "16541:6:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "16636:4:3" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16642:6:3" + }, + { + "name": "zero_0", + "nodeType": "YulIdentifier", + "src": "16650:6:3" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "16592:43:3" + }, + "nodeType": "YulFunctionCall", + "src": "16592:65:3" + }, + "nodeType": "YulExpressionStatement", + "src": "16592:65:3" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "16513:4:3", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16519:6:3", + "type": "" + } + ], + "src": "16474:189:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16719:136:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16786:63:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "16830:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16837:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulIdentifier", + "src": "16800:29:3" + }, + "nodeType": "YulFunctionCall", + "src": "16800:39:3" + }, + "nodeType": "YulExpressionStatement", + "src": "16800:39:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "16739:5:3" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16746:3:3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "16736:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "16736:14:3" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "16751:26:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16753:22:3", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "16766:5:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16773:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16762:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "16762:13:3" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "16753:5:3" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "16733:2:3", + "statements": [] + }, + "src": "16729:120:3" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "16707:5:3", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16714:3:3", + "type": "" + } + ], + "src": "16669:186:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16940:464:3", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16966:431:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16980:54:3", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17028:5:3" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "16996:31:3" + }, + "nodeType": "YulFunctionCall", + "src": "16996:38:3" + }, + "variables": [ + { + "name": "dataArea", + "nodeType": "YulTypedName", + "src": "16984:8:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17047:63:3", + "value": { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "17070:8:3" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "17098:10:3" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "17080:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "17080:29:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17066:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17066:44:3" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "17051:11:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17267:27:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17269:23:3", + "value": { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "17284:8:3" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "17269:11:3" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "17251:10:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17263:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "17248:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "17248:18:3" + }, + "nodeType": "YulIf", + "src": "17245:49:3" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "17336:11:3" + }, + { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "17353:8:3" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "17381:3:3" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "17363:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "17363:22:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17349:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17349:37:3" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulIdentifier", + "src": "17307:28:3" + }, + "nodeType": "YulFunctionCall", + "src": "17307:80:3" + }, + "nodeType": "YulExpressionStatement", + "src": "17307:80:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "16957:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16962:2:3", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16954:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "16954:11:3" + }, + "nodeType": "YulIf", + "src": "16951:446:3" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "16916:5:3", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "16923:3:3", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "16928:10:3", + "type": "" + } + ], + "src": "16861:543:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17473:54:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17483:37:3", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "17508:4:3" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17514:5:3" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "17504:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17504:16:3" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "17483:8:3" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "17448:4:3", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17454:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "17464:8:3", + "type": "" + } + ], + "src": "17410:117:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17584:118:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17594:68:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17643:1:3", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nodeType": "YulIdentifier", + "src": "17646:5:3" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "17639:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17639:13:3" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17658:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "17654:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17654:6:3" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulIdentifier", + "src": "17610:28:3" + }, + "nodeType": "YulFunctionCall", + "src": "17610:51:3" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "17606:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17606:56:3" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "17598:4:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17671:25:3", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "17685:4:3" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "17691:4:3" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17681:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17681:15:3" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "17671:6:3" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "17561:4:3", + "type": "" + }, + { + "name": "bytes", + "nodeType": "YulTypedName", + "src": "17567:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "17577:6:3", + "type": "" + } + ], + "src": "17533:169:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17788:214:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17921:37:3", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "17948:4:3" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "17954:3:3" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "17929:18:3" + }, + "nodeType": "YulFunctionCall", + "src": "17929:29:3" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "17921:4:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17967:29:3", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "17978:4:3" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17988:1:3", + "type": "", + "value": "2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "17991:3:3" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "17984:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "17984:11:3" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "17975:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "17975:21:3" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "17967:4:3" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "17769:4:3", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "17775:3:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "17783:4:3", + "type": "" + } + ], + "src": "17707:295:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18099:1303:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18110:51:3", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18157:3:3" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "18124:32:3" + }, + "nodeType": "YulFunctionCall", + "src": "18124:37:3" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "18114:6:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18246:22:3", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "18248:16:3" + }, + "nodeType": "YulFunctionCall", + "src": "18248:18:3" + }, + "nodeType": "YulExpressionStatement", + "src": "18248:18:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18218:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18226:18:3", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18215:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "18215:30:3" + }, + "nodeType": "YulIf", + "src": "18212:56:3" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18278:52:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "18324:4:3" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "18318:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "18318:11:3" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "18292:25:3" + }, + "nodeType": "YulFunctionCall", + "src": "18292:38:3" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "18282:6:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "18423:4:3" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "18429:6:3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18437:6:3" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "18377:45:3" + }, + "nodeType": "YulFunctionCall", + "src": "18377:67:3" + }, + "nodeType": "YulExpressionStatement", + "src": "18377:67:3" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18454:18:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18471:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "18458:9:3", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18482:17:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18495:4:3", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "18482:9:3" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18546:611:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18560:37:3", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18579:6:3" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18591:4:3", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "18587:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18587:9:3" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "18575:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18575:22:3" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "18564:7:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18611:51:3", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "18657:4:3" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "18625:31:3" + }, + "nodeType": "YulFunctionCall", + "src": "18625:37:3" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "18615:6:3", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18675:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18684:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "18679:1:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18743:163:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "18768:6:3" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18786:3:3" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "18791:9:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18782:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18782:19:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18776:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "18776:26:3" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "18761:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "18761:42:3" + }, + "nodeType": "YulExpressionStatement", + "src": "18761:42:3" + }, + { + "nodeType": "YulAssignment", + "src": "18820:24:3", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "18834:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18842:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18830:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18830:14:3" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "18820:6:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18861:31:3", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "18878:9:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18889:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18874:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18874:18:3" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "18861:9:3" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18709:1:3" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "18712:7:3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "18706:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "18706:14:3" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "18721:21:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18723:17:3", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18732:1:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18735:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18728:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18728:12:3" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18723:1:3" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "18702:3:3", + "statements": [] + }, + "src": "18698:208:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18942:156:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18960:43:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18987:3:3" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "18992:9:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18983:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "18983:19:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18977:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "18977:26:3" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "18964:9:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "19027:6:3" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "19054:9:3" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19069:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19077:4:3", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19065:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "19065:17:3" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "19035:18:3" + }, + "nodeType": "YulFunctionCall", + "src": "19035:48:3" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19020:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "19020:64:3" + }, + "nodeType": "YulExpressionStatement", + "src": "19020:64:3" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "18925:7:3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18934:6:3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "18922:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "18922:19:3" + }, + "nodeType": "YulIf", + "src": "18919:179:3" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19118:4:3" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19132:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19140:1:3", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "19128:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "19128:14:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19144:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19124:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "19124:22:3" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19111:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "19111:36:3" + }, + "nodeType": "YulExpressionStatement", + "src": "19111:36:3" + } + ] + }, + "nodeType": "YulCase", + "src": "18539:618:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18544:1:3", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19174:222:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19188:14:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19201:1:3", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19192:5:3", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19225:67:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19243:35:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19262:3:3" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "19267:9:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19258:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "19258:19:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19252:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "19252:26:3" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19243:5:3" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19218:6:3" + }, + "nodeType": "YulIf", + "src": "19215:77:3" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19312:4:3" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19371:5:3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19378:6:3" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "19318:52:3" + }, + "nodeType": "YulFunctionCall", + "src": "19318:67:3" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19305:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "19305:81:3" + }, + "nodeType": "YulExpressionStatement", + "src": "19305:81:3" + } + ] + }, + "nodeType": "YulCase", + "src": "19166:230:3", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18519:6:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18527:2:3", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18516:2:3" + }, + "nodeType": "YulFunctionCall", + "src": "18516:14:3" + }, + "nodeType": "YulSwitch", + "src": "18509:887:3" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "18088:4:3", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "18094:3:3", + "type": "" + } + ], + "src": "18007:1395:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19455:32:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19465:16:3", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19476:5:3" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "19465:7:3" + } + ] + } + ] + }, + "name": "leftAlign_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19437:5:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "19447:7:3", + "type": "" + } + ], + "src": "19408:79:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19576:74:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19593:3:3" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19636:5:3" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19618:17:3" + }, + "nodeType": "YulFunctionCall", + "src": "19618:24:3" + } + ], + "functionName": { + "name": "leftAlign_t_uint256", + "nodeType": "YulIdentifier", + "src": "19598:19:3" + }, + "nodeType": "YulFunctionCall", + "src": "19598:45:3" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19586:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "19586:58:3" + }, + "nodeType": "YulExpressionStatement", + "src": "19586:58:3" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19564:5:3", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19571:3:3", + "type": "" + } + ], + "src": "19493:157:3" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19772:140:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19845:6:3" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19854:3:3" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19783:61:3" + }, + "nodeType": "YulFunctionCall", + "src": "19783:75:3" + }, + "nodeType": "YulExpressionStatement", + "src": "19783:75:3" + }, + { + "nodeType": "YulAssignment", + "src": "19867:19:3", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19878:3:3" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19883:2:3", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19874:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "19874:12:3" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19867:3:3" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19896:10:3", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19903:3:3" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19896:3:3" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19751:3:3", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19757:6:3", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19768:3:3", + "type": "" + } + ], + "src": "19656:256:3" + } + ] + }, + "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_uint256(value) -> cleaned {\n cleaned := value\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_uint256t_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_uint256(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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_uint256t_string_memory_ptr(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_uint256(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 let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_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_uint256(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 let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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 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_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\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 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_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_LicenseRequestType_$1318(value) {\n if iszero(lt(value, 2)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_LicenseRequestType_$1318(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_LicenseRequestType_$1318(value)\n }\n\n function convert_t_enum$_LicenseRequestType_$1318_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_LicenseRequestType_$1318(value)\n }\n\n function abi_encode_t_enum$_LicenseRequestType_$1318_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_LicenseRequestType_$1318_to_t_uint8(value))\n }\n\n function validator_assert_t_enum$_State_$1340(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_State_$1340(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_State_$1340(value)\n }\n\n function convert_t_enum$_State_$1340_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_State_$1340(value)\n }\n\n function abi_encode_t_enum$_State_$1340_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_State_$1340_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_enum$_LicenseRequestType_$1318_t_enum$_State_$1340__to_t_uint256_t_uint256_t_uint8_t_uint8__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\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_enum$_LicenseRequestType_$1318_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_enum$_State_$1340_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n }\n\n function array_length_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_license_$1325_memory_ptr_$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_struct$_license_$1325_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(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 // struct VehicleSystemTwo.license -> struct VehicleSystemTwo.license\n function abi_encode_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // user_id\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // car_id\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // expire_at\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct VehicleSystemTwo.license[] -> struct VehicleSystemTwo.license[]\n function abi_encode_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_license_$1325_memory_ptr_to_t_struct$_license_$1325_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_license_$1325_memory_ptr_$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_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\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 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 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 array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n}\n", + "id": 3, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "60:4192:2:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "60:4192:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:274;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1575:288;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;624:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1125:442;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2291:629;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;541:25;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3348:629;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;573:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2928:412;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3985:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4089:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1871:412;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;843:274;926:6;921:189;942:8;:15;;;;938:1;:19;921:189;;;992:27;1004:1;1007:11;992;:27::i;:::-;988:111;;;1075:8;1053;1062:1;1053:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;988:111;959:3;;;;;:::i;:::-;;;;921:189;;;;843:274;;:::o;1575:288::-;1668:42;1713:88;;;;;;;;1729:8;1713:88;;;;1739:7;1713:88;;;;1748:37;1713:88;;;;;;;;:::i;:::-;;;;;;1787:13;1713:88;;;;;;;;:::i;:::-;;;;;1668:133;;1812:17;1835:19;1812:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1655:208;1575:288;;:::o;624:211::-;723:26;752:38;;;;;;;;760:8;752:38;;;;770:7;752:38;;;;779:10;752:38;;;723:67;;801:8;815:11;801:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;712:123;624:211;;;:::o;1125:442::-;1236:6;1231:329;1252:8;:15;;;;1248:1;:19;1231:329;;;1293:27;1305:1;1308:11;1293;:27::i;:::-;1289:260;;;1341:42;1386:85;;;;;;;;1402:8;1386:85;;;;1412:7;1386:85;;;;1421:34;1386:85;;;;;;;;:::i;:::-;;;;;;1457:13;1386:85;;;;;;;;:::i;:::-;;;;;1341:130;;1490:17;1513:19;1490:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1322:227;1289:260;1269:3;;;;;:::i;:::-;;;;1231:329;;;;1125:442;;;:::o;2291:629::-;2407:47;;:::i;:::-;2470:6;2465:285;2486:17;:24;;;;2482:1;:28;2465:285;;;2545:35;2557:1;2560:19;2545:11;:35::i;:::-;2541:198;;;2641:17;2659:1;2641:20;;;;;;;;:::i;:::-;;;;;;;;;;;;2614:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2709:14;2680:17;2698:1;2680:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2541:198;2512:3;;;;;:::i;:::-;;;;2465:285;;;;2760:26;2789:86;;;;;;;;2797:24;:32;;;2789:86;;;;2831:24;:31;;;2789:86;;;;2864:10;2789:86;;;2760:115;;2886:8;2900:11;2886:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;2396:524;;2291:629;;:::o;541:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3348:629::-;3464:47;;:::i;:::-;3527:6;3522:285;3543:17;:24;;;;3539:1;:28;3522:285;;;3602:35;3614:1;3617:19;3602:11;:35::i;:::-;3598:198;;;3698:17;3716:1;3698:20;;;;;;;;:::i;:::-;;;;;;;;;;;;3671:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3766:14;3737:17;3755:1;3737:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;3598:198;3569:3;;;;;:::i;:::-;;;;3522:285;;;;3817:26;3846:86;;;;;;;;3854:24;:32;;;3846:86;;;;3888:24;:31;;;3846:86;;;;3921:10;3846:86;;;3817:115;;3943:8;3957:11;3943:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3453:524;;3348:629;;:::o;573:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2928:412::-;3064:6;3059:219;3080:17;:24;;;;3076:1;:28;3059:219;;;3139:35;3151:1;3154:19;3139:11;:35::i;:::-;3135:132;;;3237:14;3208:17;3226:1;3208:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;3135:132;3106:3;;;;;:::i;:::-;;;;3059:219;;;;3322:10;3288:8;3297:11;3288:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:31;;:44;;;;;;:::i;:::-;;2928:412;;;:::o;3985:96::-;4030:16;4065:8;4058:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3985:96;:::o;4089:160::-;4147:4;4236:1;4218:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;4208:32;;;;;;4200:1;4182:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;4172:32;;;;;;:68;4164:77;;4089:160;;;;:::o;1871:412::-;2007:6;2002:219;2023:17;:24;;;;2019:1;:28;2002:219;;;2082:35;2094:1;2097:19;2082:11;:35::i;:::-;2078:132;;;2180:14;2151:17;2169:1;2151:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:43;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2078:132;2049:3;;;;;:::i;:::-;;;;2002:219;;;;2265:10;2231:8;2240:11;2231:21;;;;;;;;:::i;:::-;;;;;;;;;;;;:31;;:44;;;;;;:::i;:::-;;1871:412;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;7:75:3:-;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:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:117::-;1279:1;1276;1269:12;1293:117;1402:1;1399;1392:12;1416:102;1457:6;1508:2;1504:7;1499:2;1492:5;1488:14;1484:28;1474:38;;1416:102;;;:::o;1524:180::-;1572:77;1569:1;1562:88;1669:4;1666:1;1659:15;1693:4;1690:1;1683:15;1710:281;1793:27;1815:4;1793:27;:::i;:::-;1785:6;1781:40;1923:6;1911:10;1908:22;1887:18;1875:10;1872:34;1869:62;1866:88;;;1934:18;;:::i;:::-;1866:88;1974:10;1970:2;1963:22;1753:238;1710:281;;:::o;1997:129::-;2031:6;2058:20;;:::i;:::-;2048:30;;2087:33;2115:4;2107:6;2087:33;:::i;:::-;1997:129;;;:::o;2132:308::-;2194:4;2284:18;2276:6;2273:30;2270:56;;;2306:18;;:::i;:::-;2270:56;2344:29;2366:6;2344:29;:::i;:::-;2336:37;;2428:4;2422;2418:15;2410:23;;2132:308;;;:::o;2446:154::-;2530:6;2525:3;2520;2507:30;2592:1;2583:6;2578:3;2574:16;2567:27;2446:154;;;:::o;2606:412::-;2684:5;2709:66;2725:49;2767:6;2725:49;:::i;:::-;2709:66;:::i;:::-;2700:75;;2798:6;2791:5;2784:21;2836:4;2829:5;2825:16;2874:3;2865:6;2860:3;2856:16;2853:25;2850:112;;;2881:79;;:::i;:::-;2850:112;2971:41;3005:6;3000:3;2995;2971:41;:::i;:::-;2690:328;2606:412;;;;;:::o;3038:340::-;3094:5;3143:3;3136:4;3128:6;3124:17;3120:27;3110:122;;3151:79;;:::i;:::-;3110:122;3268:6;3255:20;3293:79;3368:3;3360:6;3353:4;3345:6;3341:17;3293:79;:::i;:::-;3284:88;;3100:278;3038:340;;;;:::o;3384:799::-;3471:6;3479;3487;3536:2;3524:9;3515:7;3511:23;3507:32;3504:119;;;3542:79;;:::i;:::-;3504:119;3662:1;3687:53;3732:7;3723:6;3712:9;3708:22;3687:53;:::i;:::-;3677:63;;3633:117;3789:2;3815:53;3860:7;3851:6;3840:9;3836:22;3815:53;:::i;:::-;3805:63;;3760:118;3945:2;3934:9;3930:18;3917:32;3976:18;3968:6;3965:30;3962:117;;;3998:79;;:::i;:::-;3962:117;4103:63;4158:7;4149:6;4138:9;4134:22;4103:63;:::i;:::-;4093:73;;3888:288;3384:799;;;;;:::o;4189:619::-;4266:6;4274;4282;4331:2;4319:9;4310:7;4306:23;4302:32;4299:119;;;4337:79;;:::i;:::-;4299:119;4457:1;4482:53;4527:7;4518:6;4507:9;4503:22;4482:53;:::i;:::-;4472:63;;4428:117;4584:2;4610:53;4655:7;4646:6;4635:9;4631:22;4610:53;:::i;:::-;4600:63;;4555:118;4712:2;4738:53;4783:7;4774:6;4763:9;4759:22;4738:53;:::i;:::-;4728:63;;4683:118;4189:619;;;;;:::o;4814:654::-;4892:6;4900;4949:2;4937:9;4928:7;4924:23;4920:32;4917:119;;;4955:79;;:::i;:::-;4917:119;5075:1;5100:53;5145:7;5136:6;5125:9;5121:22;5100:53;:::i;:::-;5090:63;;5046:117;5230:2;5219:9;5215:18;5202:32;5261:18;5253:6;5250:30;5247:117;;;5283:79;;:::i;:::-;5247:117;5388:63;5443:7;5434:6;5423:9;5419:22;5388:63;:::i;:::-;5378:73;;5173:288;4814:654;;;;;:::o;5474:329::-;5533:6;5582:2;5570:9;5561:7;5557:23;5553:32;5550:119;;;5588:79;;:::i;:::-;5550:119;5708:1;5733:53;5778:7;5769:6;5758:9;5754:22;5733:53;:::i;:::-;5723:63;;5679:117;5474:329;;;;:::o;5809:118::-;5896:24;5914:5;5896:24;:::i;:::-;5891:3;5884:37;5809:118;;:::o;5933:99::-;5985:6;6019:5;6013:12;6003:22;;5933:99;;;:::o;6038:169::-;6122:11;6156:6;6151:3;6144:19;6196:4;6191:3;6187:14;6172:29;;6038:169;;;;:::o;6213:307::-;6281:1;6291:113;6305:6;6302:1;6299:13;6291:113;;;6390:1;6385:3;6381:11;6375:18;6371:1;6366:3;6362:11;6355:39;6327:2;6324:1;6320:10;6315:15;;6291:113;;;6422:6;6419:1;6416:13;6413:101;;;6502:1;6493:6;6488:3;6484:16;6477:27;6413:101;6262:258;6213:307;;;:::o;6526:364::-;6614:3;6642:39;6675:5;6642:39;:::i;:::-;6697:71;6761:6;6756:3;6697:71;:::i;:::-;6690:78;;6777:52;6822:6;6817:3;6810:4;6803:5;6799:16;6777:52;:::i;:::-;6854:29;6876:6;6854:29;:::i;:::-;6849:3;6845:39;6838:46;;6618:272;6526:364;;;;:::o;6896:533::-;7065:4;7103:2;7092:9;7088:18;7080:26;;7116:71;7184:1;7173:9;7169:17;7160:6;7116:71;:::i;:::-;7197:72;7265:2;7254:9;7250:18;7241:6;7197:72;:::i;:::-;7316:9;7310:4;7306:20;7301:2;7290:9;7286:18;7279:48;7344:78;7417:4;7408:6;7344:78;:::i;:::-;7336:86;;6896:533;;;;;;:::o;7435:180::-;7483:77;7480:1;7473:88;7580:4;7577:1;7570:15;7604:4;7601:1;7594:15;7621:128;7717:1;7710:5;7707:12;7697:46;;7723:18;;:::i;:::-;7697:46;7621:128;:::o;7755:157::-;7815:7;7844:5;7833:16;;7850:56;7900:5;7850:56;:::i;:::-;7755:157;;;:::o;7918:::-;7989:9;8022:47;8063:5;8022:47;:::i;:::-;8009:60;;7918:157;;;:::o;8081:173::-;8189:58;8241:5;8189:58;:::i;:::-;8184:3;8177:71;8081:173;;:::o;8260:115::-;8343:1;8336:5;8333:12;8323:46;;8349:18;;:::i;:::-;8323:46;8260:115;:::o;8381:131::-;8428:7;8457:5;8446:16;;8463:43;8500:5;8463:43;:::i;:::-;8381:131;;;:::o;8518:::-;8576:9;8609:34;8637:5;8609:34;:::i;:::-;8596:47;;8518:131;;;:::o;8655:147::-;8750:45;8789:5;8750:45;:::i;:::-;8745:3;8738:58;8655:147;;:::o;8808:611::-;9014:4;9052:3;9041:9;9037:19;9029:27;;9066:71;9134:1;9123:9;9119:17;9110:6;9066:71;:::i;:::-;9147:72;9215:2;9204:9;9200:18;9191:6;9147:72;:::i;:::-;9229:93;9318:2;9307:9;9303:18;9294:6;9229:93;:::i;:::-;9332:80;9408:2;9397:9;9393:18;9384:6;9332:80;:::i;:::-;8808:611;;;;;;;:::o;9425:139::-;9517:6;9551:5;9545:12;9535:22;;9425:139;;;:::o;9570:209::-;9694:11;9728:6;9723:3;9716:19;9768:4;9763:3;9759:14;9744:29;;9570:209;;;;:::o;9785:157::-;9877:4;9900:3;9892:11;;9930:4;9925:3;9921:14;9913:22;;9785:157;;;:::o;9948:108::-;10025:24;10043:5;10025:24;:::i;:::-;10020:3;10013:37;9948:108;;:::o;10062:159::-;10136:11;10170:6;10165:3;10158:19;10210:4;10205:3;10201:14;10186:29;;10062:159;;;;:::o;10227:344::-;10305:3;10333:39;10366:5;10333:39;:::i;:::-;10388:61;10442:6;10437:3;10388:61;:::i;:::-;10381:68;;10458:52;10503:6;10498:3;10491:4;10484:5;10480:16;10458:52;:::i;:::-;10535:29;10557:6;10535:29;:::i;:::-;10530:3;10526:39;10519:46;;10309:262;10227:344;;;;:::o;10651:780::-;10760:3;10796:4;10791:3;10787:14;10886:4;10879:5;10875:16;10869:23;10905:63;10962:4;10957:3;10953:14;10939:12;10905:63;:::i;:::-;10811:167;11062:4;11055:5;11051:16;11045:23;11081:63;11138:4;11133:3;11129:14;11115:12;11081:63;:::i;:::-;10988:166;11241:4;11234:5;11230:16;11224:23;11294:3;11288:4;11284:14;11277:4;11272:3;11268:14;11261:38;11320:73;11388:4;11374:12;11320:73;:::i;:::-;11312:81;;11164:240;11421:4;11414:11;;10765:666;10651:780;;;;:::o;11437:256::-;11556:10;11591:96;11683:3;11675:6;11591:96;:::i;:::-;11577:110;;11437:256;;;;:::o;11699:138::-;11794:4;11826;11821:3;11817:14;11809:22;;11699:138;;;:::o;11921:1111::-;12090:3;12119:79;12192:5;12119:79;:::i;:::-;12214:111;12318:6;12313:3;12214:111;:::i;:::-;12207:118;;12351:3;12396:4;12388:6;12384:17;12379:3;12375:27;12426:81;12501:5;12426:81;:::i;:::-;12530:7;12561:1;12546:441;12571:6;12568:1;12565:13;12546:441;;;12642:9;12636:4;12632:20;12627:3;12620:33;12693:6;12687:13;12721:114;12830:4;12815:13;12721:114;:::i;:::-;12713:122;;12858:85;12936:6;12858:85;:::i;:::-;12848:95;;12972:4;12967:3;12963:14;12956:21;;12606:381;12593:1;12590;12586:9;12581:14;;12546:441;;;12550:14;13003:4;12996:11;;13023:3;13016:10;;12095:937;;;;;11921:1111;;;;:::o;13038:473::-;13231:4;13269:2;13258:9;13254:18;13246:26;;13318:9;13312:4;13308:20;13304:1;13293:9;13289:17;13282:47;13346:158;13499:4;13490:6;13346:158;:::i;:::-;13338:166;;13038:473;;;;:::o;13517:90::-;13551:7;13594:5;13587:13;13580:21;13569:32;;13517:90;;;:::o;13613:109::-;13694:21;13709:5;13694:21;:::i;:::-;13689:3;13682:34;13613:109;;:::o;13728:210::-;13815:4;13853:2;13842:9;13838:18;13830:26;;13866:65;13928:1;13917:9;13913:17;13904:6;13866:65;:::i;:::-;13728:210;;;;:::o;13944:180::-;13992:77;13989:1;13982:88;14089:4;14086:1;14079:15;14113:4;14110:1;14103:15;14130:180;14178:77;14175:1;14168:88;14275:4;14272:1;14265:15;14299:4;14296:1;14289:15;14316:233;14355:3;14378:24;14396:5;14378:24;:::i;:::-;14369:33;;14424:66;14417:5;14414:77;14411:103;;14494:18;;:::i;:::-;14411:103;14541:1;14534:5;14530:13;14523:20;;14316:233;;;:::o;14555:180::-;14603:77;14600:1;14593:88;14700:4;14697:1;14690:15;14724:4;14721:1;14714:15;14741:320;14785:6;14822:1;14816:4;14812:12;14802:22;;14869:1;14863:4;14859:12;14890:18;14880:81;;14946:4;14938:6;14934:17;14924:27;;14880:81;15008:2;15000:6;14997:14;14977:18;14974:38;14971:84;;15027:18;;:::i;:::-;14971:84;14792:269;14741:320;;;:::o;15067:141::-;15116:4;15139:3;15131:11;;15162:3;15159:1;15152:14;15196:4;15193:1;15183:18;15175:26;;15067:141;;;:::o;15214:93::-;15251:6;15298:2;15293;15286:5;15282:14;15278:23;15268:33;;15214:93;;;:::o;15313:107::-;15357:8;15407:5;15401:4;15397:16;15376:37;;15313:107;;;;:::o;15426:393::-;15495:6;15545:1;15533:10;15529:18;15568:97;15598:66;15587:9;15568:97;:::i;:::-;15686:39;15716:8;15705:9;15686:39;:::i;:::-;15674:51;;15758:4;15754:9;15747:5;15743:21;15734:30;;15807:4;15797:8;15793:19;15786:5;15783:30;15773:40;;15502:317;;15426:393;;;;;:::o;15825:60::-;15853:3;15874:5;15867:12;;15825:60;;;:::o;15891:142::-;15941:9;15974:53;15992:34;16001:24;16019:5;16001:24;:::i;:::-;15992:34;:::i;:::-;15974:53;:::i;:::-;15961:66;;15891:142;;;:::o;16039:75::-;16082:3;16103:5;16096:12;;16039:75;;;:::o;16120:269::-;16230:39;16261:7;16230:39;:::i;:::-;16291:91;16340:41;16364:16;16340:41;:::i;:::-;16332:6;16325:4;16319:11;16291:91;:::i;:::-;16285:4;16278:105;16196:193;16120:269;;;:::o;16395:73::-;16440:3;16395:73;:::o;16474:189::-;16551:32;;:::i;:::-;16592:65;16650:6;16642;16636:4;16592:65;:::i;:::-;16527:136;16474:189;;:::o;16669:186::-;16729:120;16746:3;16739:5;16736:14;16729:120;;;16800:39;16837:1;16830:5;16800:39;:::i;:::-;16773:1;16766:5;16762:13;16753:22;;16729:120;;;16669:186;;:::o;16861:543::-;16962:2;16957:3;16954:11;16951:446;;;16996:38;17028:5;16996:38;:::i;:::-;17080:29;17098:10;17080:29;:::i;:::-;17070:8;17066:44;17263:2;17251:10;17248:18;17245:49;;;17284:8;17269:23;;17245:49;17307:80;17363:22;17381:3;17363:22;:::i;:::-;17353:8;17349:37;17336:11;17307:80;:::i;:::-;16966:431;;16951:446;16861:543;;;:::o;17410:117::-;17464:8;17514:5;17508:4;17504:16;17483:37;;17410:117;;;;:::o;17533:169::-;17577:6;17610:51;17658:1;17654:6;17646:5;17643:1;17639:13;17610:51;:::i;:::-;17606:56;17691:4;17685;17681:15;17671:25;;17584:118;17533:169;;;;:::o;17707:295::-;17783:4;17929:29;17954:3;17948:4;17929:29;:::i;:::-;17921:37;;17991:3;17988:1;17984:11;17978:4;17975:21;17967:29;;17707:295;;;;:::o;18007:1395::-;18124:37;18157:3;18124:37;:::i;:::-;18226:18;18218:6;18215:30;18212:56;;;18248:18;;:::i;:::-;18212:56;18292:38;18324:4;18318:11;18292:38;:::i;:::-;18377:67;18437:6;18429;18423:4;18377:67;:::i;:::-;18471:1;18495:4;18482:17;;18527:2;18519:6;18516:14;18544:1;18539:618;;;;19201:1;19218:6;19215:77;;;19267:9;19262:3;19258:19;19252:26;19243:35;;19215:77;19318:67;19378:6;19371:5;19318:67;:::i;:::-;19312:4;19305:81;19174:222;18509:887;;18539:618;18591:4;18587:9;18579:6;18575:22;18625:37;18657:4;18625:37;:::i;:::-;18684:1;18698:208;18712:7;18709:1;18706:14;18698:208;;;18791:9;18786:3;18782:19;18776:26;18768:6;18761:42;18842:1;18834:6;18830:14;18820:24;;18889:2;18878:9;18874:18;18861:31;;18735:4;18732:1;18728:12;18723:17;;18698:208;;;18934:6;18925:7;18922:19;18919:179;;;18992:9;18987:3;18983:19;18977:26;19035:48;19077:4;19069:6;19065:17;19054:9;19035:48;:::i;:::-;19027:6;19020:64;18942:156;18919:179;19144:1;19140;19132:6;19128:14;19124:22;19118:4;19111:36;18546:611;;;18509:887;;18099:1303;;;18007:1395;;:::o;19408:79::-;19447:7;19476:5;19465:16;;19408:79;;;:::o;19493:157::-;19598:45;19618:24;19636:5;19618:24;:::i;:::-;19598:45;:::i;:::-;19593:3;19586:58;19493:157;;:::o;19656:256::-;19768:3;19783:75;19854:3;19845:6;19783:75;:::i;:::-;19883:2;19878:3;19874:12;19867:19;;19903:3;19896:10;;19656:256;;;;:::o", + "source": "//SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.11;\r\n\r\ncontract VehicleSystemTwo {\r\n\r\n\r\n enum LicenseRequestType{\r\n FIRST_TIME_LICENSE,\r\n RENEWAL_LICENSE\r\n }\r\n\r\n struct license\r\n {\r\n uint user_id;\r\n uint car_id;\r\n string expire_at;\r\n }\r\n\r\n struct license_request\r\n {\r\n uint user_id;\r\n uint car_id;\r\n LicenseRequestType license_request_type;\r\n State state;\r\n }\r\n\r\n enum State {\r\n ACCEPTED,\r\n REJECTED,\r\n PENDING\r\n }\r\n\r\n license[] public licenses;\r\n license_request[] public licenses_requests;\r\n\r\n function add_license(uint _user_id, uint _car_id, string memory _expire_at) public\r\n {\r\n license memory new_license = license(_user_id, _car_id, _expire_at);\r\n licenses.push(new_license);\r\n }\r\n\r\n function edit_license(uint _license_id, uint _user_id) public\r\n {\r\n for (uint i = 0; i < licenses.length; i++)\r\n {\r\n if (compareUint(i, _license_id))\r\n {\r\n licenses[i].user_id = _user_id;\r\n }\r\n }\r\n }\r\n\r\n function request_to_renewal_licence(uint _license_id, uint _car_id, uint _user_id) public\r\n {\r\n for (uint i = 0; i < licenses.length; i++) {\r\n if (compareUint(i, _license_id)) {\r\n license_request memory new_license_request = license_request(_user_id, _car_id, LicenseRequestType.RENEWAL_LICENSE, State.PENDING);\r\n licenses_requests.push(new_license_request);\r\n }\r\n }\r\n }\r\n\r\n function request_to_first_time_licence(uint _car_id, uint _user_id) public\r\n {\r\n\r\n license_request memory new_license_request = license_request(_user_id, _car_id, LicenseRequestType.FIRST_TIME_LICENSE, State.PENDING);\r\n licenses_requests.push(new_license_request);\r\n }\r\n\r\n function accept_to_request_renewal_license(uint _license_request_id, uint _license_id, string memory _expire_at) public {\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n licenses_requests[i].state = State.ACCEPTED;\r\n }\r\n }\r\n licenses[_license_id].expire_at = _expire_at;\r\n }\r\n\r\n function accept_to_request_first_time_license(uint _license_request_id, string memory _expire_at) public {\r\n license_request memory current_licenses_request;\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n current_licenses_request = licenses_requests[i];\r\n licenses_requests[i].state = State.ACCEPTED;\r\n }\r\n }\r\n license memory new_license = license(current_licenses_request.user_id, current_licenses_request.car_id, _expire_at);\r\n licenses.push(new_license);\r\n }\r\n\r\n function reject_to_request_renewal_license(uint _license_request_id, uint _license_id, string memory _expire_at) public {\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n licenses_requests[i].state = State.REJECTED;\r\n }\r\n }\r\n licenses[_license_id].expire_at = _expire_at;\r\n }\r\n\r\n function reject_to_request_first_time_license(uint _license_request_id, string memory _expire_at) public {\r\n license_request memory current_licenses_request;\r\n for (uint i = 0; i < licenses_requests.length; i++)\r\n {\r\n if (compareUint(i, _license_request_id))\r\n {\r\n current_licenses_request = licenses_requests[i];\r\n licenses_requests[i].state = State.REJECTED;\r\n }\r\n }\r\n license memory new_license = license(current_licenses_request.user_id, current_licenses_request.car_id, _expire_at);\r\n licenses.push(new_license);\r\n }\r\n\r\n function get_licenses() public view returns (license[] memory){\r\n return licenses;\r\n }\r\n\r\n function compareUint(uint a, uint b) public pure returns (bool) {\r\n return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b))));\r\n }\r\n}\r\n", + "sourcePath": "C:\\Users\\Mina\\OneDrive\\Desktop\\blockchain-projects\\Back-end\\contracts\\VehicleSystemTwo.sol", + "ast": { + "absolutePath": "project:/contracts/VehicleSystemTwo.sol", + "exportedSymbols": { + "VehicleSystemTwo": [ + 1730 + ] + }, + "id": 1731, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1315, + "literals": [ + "solidity", + "^", + "0.8", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "32:24:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "VehicleSystemTwo", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1730, + "linearizedBaseContracts": [ + 1730 + ], + "name": "VehicleSystemTwo", + "nameLocation": "69:16:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "VehicleSystemTwo.LicenseRequestType", + "id": 1318, + "members": [ + { + "id": 1316, + "name": "FIRST_TIME_LICENSE", + "nameLocation": "131:18:2", + "nodeType": "EnumValue", + "src": "131:18:2" + }, + { + "id": 1317, + "name": "RENEWAL_LICENSE", + "nameLocation": "160:15:2", + "nodeType": "EnumValue", + "src": "160:15:2" + } + ], + "name": "LicenseRequestType", + "nameLocation": "102:18:2", + "nodeType": "EnumDefinition", + "src": "97:85:2" + }, + { + "canonicalName": "VehicleSystemTwo.license", + "id": 1325, + "members": [ + { + "constant": false, + "id": 1320, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "226:7:2", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "221:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1319, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "221:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1322, + "mutability": "mutable", + "name": "car_id", + "nameLocation": "249:6:2", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "244:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1321, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "244:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1324, + "mutability": "mutable", + "name": "expire_at", + "nameLocation": "273:9:2", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "266:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1323, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "266:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "license", + "nameLocation": "197:7:2", + "nodeType": "StructDefinition", + "scope": 1730, + "src": "190:100:2", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystemTwo.license_request", + "id": 1336, + "members": [ + { + "constant": false, + "id": 1327, + "mutability": "mutable", + "name": "user_id", + "nameLocation": "342:7:2", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "337:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1326, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "337:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1329, + "mutability": "mutable", + "name": "car_id", + "nameLocation": "365:6:2", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "360:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1328, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "360:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1332, + "mutability": "mutable", + "name": "license_request_type", + "nameLocation": "401:20:2", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "382:39:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$1318", + "typeString": "enum VehicleSystemTwo.LicenseRequestType" + }, + "typeName": { + "id": 1331, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1330, + "name": "LicenseRequestType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1318, + "src": "382:18:2" + }, + "referencedDeclaration": 1318, + "src": "382:18:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$1318", + "typeString": "enum VehicleSystemTwo.LicenseRequestType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1335, + "mutability": "mutable", + "name": "state", + "nameLocation": "438:5:2", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "432:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + }, + "typeName": { + "id": 1334, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1333, + "name": "State", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1340, + "src": "432:5:2" + }, + "referencedDeclaration": 1340, + "src": "432:5:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "visibility": "internal" + } + ], + "name": "license_request", + "nameLocation": "305:15:2", + "nodeType": "StructDefinition", + "scope": 1730, + "src": "298:153:2", + "visibility": "public" + }, + { + "canonicalName": "VehicleSystemTwo.State", + "id": 1340, + "members": [ + { + "id": 1337, + "name": "ACCEPTED", + "nameLocation": "481:8:2", + "nodeType": "EnumValue", + "src": "481:8:2" + }, + { + "id": 1338, + "name": "REJECTED", + "nameLocation": "500:8:2", + "nodeType": "EnumValue", + "src": "500:8:2" + }, + { + "id": 1339, + "name": "PENDING", + "nameLocation": "519:7:2", + "nodeType": "EnumValue", + "src": "519:7:2" + } + ], + "name": "State", + "nameLocation": "464:5:2", + "nodeType": "EnumDefinition", + "src": "459:74:2" + }, + { + "constant": false, + "functionSelector": "33790845", + "id": 1344, + "mutability": "mutable", + "name": "licenses", + "nameLocation": "558:8:2", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "541:25:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license[]" + }, + "typeName": { + "baseType": { + "id": 1342, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1341, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1325, + "src": "541:7:2" + }, + "referencedDeclaration": 1325, + "src": "541:7:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage_ptr", + "typeString": "struct VehicleSystemTwo.license" + } + }, + "id": 1343, + "nodeType": "ArrayTypeName", + "src": "541:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystemTwo.license[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "5367cb56", + "id": 1348, + "mutability": "mutable", + "name": "licenses_requests", + "nameLocation": "598:17:2", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "573:42:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request[]" + }, + "typeName": { + "baseType": { + "id": 1346, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1345, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1336, + "src": "573:15:2" + }, + "referencedDeclaration": 1336, + "src": "573:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + } + }, + "id": 1347, + "nodeType": "ArrayTypeName", + "src": "573:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystemTwo.license_request[]" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1372, + "nodeType": "Block", + "src": "712:123:2", + "statements": [ + { + "assignments": [ + 1359 + ], + "declarations": [ + { + "constant": false, + "id": 1359, + "mutability": "mutable", + "name": "new_license", + "nameLocation": "738:11:2", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "723:26:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license" + }, + "typeName": { + "id": 1358, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1357, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1325, + "src": "723:7:2" + }, + "referencedDeclaration": 1325, + "src": "723:7:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage_ptr", + "typeString": "struct VehicleSystemTwo.license" + } + }, + "visibility": "internal" + } + ], + "id": 1365, + "initialValue": { + "arguments": [ + { + "id": 1361, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "760:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1362, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1352, + "src": "770:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1363, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "779:10:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1360, + "name": "license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "752:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_$1325_storage_ptr_$", + "typeString": "type(struct VehicleSystemTwo.license storage pointer)" + } + }, + "id": 1364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "752:38:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "723:67:2" + }, + { + "expression": { + "arguments": [ + { + "id": 1369, + "name": "new_license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1359, + "src": "815:11:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + ], + "expression": { + "id": 1366, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "801:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "801:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr_$_t_struct$_license_$1325_storage_$returns$__$bound_to$_t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystemTwo.license storage ref[] storage pointer,struct VehicleSystemTwo.license storage ref)" + } + }, + "id": 1370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "801:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1371, + "nodeType": "ExpressionStatement", + "src": "801:26:2" + } + ] + }, + "functionSelector": "1f0a3fa5", + "id": 1373, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add_license", + "nameLocation": "633:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "650:8:2", + "nodeType": "VariableDeclaration", + "scope": 1373, + "src": "645:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "645:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1352, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "665:7:2", + "nodeType": "VariableDeclaration", + "scope": 1373, + "src": "660:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1351, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "660:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1354, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "688:10:2", + "nodeType": "VariableDeclaration", + "scope": 1373, + "src": "674:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1353, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "674:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "644:55:2" + }, + "returnParameters": { + "id": 1356, + "nodeType": "ParameterList", + "parameters": [], + "src": "712:0:2" + }, + "scope": 1730, + "src": "624:211:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1406, + "nodeType": "Block", + "src": "910:207:2", + "statements": [ + { + "body": { + "id": 1404, + "nodeType": "Block", + "src": "973:137:2", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1392, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "1004:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1393, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "1007:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1391, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "992:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "992:27:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1403, + "nodeType": "IfStatement", + "src": "988:111:2", + "trueBody": { + "id": 1402, + "nodeType": "Block", + "src": "1034:65:2", + "statements": [ + { + "expression": { + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1395, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "1053:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1397, + "indexExpression": { + "id": 1396, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "1062:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1053:11:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage", + "typeString": "struct VehicleSystemTwo.license storage ref" + } + }, + "id": 1398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 1320, + "src": "1053:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1399, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "1075:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1053:30:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1401, + "nodeType": "ExpressionStatement", + "src": "1053:30:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1384, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "938:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1385, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "942:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "942:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "938:19:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1405, + "initializationExpression": { + "assignments": [ + 1381 + ], + "declarations": [ + { + "constant": false, + "id": 1381, + "mutability": "mutable", + "name": "i", + "nameLocation": "931:1:2", + "nodeType": "VariableDeclaration", + "scope": 1405, + "src": "926:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "926:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1383, + "initialValue": { + "hexValue": "30", + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "935:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "926:10:2" + }, + "loopExpression": { + "expression": { + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "959:3:2", + "subExpression": { + "id": 1388, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "959:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1390, + "nodeType": "ExpressionStatement", + "src": "959:3:2" + }, + "nodeType": "ForStatement", + "src": "921:189:2" + } + ] + }, + "functionSelector": "007d43cd", + "id": 1407, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "edit_license", + "nameLocation": "852:12:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1375, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "870:11:2", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "865:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1374, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "865:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "888:8:2", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "883:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1376, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "883:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "864:33:2" + }, + "returnParameters": { + "id": 1379, + "nodeType": "ParameterList", + "parameters": [], + "src": "910:0:2" + }, + "scope": 1730, + "src": "843:274:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1453, + "nodeType": "Block", + "src": "1220:347:2", + "statements": [ + { + "body": { + "id": 1451, + "nodeType": "Block", + "src": "1274:286:2", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1428, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1305:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1429, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "1308:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1427, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "1293:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1293:27:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1450, + "nodeType": "IfStatement", + "src": "1289:260:2", + "trueBody": { + "id": 1449, + "nodeType": "Block", + "src": "1322:227:2", + "statements": [ + { + "assignments": [ + 1433 + ], + "declarations": [ + { + "constant": false, + "id": 1433, + "mutability": "mutable", + "name": "new_license_request", + "nameLocation": "1364:19:2", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "1341:42:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + }, + "typeName": { + "id": 1432, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1431, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1336, + "src": "1341:15:2" + }, + "referencedDeclaration": 1336, + "src": "1341:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 1442, + "initialValue": { + "arguments": [ + { + "id": 1435, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1413, + "src": "1402:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1436, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "1412:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1437, + "name": "LicenseRequestType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1421:18:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_LicenseRequestType_$1318_$", + "typeString": "type(enum VehicleSystemTwo.LicenseRequestType)" + } + }, + "id": 1438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "RENEWAL_LICENSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 1317, + "src": "1421:34:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$1318", + "typeString": "enum VehicleSystemTwo.LicenseRequestType" + } + }, + { + "expression": { + "id": 1439, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "1457:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$1340_$", + "typeString": "type(enum VehicleSystemTwo.State)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PENDING", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "1457:13:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_LicenseRequestType_$1318", + "typeString": "enum VehicleSystemTwo.LicenseRequestType" + }, + { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + ], + "id": 1434, + "name": "license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "1386:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_request_$1336_storage_ptr_$", + "typeString": "type(struct VehicleSystemTwo.license_request storage pointer)" + } + }, + "id": 1441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1386:85:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1341:130:2" + }, + { + "expression": { + "arguments": [ + { + "id": 1446, + "name": "new_license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1433, + "src": "1513:19:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + ], + "expression": { + "id": 1443, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "1490:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "1490:22:2", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_request_$1336_storage_$dyn_storage_ptr_$_t_struct$_license_request_$1336_storage_$returns$__$bound_to$_t_array$_t_struct$_license_request_$1336_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystemTwo.license_request storage ref[] storage pointer,struct VehicleSystemTwo.license_request storage ref)" + } + }, + "id": 1447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1490:43:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1448, + "nodeType": "ExpressionStatement", + "src": "1490:43:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1420, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1248:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1421, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "1252:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1252:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1248:19:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1452, + "initializationExpression": { + "assignments": [ + 1417 + ], + "declarations": [ + { + "constant": false, + "id": 1417, + "mutability": "mutable", + "name": "i", + "nameLocation": "1241:1:2", + "nodeType": "VariableDeclaration", + "scope": 1452, + "src": "1236:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1416, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1236:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1419, + "initialValue": { + "hexValue": "30", + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1245:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1236:10:2" + }, + "loopExpression": { + "expression": { + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1269:3:2", + "subExpression": { + "id": 1424, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1269:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1426, + "nodeType": "ExpressionStatement", + "src": "1269:3:2" + }, + "nodeType": "ForStatement", + "src": "1231:329:2" + } + ] + }, + "functionSelector": "2ca052ce", + "id": 1454, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "request_to_renewal_licence", + "nameLocation": "1134:26:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1409, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "1166:11:2", + "nodeType": "VariableDeclaration", + "scope": 1454, + "src": "1161:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1408, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1161:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1411, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "1184:7:2", + "nodeType": "VariableDeclaration", + "scope": 1454, + "src": "1179:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1410, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1179:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1413, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "1198:8:2", + "nodeType": "VariableDeclaration", + "scope": 1454, + "src": "1193:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1412, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1193:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1160:47:2" + }, + "returnParameters": { + "id": 1415, + "nodeType": "ParameterList", + "parameters": [], + "src": "1220:0:2" + }, + "scope": 1730, + "src": "1125:442:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1479, + "nodeType": "Block", + "src": "1655:208:2", + "statements": [ + { + "assignments": [ + 1463 + ], + "declarations": [ + { + "constant": false, + "id": 1463, + "mutability": "mutable", + "name": "new_license_request", + "nameLocation": "1691:19:2", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1668:42:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + }, + "typeName": { + "id": 1462, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1461, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1336, + "src": "1668:15:2" + }, + "referencedDeclaration": 1336, + "src": "1668:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 1472, + "initialValue": { + "arguments": [ + { + "id": 1465, + "name": "_user_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1458, + "src": "1729:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1466, + "name": "_car_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "1739:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1467, + "name": "LicenseRequestType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1748:18:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_LicenseRequestType_$1318_$", + "typeString": "type(enum VehicleSystemTwo.LicenseRequestType)" + } + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "FIRST_TIME_LICENSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 1316, + "src": "1748:37:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_LicenseRequestType_$1318", + "typeString": "enum VehicleSystemTwo.LicenseRequestType" + } + }, + { + "expression": { + "id": 1469, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "1787:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$1340_$", + "typeString": "type(enum VehicleSystemTwo.State)" + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PENDING", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "1787:13:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_LicenseRequestType_$1318", + "typeString": "enum VehicleSystemTwo.LicenseRequestType" + }, + { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + ], + "id": 1464, + "name": "license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "1713:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_request_$1336_storage_ptr_$", + "typeString": "type(struct VehicleSystemTwo.license_request storage pointer)" + } + }, + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1713:88:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1668:133:2" + }, + { + "expression": { + "arguments": [ + { + "id": 1476, + "name": "new_license_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1463, + "src": "1835:19:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + ], + "expression": { + "id": 1473, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "1812:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "1812:22:2", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_request_$1336_storage_$dyn_storage_ptr_$_t_struct$_license_request_$1336_storage_$returns$__$bound_to$_t_array$_t_struct$_license_request_$1336_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystemTwo.license_request storage ref[] storage pointer,struct VehicleSystemTwo.license_request storage ref)" + } + }, + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1812:43:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1478, + "nodeType": "ExpressionStatement", + "src": "1812:43:2" + } + ] + }, + "functionSelector": "086ae1cf", + "id": 1480, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "request_to_first_time_licence", + "nameLocation": "1584:29:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1456, + "mutability": "mutable", + "name": "_car_id", + "nameLocation": "1619:7:2", + "nodeType": "VariableDeclaration", + "scope": 1480, + "src": "1614:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1614:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1458, + "mutability": "mutable", + "name": "_user_id", + "nameLocation": "1633:8:2", + "nodeType": "VariableDeclaration", + "scope": 1480, + "src": "1628:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1457, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1628:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1613:29:2" + }, + "returnParameters": { + "id": 1460, + "nodeType": "ParameterList", + "parameters": [], + "src": "1655:0:2" + }, + "scope": 1730, + "src": "1575:288:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1523, + "nodeType": "Block", + "src": "1991:292:2", + "statements": [ + { + "body": { + "id": 1514, + "nodeType": "Block", + "src": "2063:158:2", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1501, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1490, + "src": "2094:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1502, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "2097:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1500, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "2082:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2082:35:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1513, + "nodeType": "IfStatement", + "src": "2078:132:2", + "trueBody": { + "id": 1512, + "nodeType": "Block", + "src": "2132:78:2", + "statements": [ + { + "expression": { + "id": 1510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1504, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "2151:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1506, + "indexExpression": { + "id": 1505, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1490, + "src": "2169:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2151:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref" + } + }, + "id": 1507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "2151:26:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1508, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "2180:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$1340_$", + "typeString": "type(enum VehicleSystemTwo.State)" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACCEPTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "2180:14:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "src": "2151:43:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "id": 1511, + "nodeType": "ExpressionStatement", + "src": "2151:43:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1493, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1490, + "src": "2019:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1494, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "2023:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2023:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2019:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1515, + "initializationExpression": { + "assignments": [ + 1490 + ], + "declarations": [ + { + "constant": false, + "id": 1490, + "mutability": "mutable", + "name": "i", + "nameLocation": "2012:1:2", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "2007:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1489, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2007:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1492, + "initialValue": { + "hexValue": "30", + "id": 1491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2016:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2007:10:2" + }, + "loopExpression": { + "expression": { + "id": 1498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2049:3:2", + "subExpression": { + "id": 1497, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1490, + "src": "2049:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1499, + "nodeType": "ExpressionStatement", + "src": "2049:3:2" + }, + "nodeType": "ForStatement", + "src": "2002:219:2" + }, + { + "expression": { + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1516, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "2231:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1518, + "indexExpression": { + "id": 1517, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "2240:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2231:21:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage", + "typeString": "struct VehicleSystemTwo.license storage ref" + } + }, + "id": 1519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "expire_at", + "nodeType": "MemberAccess", + "referencedDeclaration": 1324, + "src": "2231:31:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1520, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "2265:10:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2231:44:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1522, + "nodeType": "ExpressionStatement", + "src": "2231:44:2" + } + ] + }, + "functionSelector": "f5701cfe", + "id": 1524, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "accept_to_request_renewal_license", + "nameLocation": "1880:33:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1482, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "1919:19:2", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "1914:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1481, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1914:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "1945:11:2", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "1940:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1483, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1940:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "1972:10:2", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "1958:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1485, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1958:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1913:70:2" + }, + "returnParameters": { + "id": 1488, + "nodeType": "ParameterList", + "parameters": [], + "src": "1991:0:2" + }, + "scope": 1730, + "src": "1871:412:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1585, + "nodeType": "Block", + "src": "2396:524:2", + "statements": [ + { + "assignments": [ + 1533 + ], + "declarations": [ + { + "constant": false, + "id": 1533, + "mutability": "mutable", + "name": "current_licenses_request", + "nameLocation": "2430:24:2", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2407:47:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + }, + "typeName": { + "id": 1532, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1531, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1336, + "src": "2407:15:2" + }, + "referencedDeclaration": 1336, + "src": "2407:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 1534, + "nodeType": "VariableDeclarationStatement", + "src": "2407:47:2" + }, + { + "body": { + "id": 1566, + "nodeType": "Block", + "src": "2526:224:2", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1547, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "2557:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1548, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1526, + "src": "2560:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1546, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "2545:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:35:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1565, + "nodeType": "IfStatement", + "src": "2541:198:2", + "trueBody": { + "id": 1564, + "nodeType": "Block", + "src": "2595:144:2", + "statements": [ + { + "expression": { + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1550, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1533, + "src": "2614:24:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 1551, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "2641:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1553, + "indexExpression": { + "id": 1552, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "2659:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2641:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref" + } + }, + "src": "2614:47:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "id": 1555, + "nodeType": "ExpressionStatement", + "src": "2614:47:2" + }, + { + "expression": { + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1556, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "2680:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1558, + "indexExpression": { + "id": 1557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "2698:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2680:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref" + } + }, + "id": 1559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "2680:26:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1560, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "2709:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$1340_$", + "typeString": "type(enum VehicleSystemTwo.State)" + } + }, + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACCEPTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "2709:14:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "src": "2680:43:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "id": 1563, + "nodeType": "ExpressionStatement", + "src": "2680:43:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1539, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "2482:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1540, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "2486:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2486:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2482:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1567, + "initializationExpression": { + "assignments": [ + 1536 + ], + "declarations": [ + { + "constant": false, + "id": 1536, + "mutability": "mutable", + "name": "i", + "nameLocation": "2475:1:2", + "nodeType": "VariableDeclaration", + "scope": 1567, + "src": "2470:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1535, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2470:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1538, + "initialValue": { + "hexValue": "30", + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2479:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2470:10:2" + }, + "loopExpression": { + "expression": { + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2512:3:2", + "subExpression": { + "id": 1543, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "2512:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1545, + "nodeType": "ExpressionStatement", + "src": "2512:3:2" + }, + "nodeType": "ForStatement", + "src": "2465:285:2" + }, + { + "assignments": [ + 1570 + ], + "declarations": [ + { + "constant": false, + "id": 1570, + "mutability": "mutable", + "name": "new_license", + "nameLocation": "2775:11:2", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2760:26:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license" + }, + "typeName": { + "id": 1569, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1568, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1325, + "src": "2760:7:2" + }, + "referencedDeclaration": 1325, + "src": "2760:7:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage_ptr", + "typeString": "struct VehicleSystemTwo.license" + } + }, + "visibility": "internal" + } + ], + "id": 1578, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 1572, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1533, + "src": "2797:24:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "id": 1573, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 1327, + "src": "2797:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1574, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1533, + "src": "2831:24:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "id": 1575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "car_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 1329, + "src": "2831:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1576, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "2864:10:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1571, + "name": "license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "2789:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_$1325_storage_ptr_$", + "typeString": "type(struct VehicleSystemTwo.license storage pointer)" + } + }, + "id": 1577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2789:86:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2760:115:2" + }, + { + "expression": { + "arguments": [ + { + "id": 1582, + "name": "new_license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "2900:11:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + ], + "expression": { + "id": 1579, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "2886:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "2886:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr_$_t_struct$_license_$1325_storage_$returns$__$bound_to$_t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystemTwo.license storage ref[] storage pointer,struct VehicleSystemTwo.license storage ref)" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2886:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1584, + "nodeType": "ExpressionStatement", + "src": "2886:26:2" + } + ] + }, + "functionSelector": "2e0ba53e", + "id": 1586, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "accept_to_request_first_time_license", + "nameLocation": "2300:36:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1526, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "2342:19:2", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "2337:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1525, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2337:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "2377:10:2", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "2363:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1527, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2363:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2336:52:2" + }, + "returnParameters": { + "id": 1530, + "nodeType": "ParameterList", + "parameters": [], + "src": "2396:0:2" + }, + "scope": 1730, + "src": "2291:629:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1629, + "nodeType": "Block", + "src": "3048:292:2", + "statements": [ + { + "body": { + "id": 1620, + "nodeType": "Block", + "src": "3120:158:2", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1607, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3151:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1608, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "3154:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1606, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "3139:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3139:35:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1619, + "nodeType": "IfStatement", + "src": "3135:132:2", + "trueBody": { + "id": 1618, + "nodeType": "Block", + "src": "3189:78:2", + "statements": [ + { + "expression": { + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1610, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "3208:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1612, + "indexExpression": { + "id": 1611, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3226:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3208:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref" + } + }, + "id": 1613, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "3208:26:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1614, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "3237:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$1340_$", + "typeString": "type(enum VehicleSystemTwo.State)" + } + }, + "id": 1615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 1338, + "src": "3237:14:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "src": "3208:43:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "id": 1617, + "nodeType": "ExpressionStatement", + "src": "3208:43:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1599, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3076:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1600, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "3080:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3080:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3076:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1621, + "initializationExpression": { + "assignments": [ + 1596 + ], + "declarations": [ + { + "constant": false, + "id": 1596, + "mutability": "mutable", + "name": "i", + "nameLocation": "3069:1:2", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "3064:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1595, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3064:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1598, + "initialValue": { + "hexValue": "30", + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3073:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3064:10:2" + }, + "loopExpression": { + "expression": { + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3106:3:2", + "subExpression": { + "id": 1603, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3106:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1605, + "nodeType": "ExpressionStatement", + "src": "3106:3:2" + }, + "nodeType": "ForStatement", + "src": "3059:219:2" + }, + { + "expression": { + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1622, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "3288:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1624, + "indexExpression": { + "id": 1623, + "name": "_license_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "3297:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3288:21:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage", + "typeString": "struct VehicleSystemTwo.license storage ref" + } + }, + "id": 1625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "expire_at", + "nodeType": "MemberAccess", + "referencedDeclaration": 1324, + "src": "3288:31:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1626, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "3322:10:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3288:44:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1628, + "nodeType": "ExpressionStatement", + "src": "3288:44:2" + } + ] + }, + "functionSelector": "90e8fc91", + "id": 1630, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reject_to_request_renewal_license", + "nameLocation": "2937:33:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1588, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "2976:19:2", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "2971:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1587, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2971:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1590, + "mutability": "mutable", + "name": "_license_id", + "nameLocation": "3002:11:2", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "2997:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1589, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2997:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1592, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "3029:10:2", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "3015:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1591, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3015:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2970:70:2" + }, + "returnParameters": { + "id": 1594, + "nodeType": "ParameterList", + "parameters": [], + "src": "3048:0:2" + }, + "scope": 1730, + "src": "2928:412:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1691, + "nodeType": "Block", + "src": "3453:524:2", + "statements": [ + { + "assignments": [ + 1639 + ], + "declarations": [ + { + "constant": false, + "id": 1639, + "mutability": "mutable", + "name": "current_licenses_request", + "nameLocation": "3487:24:2", + "nodeType": "VariableDeclaration", + "scope": 1691, + "src": "3464:47:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + }, + "typeName": { + "id": 1638, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1637, + "name": "license_request", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1336, + "src": "3464:15:2" + }, + "referencedDeclaration": 1336, + "src": "3464:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage_ptr", + "typeString": "struct VehicleSystemTwo.license_request" + } + }, + "visibility": "internal" + } + ], + "id": 1640, + "nodeType": "VariableDeclarationStatement", + "src": "3464:47:2" + }, + { + "body": { + "id": 1672, + "nodeType": "Block", + "src": "3583:224:2", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1653, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "3614:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1654, + "name": "_license_request_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1632, + "src": "3617:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1652, + "name": "compareUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "3602:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3602:35:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1671, + "nodeType": "IfStatement", + "src": "3598:198:2", + "trueBody": { + "id": 1670, + "nodeType": "Block", + "src": "3652:144:2", + "statements": [ + { + "expression": { + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1656, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1639, + "src": "3671:24:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 1657, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "3698:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1659, + "indexExpression": { + "id": 1658, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "3716:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3698:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref" + } + }, + "src": "3671:47:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "id": 1661, + "nodeType": "ExpressionStatement", + "src": "3671:47:2" + }, + { + "expression": { + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1662, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "3737:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1664, + "indexExpression": { + "id": 1663, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "3755:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3737:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref" + } + }, + "id": 1665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "3737:26:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1666, + "name": "State", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "3766:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_State_$1340_$", + "typeString": "type(enum VehicleSystemTwo.State)" + } + }, + "id": 1667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": 1338, + "src": "3766:14:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "src": "3737:43:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_State_$1340", + "typeString": "enum VehicleSystemTwo.State" + } + }, + "id": 1669, + "nodeType": "ExpressionStatement", + "src": "3737:43:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1645, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "3539:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1646, + "name": "licenses_requests", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "3543:17:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_request_$1336_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license_request storage ref[] storage ref" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3543:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3539:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1673, + "initializationExpression": { + "assignments": [ + 1642 + ], + "declarations": [ + { + "constant": false, + "id": 1642, + "mutability": "mutable", + "name": "i", + "nameLocation": "3532:1:2", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "3527:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1641, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3527:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1644, + "initialValue": { + "hexValue": "30", + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3536:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3527:10:2" + }, + "loopExpression": { + "expression": { + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3569:3:2", + "subExpression": { + "id": 1649, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "3569:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1651, + "nodeType": "ExpressionStatement", + "src": "3569:3:2" + }, + "nodeType": "ForStatement", + "src": "3522:285:2" + }, + { + "assignments": [ + 1676 + ], + "declarations": [ + { + "constant": false, + "id": 1676, + "mutability": "mutable", + "name": "new_license", + "nameLocation": "3832:11:2", + "nodeType": "VariableDeclaration", + "scope": 1691, + "src": "3817:26:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license" + }, + "typeName": { + "id": 1675, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1674, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1325, + "src": "3817:7:2" + }, + "referencedDeclaration": 1325, + "src": "3817:7:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage_ptr", + "typeString": "struct VehicleSystemTwo.license" + } + }, + "visibility": "internal" + } + ], + "id": 1684, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 1678, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1639, + "src": "3854:24:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 1327, + "src": "3854:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1680, + "name": "current_licenses_request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1639, + "src": "3888:24:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_request_$1336_memory_ptr", + "typeString": "struct VehicleSystemTwo.license_request memory" + } + }, + "id": 1681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "car_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 1329, + "src": "3888:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1682, + "name": "_expire_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "3921:10:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1677, + "name": "license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "3846:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_license_$1325_storage_ptr_$", + "typeString": "type(struct VehicleSystemTwo.license storage pointer)" + } + }, + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3846:86:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3817:115:2" + }, + { + "expression": { + "arguments": [ + { + "id": 1688, + "name": "new_license", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "3957:11:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_license_$1325_memory_ptr", + "typeString": "struct VehicleSystemTwo.license memory" + } + ], + "expression": { + "id": 1685, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "3943:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "id": 1687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "3943:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr_$_t_struct$_license_$1325_storage_$returns$__$bound_to$_t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr_$", + "typeString": "function (struct VehicleSystemTwo.license storage ref[] storage pointer,struct VehicleSystemTwo.license storage ref)" + } + }, + "id": 1689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3943:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1690, + "nodeType": "ExpressionStatement", + "src": "3943:26:2" + } + ] + }, + "functionSelector": "4079a6c0", + "id": 1692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reject_to_request_first_time_license", + "nameLocation": "3357:36:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1632, + "mutability": "mutable", + "name": "_license_request_id", + "nameLocation": "3399:19:2", + "nodeType": "VariableDeclaration", + "scope": 1692, + "src": "3394:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1631, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3394:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1634, + "mutability": "mutable", + "name": "_expire_at", + "nameLocation": "3434:10:2", + "nodeType": "VariableDeclaration", + "scope": 1692, + "src": "3420:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1633, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3420:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3393:52:2" + }, + "returnParameters": { + "id": 1636, + "nodeType": "ParameterList", + "parameters": [], + "src": "3453:0:2" + }, + "scope": 1730, + "src": "3348:629:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1701, + "nodeType": "Block", + "src": "4047:34:2", + "statements": [ + { + "expression": { + "id": 1699, + "name": "licenses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "4065:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage", + "typeString": "struct VehicleSystemTwo.license storage ref[] storage ref" + } + }, + "functionReturnParameters": 1698, + "id": 1700, + "nodeType": "Return", + "src": "4058:15:2" + } + ] + }, + "functionSelector": "b0a951c2", + "id": 1702, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get_licenses", + "nameLocation": "3994:12:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1693, + "nodeType": "ParameterList", + "parameters": [], + "src": "4006:2:2" + }, + "returnParameters": { + "id": 1698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1697, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "4030:16:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VehicleSystemTwo.license[]" + }, + "typeName": { + "baseType": { + "id": 1695, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1694, + "name": "license", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1325, + "src": "4030:7:2" + }, + "referencedDeclaration": 1325, + "src": "4030:7:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_license_$1325_storage_ptr", + "typeString": "struct VehicleSystemTwo.license" + } + }, + "id": 1696, + "nodeType": "ArrayTypeName", + "src": "4030:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_license_$1325_storage_$dyn_storage_ptr", + "typeString": "struct VehicleSystemTwo.license[]" + } + }, + "visibility": "internal" + } + ], + "src": "4029:18:2" + }, + "scope": 1730, + "src": "3985:96:2", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1728, + "nodeType": "Block", + "src": "4153:96:2", + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1714, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1704, + "src": "4200:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1715, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4199:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1712, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "4182:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4182:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4182:21:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1711, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "4172:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4172:32:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "components": [ + { + "id": 1721, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1706, + "src": "4236:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1722, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4235:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1719, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "4218:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4218:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4218:21:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1718, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "4208:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4208:32:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4172:68:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1726, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4171:70:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1710, + "id": 1727, + "nodeType": "Return", + "src": "4164:77:2" + } + ] + }, + "functionSelector": "b4e74eb8", + "id": 1729, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compareUint", + "nameLocation": "4098:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1704, + "mutability": "mutable", + "name": "a", + "nameLocation": "4115:1:2", + "nodeType": "VariableDeclaration", + "scope": 1729, + "src": "4110:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1703, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4110:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1706, + "mutability": "mutable", + "name": "b", + "nameLocation": "4123:1:2", + "nodeType": "VariableDeclaration", + "scope": 1729, + "src": "4118:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1705, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4118:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4109:16:2" + }, + "returnParameters": { + "id": 1710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1709, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1729, + "src": "4147:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1708, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4147:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4146:6:2" + }, + "scope": 1730, + "src": "4089:160:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1731, + "src": "60:4192:2", + "usedErrors": [] + } + ], + "src": "32:4222:2" + }, + "compiler": { + "name": "solc", + "version": "0.8.15+commit.e14f2714.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.7", + "updatedAt": "2022-06-15T21:22:26.681Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/config/collections.js b/config/collections.js new file mode 100644 index 00000000..1cf82699 --- /dev/null +++ b/config/collections.js @@ -0,0 +1,4 @@ +module.exports={ + ADMIN_COLLECTIONS:'admin', + USER_COLLECTIONS:'user', +} \ No newline at end of file diff --git a/config/connection.js b/config/connection.js new file mode 100644 index 00000000..1932241b --- /dev/null +++ b/config/connection.js @@ -0,0 +1,22 @@ +const mongoClient = require('mongodb').MongoClient + +const state = { + db:null + +} + +module.exports.connect=function(done){ + const url ="mongodb://localhost:27017/" + const dbName="dbname" + mongoClient.connect(url,(err,data)=>{ + if(err){ + return done(err); + } + state.db=data.db(dbName) + done() + }) +} + +module.exports.get= function(){ + return state.db +} \ No newline at end of file diff --git a/contracts/Migrations.sol b/contracts/Migrations.sol new file mode 100644 index 00000000..9aac9750 --- /dev/null +++ b/contracts/Migrations.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.4.22 <0.9.0; + +contract Migrations { + address public owner = msg.sender; + uint public last_completed_migration; + + modifier restricted() { + require( + msg.sender == owner, + "This function is restricted to the contract's owner" + ); + _; + } + + function setCompleted(uint completed) public restricted { + last_completed_migration = completed; + } +} diff --git a/contracts/VehicleSystem.sol b/contracts/VehicleSystem.sol new file mode 100644 index 00000000..b5388008 --- /dev/null +++ b/contracts/VehicleSystem.sol @@ -0,0 +1,429 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.11; + +contract VehicleSystem +{ + + enum Role{ + CUSTOMER, + MANUFACTURE, + BANK, + ADMIN + } + + enum LicenseRequestType{ + FIRST_TIME_LICENSE, + RENEWAL_LICENSE + } + + enum State { + ACCEPTED, + REJECTED, + PENDING + } + + struct manufacture + { + uint user_id; + string manufacture_name; + } + + struct bank + { + uint user_id; + string bank_name; + } + + struct vehicle + { + string vehicle_name; + string vehicle_type; + string vehicle_model; + string vehicle_motor_number; + string vehicle_chase_number; + uint vehicle_manufacture_id; + string vehicle_color; + string vehicle_production_Year; + bool isBlocked; + uint user_id; + } + + struct user + { + address user_address; + string user_name; + string user_email; + string user_password; + string user_phone; + string user_national_id; + Role role; + } + + struct traffic_violation + { + uint vehicle_id; + string violation_description; + string violation_type; + } + + struct license + { + uint user_id; + uint car_id; + string expire_at; + } + + struct license_request + { + uint user_id; + uint car_id; + LicenseRequestType license_request_type; + State state; + } + + struct ban_sale_request { + uint user_id; + uint car_id; + State state; + } + + manufacture[] public manufactures; + bank[] public banks; + vehicle[] public vehicles; + user[] public users; + traffic_violation[] public traffic_violations; + license[] public licenses; + license_request[] public licenses_requests; + ban_sale_request[] public ban_sale_requests; + + function register(address _user_address, string memory _user_name, string memory _user_email, string memory _user_phone, string memory _user_password, string memory _user_national_id, Role role) public returns (bool) + { + user memory temp_hold_user = user(_user_address, _user_name, _user_email, _user_password, _user_phone, _user_national_id, role); + users.push(temp_hold_user); + return true; + } + + function login(string memory _user_email, string memory _user_password) public view returns (int) + { + for (uint i = 0; i < users.length; i++) + { + string memory user_name = users[i].user_email; + string memory user_password = users[i].user_password; + if (compareStrings(user_name, _user_email)) + { + if (compareStrings(user_password, _user_password)) + { + return int(i); + } + } + } + return - 1; + } + + function get_user(uint user_id) public view returns (user memory){ + return users[user_id]; + } + + function get_user_id_with_address(address _user_address) public view returns (int){ + for (uint i = 0; i < users.length; i++) + { + if (compareAddress(_user_address, users[i].user_address)) + { + return int(i); + } + } + return - 1; + } + + function edit_user(uint _user_id, string memory _user_phone, string memory _user_password) public returns (bool) + { + for (uint i = 0; i < users.length; i++) + { + if (compareUint(i, _user_id)) + { + users[i].user_password = _user_password; + users[i].user_phone = _user_phone; + return true; + } + } + return false; + } + + function get_users() public view returns (user[] memory){ + return users; + } + + function users_length() public view returns (uint){ + return users.length; + } + + function add_manufacture(uint _user_id, string memory _manufacture_name) public { + manufacture memory _manufacture = manufacture(_user_id, _manufacture_name); + manufactures.push(_manufacture); + } + + function edit_manufacture(uint _manufacture_id, string memory _manufacture_name) public + { + for (uint i = 0; i < manufactures.length; i++) + { + uint current_manufacture_id = i; + if (compareUint(current_manufacture_id, _manufacture_id)) + { + manufactures[i].manufacture_name = _manufacture_name; + } + } + } + + function get_manufactures() public view returns (manufacture[] memory){ + return manufactures; + } + + function manufactures_length() public view returns (uint){ + return manufactures.length; + } + + function add_bank(uint _user_id, string memory _name) public { + bank memory new_bank = bank(_user_id, _name); + banks.push(new_bank); + } + + function edit_bank(uint _bank_id, uint _user_id, string memory _name) public + { + for (uint i = 0; i < banks.length; i++) { + if (compareUint(_bank_id, i)) { + banks[i].user_id = _user_id; + banks[i].bank_name = _name; + } + } + } + + function get_bank(uint _bank_id) public view returns (bank memory){ + return banks[_bank_id]; + } + + function get_banks() public view returns (bank[] memory){ + return banks; + } + + function banks_length() public view returns (uint){ + return banks.length; + } + + function add_vehicle( + uint _manufacture_user_id, + string memory _vehicle_name, + string memory _vehicle_type, + string memory _vehicle_model, + string memory _vehicle_motor_number, + string memory _vehicle_chase_number, + string memory _vehicle_color, + string memory _vehicle_production_Year, + bool _isBlocked, + uint _owner_id + ) public { + vehicle memory new_vehicle = vehicle( + _vehicle_name, + _vehicle_type, + _vehicle_model, + _vehicle_motor_number, + _vehicle_chase_number, + _manufacture_user_id, + _vehicle_color, + _vehicle_production_Year, + _isBlocked, + _owner_id + ); + vehicles.push(new_vehicle); + } + + function edit_vehicle( + uint _vehicle_id, + uint _owner_id, + string memory _vehicle_color + ) public + { + for (uint i = 0; i < vehicles.length; i++) { + if (compareUint(_vehicle_id, i)) { + vehicles[i].vehicle_color = _vehicle_color; + vehicles[i].user_id = _owner_id; + } + } + } + + function get_vehicle(uint _vehicle_id) public view returns (vehicle memory){ + return vehicles[_vehicle_id]; + } + + function get_vehicles() public view returns (vehicle[] memory){ + return vehicles; + } + + function vehicles_length() public view returns (uint){ + return vehicles.length; + } + + function add_license(uint _user_id, uint _car_id, string memory _expire_at) public + { + license memory new_license = license(_user_id, _car_id, _expire_at); + licenses.push(new_license); + } + + function edit_license(uint _license_id, uint _user_id) public + { + for (uint i = 0; i < licenses.length; i++) + { + if (compareUint(i, _license_id)) + { + licenses[i].user_id = _user_id; + } + } + } + + function renewal_license(uint _license_id, string memory _expire_at) public { + licenses[_license_id].expire_at = _expire_at; + } + + function request_to_renewal_licence(uint _license_id, uint _car_id, uint _user_id) public + { + for (uint i = 0; i < licenses.length; i++) { + if (compareUint(i, _license_id)) { + license_request memory new_license_request = license_request(_user_id, _car_id, LicenseRequestType.RENEWAL_LICENSE, State.PENDING); + licenses_requests.push(new_license_request); + } + } + } + + function request_to_first_time_licence(uint _car_id, uint _user_id) public + { + + license_request memory new_license_request = license_request(_user_id, _car_id, LicenseRequestType.FIRST_TIME_LICENSE, State.PENDING); + licenses_requests.push(new_license_request); + } + + function accept_to_request_renewal_license(uint _license_request_id, uint _license_id, string memory _expire_at) public { + for (uint i = 0; i < licenses_requests.length; i++) + { + if (compareUint(i, _license_request_id)) + { + licenses_requests[i].state = State.ACCEPTED; + } + } + licenses[_license_id].expire_at = _expire_at; + } + + function accept_to_request_first_time_license(uint _license_request_id, string memory _expire_at) public { + license_request memory current_licenses_request; + for (uint i = 0; i < licenses_requests.length; i++) + { + if (compareUint(i, _license_request_id)) + { + current_licenses_request = licenses_requests[i]; + licenses_requests[i].state = State.ACCEPTED; + } + } + license memory new_license = license(current_licenses_request.user_id, current_licenses_request.car_id, _expire_at); + licenses.push(new_license); + } + + function reject_to_request_renewal_license(uint _license_request_id, uint _license_id, string memory _expire_at) public { + for (uint i = 0; i < licenses_requests.length; i++) + { + if (compareUint(i, _license_request_id)) + { + licenses_requests[i].state = State.REJECTED; + } + } + licenses[_license_id].expire_at = _expire_at; + } + + function reject_to_request_first_time_license(uint _license_request_id, string memory _expire_at) public { + license_request memory current_licenses_request; + for (uint i = 0; i < licenses_requests.length; i++) + { + if (compareUint(i, _license_request_id)) + { + current_licenses_request = licenses_requests[i]; + licenses_requests[i].state = State.REJECTED; + } + } + license memory new_license = license(current_licenses_request.user_id, current_licenses_request.car_id, _expire_at); + licenses.push(new_license); + } + + + function add_traffic_violation(uint _vehicle_id, string memory _vio_type, string memory _vio_des) public + { + traffic_violation memory temp_violation = traffic_violation(_vehicle_id, _vio_type, _vio_des); + traffic_violations.push(temp_violation); + } + + function edit_traffic_violation(uint _vio_id, string memory _vio_type, string memory _vio_des) public + { + for (uint i = 0; i < traffic_violations.length; i++) + { + if (compareUint(i, _vio_id)) + { + traffic_violations[i].violation_type = _vio_type; + traffic_violations[i].violation_description = _vio_des; + } + } + } + + function request_to_remove_ban_sale(uint _car_id, uint _user_id) public + { + + ban_sale_request memory new_ban_sale_request = ban_sale_request(_user_id, _car_id, State.PENDING); + ban_sale_requests.push(new_ban_sale_request); + } + + function accept_to_request_renewal_license(uint _ban_sale_request_id, uint _car_id) public { + for (uint i = 0; i < ban_sale_requests.length; i++) + { + if (compareUint(i, _ban_sale_request_id)) + { + ban_sale_requests[i].state = State.ACCEPTED; + } + } + vehicles[_car_id].isBlocked = false; + } + + function reject_to_request_renewal_license(uint _ban_sale_request_id, uint _car_id) public { + for (uint i = 0; i < ban_sale_requests.length; i++) + { + if (compareUint(i, _ban_sale_request_id)) + { + ban_sale_requests[i].state = State.REJECTED; + } + } + vehicles[_car_id].isBlocked = true; + } + + + function get_traffic_violations() public view returns (traffic_violation[] memory){ + return traffic_violations; + } + + function get_licenses() public view returns (license[] memory){ + return licenses; + } + + function traffic_violations_length() public view returns (uint){ + return traffic_violations.length; + } + + function licenses_length() public view returns (uint){ + return licenses.length; + } + + function compareAddress(address a, address b) public pure returns (bool) { + return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b)))); + } + + function compareUint(uint a, uint b) public pure returns (bool) { + return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b)))); + } + + function compareStrings(string memory a, string memory b) public pure returns (bool) { + return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b)))); + } +} diff --git a/helpers/installBanks.js b/helpers/installBanks.js new file mode 100644 index 00000000..7ca7e3c0 --- /dev/null +++ b/helpers/installBanks.js @@ -0,0 +1,24 @@ +const mainContract = require("../utilities/contract"); +const {accounts} = require("../utilities/accounts"); + +async function installBanks() { + const contract = await mainContract() + const allAccounts = await accounts() + + const banks_length = await contract.methods.banks_length().call((err, result) => { + return result + }) + + if (!parseInt(banks_length)) { + await contract.methods.add_bank(3, "Banque Misr").send({ + from: allAccounts[3], + gas: 200000000 + }) + await contract.methods.add_bank(4, "CIB").send({ + from: allAccounts[4], + gas: 200000000 + }) + } +} + +module.exports = installBanks diff --git a/helpers/installLicenses.js b/helpers/installLicenses.js new file mode 100644 index 00000000..05a08eaa --- /dev/null +++ b/helpers/installLicenses.js @@ -0,0 +1,48 @@ +const mainContract = require("../utilities/contract"); +const {accounts} = require("../utilities/accounts"); + +async function installLicenses() { + const contract = await mainContract() + const allAccounts = await accounts() + + const licenses_length = await contract.methods.licenses_length().call((err, result) => { + return result + }) + + if (!parseInt(licenses_length)) { + await contract.methods.add_license(7, 0, "1652661749000").send({ + from: allAccounts[7], + gas: 200000000 + }) + await contract.methods.add_license(7, 1, "958437749000").send({ + from: allAccounts[7], + gas: 200000000 + }) + await contract.methods.add_license(7, 2, "1835656949000").send({ + from: allAccounts[7], + gas: 200000000 + }) + await contract.methods.add_license(7, 3, "1415148149000").send({ + from: allAccounts[7], + gas: 200000000 + }) + await contract.methods.add_license(8, 4, "1765759349000").send({ + from: allAccounts[8], + gas: 200000000 + }) + await contract.methods.add_license(8, 5, "1285375349000").send({ + from: allAccounts[8], + gas: 200000000 + }) + await contract.methods.add_license(8, 6, "1717548149000").send({ + from: allAccounts[8], + gas: 200000000 + }) + await contract.methods.add_license(8, 7, "1662338549000").send({ + from: allAccounts[8], + gas: 200000000 + }) + } +} + +module.exports = installLicenses diff --git a/helpers/installManufactures.js b/helpers/installManufactures.js new file mode 100644 index 00000000..becc984a --- /dev/null +++ b/helpers/installManufactures.js @@ -0,0 +1,49 @@ +const mainContract = require("../utilities/contract"); +const {accounts} = require("../utilities/accounts"); + +async function installManufactures() { + const contract = await mainContract() + const allAccounts = await accounts() + + const manufactures_length = await contract.methods.manufactures_length().call((err, result) => { + return result + }) + + if (!parseInt(manufactures_length)) { + await contract.methods.add_manufacture(5, "Kia").send({ + from: allAccounts[5], + gas: 200000000 + }) + await contract.methods.add_manufacture(5, "BMW").send({ + from: allAccounts[5], + gas: 200000000 + }) + await contract.methods.add_manufacture(5, "Jeep").send({ + from: allAccounts[5], + gas: 200000000 + }) + await contract.methods.add_manufacture(5, "Mazda").send({ + from: allAccounts[5], + gas: 200000000 + }) + await contract.methods.add_manufacture(6, "Fiat").send({ + from: allAccounts[6], + gas: 200000000 + }) + await contract.methods.add_manufacture(6, "Honda").send({ + from: allAccounts[6], + gas: 200000000 + }) + await contract.methods.add_manufacture(6, "Hyundai").send({ + from: allAccounts[6], + gas: 200000000 + }) + await contract.methods.add_manufacture(6, "Dodge").send({ + from: allAccounts[6], + gas: 200000000 + }) + + } +} + +module.exports = installManufactures diff --git a/helpers/installUsers.js b/helpers/installUsers.js new file mode 100644 index 00000000..de0c5549 --- /dev/null +++ b/helpers/installUsers.js @@ -0,0 +1,53 @@ +const mainContract = require("../utilities/contract"); +const {accounts} = require("../utilities/accounts"); + +async function installUsers() { + const contract = await mainContract() + const allAccounts = await accounts() + + const users_length = await contract.methods.users_length().call((err, result) => { + return result + }) + + if (!parseInt(users_length)) { + + // Admins + await contract.methods.register(allAccounts[0], "Dr Mohamed Sameh", "dr.mohamed.sameh@gmail.com", "13213", "123456789", "21321321", 3).send({ + from: allAccounts[0], gas: 200000000 + }) + await contract.methods.register(allAccounts[1], "Dr Osama Emam", "dr.osama.emam@gmail.com", "13213", "123456789", "21321321", 3).send({ + from: allAccounts[1], gas: 200000000 + }) + await contract.methods.register(allAccounts[2], "Mina Sameh", "mina.sameh@gmail.com", "01271191820", "123456789", "30001004898", 3).send({ + from: allAccounts[2], gas: 200000000 + }) + + // Banks + await contract.methods.register(allAccounts[3], "Suhila Khaled", "suhila.khaled@gmail.com", "13213", "123456789", "21321321", 2).send({ + from: allAccounts[3], gas: 200000000 + }) + await contract.methods.register(allAccounts[4], "Hager Soliman", "hager.soliman@gmail.com", "13213", "123456789", "21321321", 2).send({ + from: allAccounts[4], gas: 200000000 + }) + + // Manufacturer + await contract.methods.register(allAccounts[5], "Adham Hashim", "adham.hashim@gmail.com", "13213", "123456789", "21321321", 1).send({ + from: allAccounts[5], gas: 200000000 + }) + + await contract.methods.register(allAccounts[6], "George Youssef", "george.youssef@gmail.com", "13213", "123456789", "21321321", 1).send({ + from: allAccounts[6], gas: 200000000 + }) + + // Users + await contract.methods.register(allAccounts[7], "Ahmed Badr", "ahmed.badr@gmail.com", "13213", "123456789", "21321321", 0).send({ + from: allAccounts[7], gas: 200000000 + }) + await contract.methods.register(allAccounts[7], "Youssef Mahmoud", "youssef.mahmoud@gmail.com", "13213", "123456789", "21321321", 0).send({ + from: allAccounts[8], gas: 200000000 + }) + + } +} + +module.exports = installUsers diff --git a/helpers/installVehicles.js b/helpers/installVehicles.js new file mode 100644 index 00000000..66170eef --- /dev/null +++ b/helpers/installVehicles.js @@ -0,0 +1,136 @@ +const mainContract = require("../utilities/contract"); +const {accounts} = require("../utilities/accounts"); + +async function installVehicles() { + const contract = await mainContract() + const allAccounts = await accounts() + + const vehicles_length = await contract.methods.vehicles_length().call((err, result) => { + return result + }) + + if (!parseInt(vehicles_length)) { + await contract.methods.add_vehicle( + 0, + "Kia Picanto", + "Hatchback", + "Picanto", + "47841564866", + "48686", + "red", + "2017", + false, + 7 + ).send({ + from: allAccounts[0], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 1, + "BMW X7", + "Hatchback", + "X7", + "47321384866", + "486862131", + "black", + "2022", + false, + 7 + ).send({ + from: allAccounts[1], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 2, + "Jepp Cherokee", + "Hatchback", + "Cherokee", + "61213261", + "2313123", + "Yello", + "2022", + false, + 7 + ).send({ + from: allAccounts[2], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 3, + "Jepp Cx5", + "Hatchback", + "Cx5", + "21321321", + "34563464", + "Silver", + "2021", + false, + 7 + ).send({ + from: allAccounts[3], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 4, + "Fiat 128", + "Sedan", + "128", + "213123123", + "1231231", + "White", + "1975", + false, + 8 + ).send({ + from: allAccounts[4], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 5, + "Honda Hrv", + "Hatchback", + "Hrv", + "2543671", + "21315131", + "White", + "2022", + false, + 8 + ).send({ + from: allAccounts[5], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 6, + "Hyundai Verna", + "Sedan", + "Verna", + "5228134213", + "121324153421", + "White", + "2022", + false, + 8 + ).send({ + from: allAccounts[6], + gas: 200000000 + }) + await contract.methods.add_vehicle( + 7, + "Dodge Ram", + "Sedan", + "Ram", + "213213213", + "543653542", + "White", + "2018", + false, + 8 + ).send({ + from: allAccounts[7], + gas: 200000000 + }) + } +} + +module.exports = installVehicles diff --git a/helpers/userHelpers.js b/helpers/userHelpers.js new file mode 100644 index 00000000..10861dab --- /dev/null +++ b/helpers/userHelpers.js @@ -0,0 +1,6 @@ +const db= require('../config/connection'); +const collections= require('../config/collections') + +module.exports={ + +} \ No newline at end of file diff --git a/migrations/1_vehicle_system.js b/migrations/1_vehicle_system.js new file mode 100644 index 00000000..efa6ffd3 --- /dev/null +++ b/migrations/1_vehicle_system.js @@ -0,0 +1,5 @@ +const VehicleSystem = artifacts.require("VehicleSystem"); + +module.exports = function (deployer) { + deployer.deploy(VehicleSystem); +}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..827f4aef --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4108 @@ +{ + "name": "folder", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ethereumjs/common": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.4.tgz", + "integrity": "sha512-RDJh/R/EAr+B7ZRg5LfJ0BIpf/1LydFgYdvZEuTraojCbVypO2sQ+QnpP5u2wJf9DASyooKqu8O4FJEWUV6NXw==", + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.4" + } + }, + "@ethereumjs/tx": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", + "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "requires": { + "@ethereumjs/common": "^2.6.4", + "ethereumjs-util": "^7.1.5" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", + "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", + "requires": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", + "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", + "requires": { + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "@ethersproject/address": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", + "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "requires": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "@ethersproject/base64": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", + "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", + "requires": { + "@ethersproject/bytes": "^5.6.1" + } + }, + "@ethersproject/bignumber": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", + "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", + "requires": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "bn.js": "^5.2.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "@ethersproject/bytes": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", + "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/constants": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", + "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", + "requires": { + "@ethersproject/bignumber": "^5.6.2" + } + }, + "@ethersproject/hash": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", + "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", + "requires": { + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" + } + }, + "@ethersproject/keccak256": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", + "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", + "requires": { + "@ethersproject/bytes": "^5.6.1", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", + "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" + }, + "@ethersproject/networks": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.3.tgz", + "integrity": "sha512-QZxRH7cA5Ut9TbXwZFiCyuPchdWi87ZtVNHWZd0R6YFgYtes2jQ3+bsslJ0WdyDe0i6QumqtoYqvY3rrQFRZOQ==", + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/properties": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", + "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/rlp": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", + "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", + "requires": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", + "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", + "requires": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "@ethersproject/strings": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", + "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", + "requires": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/transactions": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", + "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", + "requires": { + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2" + } + }, + "@ethersproject/web": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", + "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", + "requires": { + "@ethersproject/base64": "^5.6.1", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@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==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@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==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "16.11.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.1.tgz", + "integrity": "sha512-PYGcJHL9mwl1Ek3PLiYgyEKtwTMmkMw4vbiyz/ps3pfdRYLVv+SN7qHVAImrjdAXxgluDEw6Ph4lyv+m9UpRmA==" + }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "requires": { + "@types/node": "*" + } + }, + "@types/webidl-conversions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" + }, + "@types/whatwg-url": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", + "requires": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "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==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "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==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "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==" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "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==" + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + } + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "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==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "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==" + } + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "bson": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.5.3.tgz", + "integrity": "sha512-qVX7LX79Mtj7B3NPLzCfBiCP6RAsjiV8N63DjlaVVpZW+PFoDTxQ4SeDbSpcqgE6mXksM5CAwZnXxxxn/XwC0g==", + "requires": { + "buffer": "^5.6.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "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" + }, + "dependencies": { + "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==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "dependencies": { + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "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==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "requires": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "cookiejar": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" + }, + "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==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "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==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "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==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "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==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "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" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "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==" + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "denque": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", + "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } + } + }, + "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==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "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==", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "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==", + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "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" + } + }, + "ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "requires": { + "js-sha3": "^0.8.0" + } + }, + "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==", + "requires": { + "@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" + } + }, + "ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "requires": { + "@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" + }, + "dependencies": { + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "requires": { + "@types/node": "*" + } + }, + "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==" + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "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==" + } + } + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" + }, + "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==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + } + } + }, + "express-handlebars": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/express-handlebars/-/express-handlebars-5.3.4.tgz", + "integrity": "sha512-b36grfkbXZItLLQV6cwzA20o6Zg4Eckke3PjHF4EGQIQLGs5IPMjpAxepdGb45A/bECekXzA9STzNqvEgrdRPw==", + "requires": { + "glob": "^7.2.0", + "graceful-fs": "^4.2.7", + "handlebars": "^4.7.7" + }, + "dependencies": { + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + } + } + }, + "express-session": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", + "requires": { + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "dependencies": { + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "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==" + } + } + }, + "express-validator": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-5.3.1.tgz", + "integrity": "sha512-g8xkipBF6VxHbO1+ksC7nxUU7+pWif0+OZXjZTybKJ/V0aTVhuCoHbyhIPgSYVldwQLocGExPtB2pE0DqK4jsw==", + "requires": { + "lodash": "^4.17.10", + "validator": "^10.4.0" + } + }, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "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==" + }, + "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==" + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreachasync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", + "integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "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==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "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==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "requires": { + "ini": "2.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@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" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + }, + "handlebars": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.3.5.tgz", + "integrity": "sha512-I16T/l8X9DV3sEkY9sK9lsPRgDsj82ayBY/4pAZyP2BcX5WeRM3O06bw9kIs2GLrHvFB/DNzWWJyFvof8wQGqw==", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "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==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "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==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "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==" + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hbs": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/hbs/-/hbs-4.0.6.tgz", + "integrity": "sha512-KFt3Y4zOvVQOp84TmqVaFTpBTYO1sVenBoBY712MI3vPkKxVoO6AsuEyDayIRPRAHRYZHHWnmc4spFa8fhQpLw==", + "requires": { + "handlebars": "4.3.5", + "walk": "2.3.14" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "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==", + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==" + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=" + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "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==" + }, + "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==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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==" + }, + "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==" + }, + "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==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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==" + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "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==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "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==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", + "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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==" + }, + "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==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "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==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" + }, + "mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "requires": { + "mime-db": "1.50.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "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==" + }, + "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==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "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==", + "requires": { + "mkdirp": "*" + } + }, + "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==" + }, + "mongodb": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.1.3.tgz", + "integrity": "sha512-lHvTqODBiSpuqjpCj48DOyYWS6Iq6ElJNUiH9HWdQtONyOfjgsKzJULipWduMGsSzaNO4nFi/kmlMFCLvjox/Q==", + "requires": { + "bson": "^4.5.2", + "denque": "^2.0.1", + "mongodb-connection-string-url": "^2.0.0", + "saslprep": "^1.0.3" + } + }, + "mongodb-connection-string-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.1.0.tgz", + "integrity": "sha512-Qf9Zw7KGiRljWvMrrUFDdVqo46KIEiDuCzvEN97rh/PcKzk2bd6n9KuzEwBwW9xo5glwx69y1mI6s+jFUD/aIQ==", + "requires": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^9.1.0" + } + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "requires": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "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==" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "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==" + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "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-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==" + }, + "nodemon": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.13.tgz", + "integrity": "sha512-UMXMpsZsv1UXUttCn6gv8eQPhn6DR4BW+txnL3IN5IHqrCwcrT/yWHfL35UsClGXknTH79r5xbu+6J1zNHuSyA==", + "requires": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.3", + "update-notifier": "^5.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + }, + "noty": { + "version": "3.2.0-beta-deprecated", + "resolved": "https://registry.npmjs.org/noty/-/noty-3.2.0-beta-deprecated.tgz", + "integrity": "sha512-ntRbHuQ9SnnnVFZm/oq5L1DBCaHQUvsU24AwZH3PGjAWx2YqR/IhOadMk11vmJovYiQo00oqTj6Hp+D6PGtmLA==" + }, + "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==", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "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==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", + "requires": { + "http-https": "^1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + } + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, + "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==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "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==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "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==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "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" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "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==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "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==" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.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.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "requires": { + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, + "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==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" + }, + "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==" + }, + "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==", + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "requires": { + "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" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "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==" + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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==", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "swarm-js": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "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": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "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" + } + }, + "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==" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" + }, + "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==", + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "requires": { + "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" + }, + "dependencies": { + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "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==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" + }, + "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==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "requires": { + "nopt": "~1.0.10" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "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==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz", + "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", + "optional": true + }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "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==" + }, + "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==" + }, + "utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" + }, + "varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "walk": { + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz", + "integrity": "sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==", + "requires": { + "foreachasync": "^3.0.0" + } + }, + "web3": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.3.tgz", + "integrity": "sha512-UgBvQnKIXncGYzsiGacaiHtm0xzQ/JtGqcSO/ddzQHYxnNuwI72j1Pb4gskztLYihizV9qPNQYHMSCiBlStI9A==", + "requires": { + "web3-bzz": "1.7.3", + "web3-core": "1.7.3", + "web3-eth": "1.7.3", + "web3-eth-personal": "1.7.3", + "web3-net": "1.7.3", + "web3-shh": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-bzz": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.3.tgz", + "integrity": "sha512-y2i2IW0MfSqFc1JBhBSQ59Ts9xE30hhxSmLS13jLKWzie24/An5dnoGarp2rFAy20tevJu1zJVPYrEl14jiL5w==", + "requires": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40" + }, + "dependencies": { + "@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==" + } + } + }, + "web3-core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.3.tgz", + "integrity": "sha512-4RNxueGyevD1XSjdHE57vz/YWRHybpcd3wfQS33fgMyHZBVLFDNwhn+4dX4BeofVlK/9/cmPAokLfBUStZMLdw==", + "requires": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-requestmanager": "1.7.3", + "web3-utils": "1.7.3" + }, + "dependencies": { + "@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==" + } + } + }, + "web3-core-helpers": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.3.tgz", + "integrity": "sha512-qS2t6UKLhRV/6C7OFHtMeoHphkcA+CKUr2vfpxy4hubs3+Nj28K9pgiqFuvZiXmtEEwIAE2A28GBOC3RdcSuFg==", + "requires": { + "web3-eth-iban": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-core-method": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.3.tgz", + "integrity": "sha512-SeF8YL/NVFbj/ddwLhJeS0io8y7wXaPYA2AVT0h2C2ESYkpvOtQmyw2Bc3aXxBmBErKcbOJjE2ABOKdUmLSmMA==", + "requires": { + "@ethersproject/transactions": "^5.0.0-beta.135", + "web3-core-helpers": "1.7.3", + "web3-core-promievent": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-core-promievent": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.3.tgz", + "integrity": "sha512-+mcfNJLP8h2JqcL/UdMGdRVfTdm+bsoLzAFtLpazE4u9kU7yJUgMMAqnK59fKD3Zpke3DjaUJKwz1TyiGM5wig==", + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-core-requestmanager": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.3.tgz", + "integrity": "sha512-bC+jeOjPbagZi2IuL1J5d44f3zfPcgX+GWYUpE9vicNkPUxFBWRG+olhMo7L+BIcD57cTmukDlnz+1xBULAjFg==", + "requires": { + "util": "^0.12.0", + "web3-core-helpers": "1.7.3", + "web3-providers-http": "1.7.3", + "web3-providers-ipc": "1.7.3", + "web3-providers-ws": "1.7.3" + } + }, + "web3-core-subscriptions": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.3.tgz", + "integrity": "sha512-/i1ZCLW3SDxEs5mu7HW8KL4Vq7x4/fDXY+yf/vPoDljlpvcLEOnI8y9r7om+0kYwvuTlM6DUHHafvW0221TyRQ==", + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.7.3" + } + }, + "web3-eth": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.3.tgz", + "integrity": "sha512-BCIRMPwaMlTCbswXyGT6jj9chCh9RirbDFkPtvqozfQ73HGW7kP78TXXf9+Xdo1GjutQfxi/fQ9yPdxtDJEpDA==", + "requires": { + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-eth-abi": "1.7.3", + "web3-eth-accounts": "1.7.3", + "web3-eth-contract": "1.7.3", + "web3-eth-ens": "1.7.3", + "web3-eth-iban": "1.7.3", + "web3-eth-personal": "1.7.3", + "web3-net": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-eth-abi": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.3.tgz", + "integrity": "sha512-ZlD8DrJro0ocnbZViZpAoMX44x5aYAb73u2tMq557rMmpiluZNnhcCYF/NnVMy6UIkn7SF/qEA45GXA1ne6Tnw==", + "requires": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.7.3" + } + }, + "web3-eth-accounts": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.3.tgz", + "integrity": "sha512-aDaWjW1oJeh0LeSGRVyEBiTe/UD2/cMY4dD6pQYa8dOhwgMtNQjxIQ7kacBBXe7ZKhjbIFZDhvXN4mjXZ82R2Q==", + "requires": { + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.2", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.0.10", + "scrypt-js": "^3.0.1", + "uuid": "3.3.2", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-utils": "1.7.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + } + } + }, + "web3-eth-contract": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.3.tgz", + "integrity": "sha512-7mjkLxCNMWlQrlfM/MmNnlKRHwFk5XrZcbndoMt3KejcqDP6dPHi2PZLutEcw07n/Sk8OMpSamyF3QiGfmyRxw==", + "requires": { + "@types/bn.js": "^4.11.5", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-promievent": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-eth-abi": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-eth-ens": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.3.tgz", + "integrity": "sha512-q7+hFGHIc0mBI3LwgRVcLCQmp6GItsWgUtEZ5bjwdjOnJdbjYddm7PO9RDcTDQ6LIr7hqYaY4WTRnDHZ6BEt5Q==", + "requires": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-promievent": "1.7.3", + "web3-eth-abi": "1.7.3", + "web3-eth-contract": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-eth-iban": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.3.tgz", + "integrity": "sha512-1GPVWgajwhh7g53mmYDD1YxcftQniIixMiRfOqlnA1w0mFGrTbCoPeVaSQ3XtSf+rYehNJIZAUeDBnONVjXXmg==", + "requires": { + "bn.js": "^4.11.9", + "web3-utils": "1.7.3" + } + }, + "web3-eth-personal": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.3.tgz", + "integrity": "sha512-iTLz2OYzEsJj2qGE4iXC1Gw+KZN924fTAl0ESBFs2VmRhvVaM7GFqZz/wx7/XESl3GVxGxlRje3gNK0oGIoYYQ==", + "requires": { + "@types/node": "^12.12.6", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-net": "1.7.3", + "web3-utils": "1.7.3" + }, + "dependencies": { + "@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==" + } + } + }, + "web3-net": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.3.tgz", + "integrity": "sha512-zAByK0Qrr71k9XW0Adtn+EOuhS9bt77vhBO6epAeQ2/VKl8rCGLAwrl3GbeEl7kWa8s/su72cjI5OetG7cYR0g==", + "requires": { + "web3-core": "1.7.3", + "web3-core-method": "1.7.3", + "web3-utils": "1.7.3" + } + }, + "web3-providers-http": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.3.tgz", + "integrity": "sha512-TQJfMsDQ5Uq9zGMYlu7azx1L7EvxW+Llks3MaWn3cazzr5tnrDbGh6V17x6LN4t8tFDHWx0rYKr3mDPqyTjOZw==", + "requires": { + "web3-core-helpers": "1.7.3", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.3.tgz", + "integrity": "sha512-Z4EGdLKzz6I1Bw+VcSyqVN4EJiT2uAro48Am1eRvxUi4vktGoZtge1ixiyfrRIVb6nPe7KnTFl30eQBtMqS0zA==", + "requires": { + "oboe": "2.1.5", + "web3-core-helpers": "1.7.3" + } + }, + "web3-providers-ws": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.3.tgz", + "integrity": "sha512-PpykGbkkkKtxPgv7U4ny4UhnkqSZDfLgBEvFTXuXLAngbX/qdgfYkhIuz3MiGplfL7Yh93SQw3xDjImXmn2Rgw==", + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.7.3", + "websocket": "^1.0.32" + } + }, + "web3-shh": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.3.tgz", + "integrity": "sha512-bQTSKkyG7GkuULdZInJ0osHjnmkHij9tAySibpev1XjYdjLiQnd0J9YGF4HjvxoG3glNROpuCyTaRLrsLwaZuw==", + "requires": { + "web3-core": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-net": "1.7.3" + } + }, + "web3-utils": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", + "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", + "requires": { + "bn.js": "^4.11.9", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + } + }, + "whatwg-url": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-9.1.0.tgz", + "integrity": "sha512-CQ0UcrPHyomtlOCot1TL77WyMIm/bCwrJ2D6AOKGwEczU9EpyoqAokfqrf/MioU9kHcMsmJZcg1egXix2KYEsA==", + "requires": { + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", + "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "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==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "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==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "xhr-request": "^1.1.0" + } + }, + "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==", + "requires": { + "cookiejar": "^2.1.1" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..376e5a59 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "vehicle_registration_system", + "version": "1.0.0", + "private": true, + "scripts": { + "start": "nodemon ./bin/www" + }, + "dependencies": { + "cookie-parser": "~1.4.4", + "debug": "~2.6.9", + "dotenv": "^16.0.1", + "ejs": "^3.1.8", + "express": "~4.16.1", + "express-ejs-layouts": "^2.5.0", + "express-flash": "^0.0.2", + "express-handlebars": "^5.3.4", + "express-session": "^1.17.3", + "express-validator": "^5.3.1", + "hbs": "~4.0.4", + "http-errors": "~1.6.3", + "mongodb": "^4.1.3", + "morgan": "~1.9.1", + "nodemon": "^2.0.13", + "noty": "^3.2.0-beta-deprecated", + "web3": "^1.7.3" + } +} diff --git a/public/css/dashboard.css b/public/css/dashboard.css new file mode 100644 index 00000000..fa8ad5f4 --- /dev/null +++ b/public/css/dashboard.css @@ -0,0 +1,1128 @@ +body { + font-family: "Roboto", sans-serif; + background-color: #33c9ae; + min-height: 100vh; +} + +hr { + margin: 0; +} + +input:disabled { + background: #eee; +} + +.sidebarMenu { + display: block; + border-radius: 20px; + width: 240px; + position: absolute; + left: 0; + bottom: 0; + top: 0; + height: 100%; + z-index: 1; +} + +.sidebarMenu .menu-pages { + width: 240px; + text-align: left; + position: absolute; + z-index: 99999999999; + top: 0; + padding-top: 20px; + left: 0; + bottom: 0; + background: #343235; + height: 100% !important; +} + +.mainDashboard { + display: flex; + flex-direction: row; + background-size: contain; +} + +.logo { + object-fit: cover; + margin-top: 25px; + display: flex; + justify-content: center; +} + +.logo2 { + margin-top: 25px; + justify-content: flex-start; +} + +.button_menu { + float: left; + background: 0; + outline: 0; + border: 0; + cursor: pointer; + position: relative; + left: 25px; + top: 10px; + height: 30px; + margin-right: 30px; +} + +.button_menu .icon_menu { + width: 19px; + display: block; + position: relative; + margin: auto; + border-top: 3px solid #33c9ae; + border-bottom: 3px solid #33c9ae; + padding-top: 2px; +} + +.button_menu .icon_menu:after { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; + top: 7px; + background-color: #33c9ae; +} + +.button_menu .icon_menu:before { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; +} + +.sidenav { + width: 0; + position: fixed; + z-index: 1; + top: 20px; + left: 20px; + background-color: #15a68c; + overflow-x: hidden; + padding-top: 20px; + transition: 0.5s; + border-radius: 20px 0px 0px 0px; +} + +.sidenav a { + padding: 15px 1.4285714286rem !important; + text-decoration: none; + font-size: 20px; + color: white; + display: block; + transition: 0.3s; +} + +.sidenav a:hover { + color: #05534cdc; +} + +.sidenav .closebtn { + position: absolute; + top: 0; + right: 25px; + font-size: 36px; + margin-left: 50px; +} + +.sidenav a.selectSide { + display: block !important; + border-bottom: 1px solid #dee7ef; + cursor: pointer; + margin: 0 !important; + height: auto !important; + text-align: left; + float: none; + min-height: auto; +} + +.dashBoardSelection { + display: flex; + flex-direction: column; + flex-basis: 10%; + flex-shrink: 0; + flex-grow: 1; + height: 100%; + min-height: 100vh; + padding-left: 20px; +} + +.dashBoardSelection a { + text-decoration: none; + margin-left: 20px; + margin-bottom: 10px; + padding: 5px; + text-align: left; + color: white; +} + +.dashBoardSelection a div span { + margin-left: 14px; + font-size: 14px; + font-family: Roboto, serif; + font-weight: 400; + transition: color 0.5s ease; +} + +.dashBoardSelection a div i { + transition: color 0.5s ease; +} + +.itemSelect:hover { + color: #1a544a; +} + +.viewHr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #dee7ef; + padding: 0; + width: 100%; +} + +.hrHT { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #dee7ef; + padding: 0; + width: 100%; +} + +.dashBoardView { + display: flex; + flex-direction: column; + flex-basis: 90%; + background-color: #f1f5f8; + margin: 20px; + border-radius: 20px; +} + +.dashBoardView h2 { + margin-top: 38px; + margin-left: 25px; + margin-bottom: 24px; + font-weight: normal; + font-size: 19px; + display: inline-block; +} + +.dashBoardParent { + display: flex; + flex-direction: column; +} + +.dashBoardViewChild1 { + display: flex; + flex-direction: row; +} + +.dashBoardViewChild2 { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + margin-top: 25px; + margin-bottom: 25px; +} + +.dashBoardViewChild2 > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.dashBoardViewChild3 { + display: flex; + flex-direction: row-reverse; +} + +.progress { + display: flex; + flex-direction: column; +} + +.progress1 { + display: flex; + flex-direction: row; +} + +.progress2 { + display: flex; + flex-direction: row; +} + +.itemC { + width: 2vw; + height: 2vw; + text-align: center; + line-height: 2vw; + border-radius: 5vw; + background: #33c9af; + margin: 0 1em; + flex-grow: 1; + color: white; + position: relative; +} + +.item { + text-align: center; + margin-top: 20px; + flex-grow: 1; +} + +.viewLeft { + display: flex; + width: 369px; + height: 208px; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; +} + +.viewLeft > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.viewLeft a { + text-decoration: none; + color: inherit; +} + +.viewLeft a:visited { + color: black; +} + +.viewLeft a:active { + color: #33c9af; +} + +.viewLeftVehicle { + height: 261px; +} + +.viewLeftName { + margin: 25px 0px 0px 25px !important; + font-size: 17px !important; +} + +.viewLeftJob { + font-size: 15px; + color: #718196; + margin-bottom: 10px; + margin-left: 25px; +} + +.viewLeftOption { + margin-left: 25px; + font-size: 15px; + margin-top: 24px; +} + +.viewLeftOption span { + margin-left: 10px; +} + +.fa-wave-square { + width: 14px !important; +} + +.viewRight { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +.viewRightTop { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; +} + +.viewRightTop > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.inputBlock { + display: flex; + flex-direction: column; + margin: 7.5px 22px 7.5px 22px; +} + +.vehicleInfoBlock { + display: flex; + flex-direction: row; +} + +.vehicleInfoBlockLeft { + width: 50%; + margin-bottom: 50px; +} + +.vehicleInfoBlockRight { + width: 50%; + margin-bottom: 50px; +} + +.inputHT { + border-radius: 5px; + border: 1px solid #e2e8f0; + padding: 10px; + height: 40px; + width: 100%; + box-sizing: border-box; +} + +input::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input:checked + .slider { + background-color: #33c9ae; +} + +input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); +} + +input:focus + .slider { + box-shadow: 0 0 1px #42c0a9; +} + +input[type=number] { + -moz-appearance: textfield; +} + +.checkInputBtn { + width: 14px; + height: auto; +} + +.inputTitle { + margin-top: 14px; + margin-bottom: 10px; +} + +.topNav { + margin-top: 24px; + margin-bottom: 16px; + width: 100%; + box-sizing: border-box; +} + +.topNav a:visited { + color: black; +} + +.topNav a:active { + color: #33c9af; +} + +.topNavLeft { + display: inline-block; + margin-left: 25px; +} + +.topNavLeft a { + text-decoration: none; + color: inherit; +} + +.topNavRight { + float: right; + margin-right: 25px; +} + +.fa-sign-out { + margin-left: 15px; +} + +.inputPage0 { + width: 384px; + padding-right: 45px; + padding-left: 10px; + margin-top: 10px; + height: 40px; + box-sizing: border-box; + border: 0; + border-radius: 10px; +} + +.inputFields { + display: flex; + flex-direction: row; +} + +.LeftInput { + display: flex; + flex-basis: 50%; + flex-direction: column; + margin-right: 5px; +} + +.rightInput { + display: flex; + flex-basis: 50%; + flex-direction: column; + margin-left: 5px; +} + +.stepTitle { + font-weight: normal; +} + +.btnP1 { + width: auto; + height: auto; + padding: 11px; + color: #fff; + margin: 7.5px 22px 7.5px 0px; + background-color: #33c9ae; + border: none; + border-radius: 6px; + text-align: center; + float: right; +} + +.btnP2 { + margin-top: 30px; + margin-right: 25px; +} + +.deleteMsg { + margin: 15px 0px 0px 4px; + color: red; + display: inline-block; +} + +.fa-trash-can { + color: red; + display: inline-block; + margin-left: 24px; +} + +.viewRightBottomParent { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + margin-top: 25px; + margin-bottom: 25px; +} + +.viewRightBottomParent > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.viewRightBottomChild { + display: flex; + flex-direction: row; +} + +.viewRightBottomL { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.viewRightBottomR { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.viewRightBottomLemail { + display: flex; + flex-direction: column; +} + +.viewRightBottomLname { + display: flex; + flex-direction: column; +} + +.viewRightBottomLidType { + display: flex; + flex-direction: column; +} + +.viewRightBottomLid { + display: flex; + flex-direction: column; +} + +.viewRightBottomLpublicKey { + display: flex; + flex-direction: column; +} + +.viewRightBottomRphone { + display: flex; + flex-direction: column; +} + +.viewRightBottomRaddress { + display: flex; + flex-direction: column; +} + +.viewRightBottomRbankName { + display: flex; + flex-direction: column; +} + +.viewRightBottomRbankAccount { + display: flex; + flex-direction: column; +} + +.viewRightBottomRprivateKey { + display: flex; + flex-direction: column; +} + +.indexParent { + display: flex; + flex-direction: row; + overflow: hidden; +} + +.leftIndex { + flex-basis: 50%; + height: 100vh; +} + +.rightIndex { + flex-basis: 50%; + height: 100vh; + background-color: #33c9ae; + background-size: contain; +} + +.background0 { + width: 100%; + height: 100%; + background-size: cover; +} + +.loginContainer { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100vh; +} + +.page0 { + position: relative; + color: #102854; + left: -81px; +} + +.page1 { + position: relative; + color: #102854; + left: -120px; +} + +.page0h5 { + display: inline-block; + color: #102854; +} + +.createNewAccount > a > h5 { + text-decoration: underline; +} + +.termsCondition { + width: 320px; + box-sizing: border-box; + margin: auto; +} + +.termsCondition0 { + display: inline-block; + color: #102854; + margin-top: 14px; + margin-bottom: 14px; + font-size: 10px; + font-weight: normal; +} + +.termsCondition1 { + display: inline-block; + color: #102854; + margin-top: 14px; + margin-bottom: 14px; + font-size: 10px; +} + +.accountCheck > h5:first-child { + font-weight: normal; +} + +.accountCheck > a > h5 { + text-decoration: underline; +} + +.emailAddress0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; +} + +.emailAddress0 .fa { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.password0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; +} + +.password0 .fa { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.signUP0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; +} + +.signUP0 .fa-regular { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.signUP0 .fa-solid { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.btn0 button { + width: 384px; + height: 47px; + color: #fff; + margin-top: 10px; + background-color: #102854; + border: none; + border-radius: 6px; + text-align: center; + font-weight: bold; + box-sizing: border-box; +} + +.notFoundContainer { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + height: 100vh; +} + +.button404 { + background-color: transparent; + color: white; + text-align: center; + border: 1px solid white; + border-radius: 5px; + width: 130px; + height: 50px; + box-sizing: border-box; +} + +.button404:hover { + background-color: #37bfa6; +} + +.background404 { + display: inline-block; + margin-top: 0; + font-size: 15px; + color: white; + background-image: url("../imgs/404.png"); + width: 483px; + height: 418px; + margin-right: 30px; +} + +.textContent { + display: inline-block; + margin-top: 0; + font-size: 15px; + color: white; +} + +.textContent .notFoundH1 { + font-size: 104px; + margin: 0; +} + +.textContent .notFoundH2 { + font-size: 32px; + font-weight: 500; + margin: 0px; +} + +.textContent .notFoundH5 { + font-size: 19px; + font-weight: normal; + margin-top: 17px; +} + +.switch { + position: relative; + display: inline-block; + width: 60px; + height: 34px; +} + +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.4s; + transition: 0.4s; +} + +.slider:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; +} + +.slider.round { + border-radius: 34px; +} + +.slider.round:before { + border-radius: 50%; +} + +.vehiclesTable { + margin-left: 25px; + margin-right: 25px; +} + +.vehicleHead { + display: flex; + margin-left: 20px; +} + +.vehicleRow { + background-color: #fff; + border-radius: 7px; + height: 68px; + margin-bottom: 20px; + display: flex; +} + +.headData { + flex-basis: 30%; + flex-grow: 1; +} + +.dataAction { + flex-basis: 10%; +} + +.tableData { + flex-basis: 30%; + flex-grow: 1; + padding-top: 25px; + margin-left: 30px; +} + +.tableData1 { + flex-basis: 10%; +} + +.vehicleBody { + margin-top: 24px; +} + +.HeadData { + margin-bottom: 68px; +} + +button { + cursor: pointer; +} + +@media (min-width: 1226px) { + .logo2 { + display: none; + } +} +@media (max-width: 1225px) { + .dashBoardSelection { + display: none; + } + + .mainDashboard { + display: initial; + } + + .dashBoardView { + flex-basis: 100%; + } + + .dashBoardView h2 { + margin-top: 12px; + } + + .dashBoardViewChild1 { + flex-direction: column; + } + + .viewLeft { + flex-grow: 1; + width: auto; + margin-bottom: 25px; + } + + .viewRight { + flex-grow: 1; + width: auto; + margin-bottom: 25px; + } +} +@media (max-width: 868px) { + .leftIndex { + display: none; + } + + .rightIndex { + flex-basis: 100%; + } +} +@media (max-width: 1065px) { + .notFoundContainer { + flex-direction: column; + } + + .textContent { + margin-top: 20px; + text-align: center; + width: 450px; + } + + .textContent .notFoundH1 { + font-size: 90px; + } + + .textContent .notFoundH2 { + font-size: 22px; + } + + .textContent .notFoundH5 { + font-size: 19px; + } +} +.home { + height: 100vh; + width: 100vw; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: "Roboto", sans-serif; +} + +.home h1 { + font-size: 42px; +} + +.home img { + margin-bottom: 25px; +} + +.home .links a { + color: white; + margin-right: 15px; + border: 1px solid #102854; +} + +.home .links a:hover { + background: #102854; +} + +.dashBoardSelection .logo, .dashBoardSelection .hrHT { + margin-bottom: 10px; +} + +.signup .accountCheck, .signup .createNewAccount, .signin .accountCheck, .signin .createNewAccount { + margin-top: 10px; +} + +.signup .accountCheck *, .signup .createNewAccount *, .signin .accountCheck *, .signin .createNewAccount * { + font-size: 14px; +} + +.signup .page1, .signup .page0, .signin .page1, .signin .page0 { + font-size: 34px; +} + +.signup .inputPage0, .signin .inputPage0 { + margin-top: 5px; +} + +.home_dashboard .dashBoardView h3 { + margin-left: 20px; + margin-top: 20px; +} + +.home_dashboard .blocks { + display: flex; + flex-direction: row; +} + +.home_dashboard .blocks .block { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.vehicles .title-and-button, .users .title-and-button { + margin: 20px 0; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.vehicles .title-and-button h2, .vehicles .title-and-button a, .vehicles .title-and-button button, .users .title-and-button h2, .users .title-and-button a, .users .title-and-button button { + margin-top: 0; + margin-bottom: 0; +} + +.vehicles .title-and-button a, .users .title-and-button a { + cursor: pointer; +} + +.vehicles .title-and-button a:hover, .users .title-and-button a:hover { + color: white; + text-decoration: none; +} + +.vehicles .table-container, .users .table-container { + padding: 20px; +} + +.viewRightTop > div:first-child, .viewLeft > div:first-child, .viewRightBottomParent > div:first-child { + margin-top: 15px; +} + +.viewLeft { + padding-bottom: 20px; + height: auto; +} + +.viewRightTop { + margin-right: 0; +} + +.inputBlock { + margin-bottom: 0; +} + +.inputBlock label { + margin-bottom: 0; +} + +.inputBlock .inputTitle { + margin-top: 10px; +} + +.profile .viewLeftName { + margin-top: 15px !important; +} + +.profile .viewLeftOption { + margin-top: 15px; +} + +.profile .viewRight { + margin-right: 25px; + margin-left: 25px; +} + +.profile .viewRight > * { + margin-left: 0; +} + +.profile .viewRight .viewRightBottomParent { + margin-right: 0; +} + +.profile .viewLeft { + margin-bottom: 25px; +} + +.profile .viewRightTop, +.profile .viewRightBottomParent { + padding-bottom: 25px; +} + +/*# sourceMappingURL=dashboard.css.map */ + +/*# sourceMappingURL=dashboard.css.map */ diff --git a/public/css/dashboard.css.map b/public/css/dashboard.css.map new file mode 100644 index 00000000..0e9dd53d --- /dev/null +++ b/public/css/dashboard.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../scss/dashboard.css"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;IACE;;;AAGJ;EACE;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAEF;IACE;;;EAGF;IACE;;;EAGF;IACE;IACA;IACA;;;EAGF;IACE;IACA;IACA;;;AAGJ;EACE;IACE;;;EAGF;IACE;;;AAGJ;EACE;IACE;;;EAGF;IACE;IACA;IACA;;;EAEF;IACE;;;EAEF;IACE;;;EAEF;IACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;AAAA;EAEE;;;AAGF","file":"dashboard.css"} \ No newline at end of file diff --git a/public/css/normalize.css b/public/css/normalize.css new file mode 100644 index 00000000..bb6e2a7d --- /dev/null +++ b/public/css/normalize.css @@ -0,0 +1,351 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/public/css/test.css b/public/css/test.css new file mode 100644 index 00000000..ad89f7f5 --- /dev/null +++ b/public/css/test.css @@ -0,0 +1,94 @@ +.sidenav { + width: 0; + position: fixed; + z-index: 1; + top: 0; + left: 25px; + background-color: #33c9ae; + overflow-x: hidden; + padding-top: 25px; + transition: 0.5s; + border-radius: 20px 0px 0px 20px; +} + +.sidenav a { + padding: 15px 1.4285714286rem !important; + text-decoration: none; + font-size: 20px; + color: white; + display: block; + transition: 0.3s; +} + +.sidenav a:hover { + color: #05534cdc; +} + +.sidenav .closebtn { + position: absolute; + top: 0; + right: 25px; + font-size: 36px; + margin-left: 50px; +} + +.sidenav a.selectSide { + display: block !important; + border-bottom: 1px solid #dee7ef; + cursor: pointer; + margin: 0 !important; + height: auto !important; + text-align: left; + float: none; + min-height: auto; + /* display: block; */ +} + +.button_menu { + float: left; + background: 0; + outline: 0; + border: 0; + cursor: pointer; + position: relative; + left: 25px; + top: 10px; + height: 30px; + /* padding-top: 28px; */ + margin-right: 30px; +} + +.button_menu .icon_menu { + width: 19px; + display: block; + position: relative; + margin: auto; + border-top: 3px solid #33c9ae; + border-bottom: 3px solid #33c9ae; + padding-top: 2px; +} + +.button_menu .icon_menu:after, +.button_menu .icon_menu:before { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; +} + +.button_menu .icon_menu:after { + top: 7px; + background-color: #33c9ae; +} + +@media screen and (max-height: 450px) { + .sidenav { + padding-top: 15px; + } + .sidenav a { + font-size: 18px; + } +} diff --git a/public/imgs/404.png b/public/imgs/404.png new file mode 100644 index 00000000..e1f21908 Binary files /dev/null and b/public/imgs/404.png differ diff --git a/public/imgs/Group 22.png b/public/imgs/Group 22.png new file mode 100644 index 00000000..9583e1ca Binary files /dev/null and b/public/imgs/Group 22.png differ diff --git a/public/imgs/dashbaord_bg.png b/public/imgs/dashbaord_bg.png new file mode 100644 index 00000000..9583e1ca Binary files /dev/null and b/public/imgs/dashbaord_bg.png differ diff --git a/public/imgs/favicon.ico b/public/imgs/favicon.ico new file mode 100644 index 00000000..05298a41 Binary files /dev/null and b/public/imgs/favicon.ico differ diff --git a/public/imgs/gg1.png b/public/imgs/gg1.png new file mode 100644 index 00000000..ff3f13ec Binary files /dev/null and b/public/imgs/gg1.png differ diff --git a/public/imgs/gg2.png b/public/imgs/gg2.png new file mode 100644 index 00000000..ea3d8e1a Binary files /dev/null and b/public/imgs/gg2.png differ diff --git a/public/imgs/gg3.png b/public/imgs/gg3.png new file mode 100644 index 00000000..63d69727 Binary files /dev/null and b/public/imgs/gg3.png differ diff --git a/public/imgs/gg5.png b/public/imgs/gg5.png new file mode 100644 index 00000000..243e1c70 Binary files /dev/null and b/public/imgs/gg5.png differ diff --git a/public/imgs/logo.png b/public/imgs/logo.png new file mode 100644 index 00000000..2682fd20 Binary files /dev/null and b/public/imgs/logo.png differ diff --git a/public/imgs/logo_2.png b/public/imgs/logo_2.png new file mode 100644 index 00000000..6aa4b266 Binary files /dev/null and b/public/imgs/logo_2.png differ diff --git a/public/js/master.js b/public/js/master.js new file mode 100644 index 00000000..17a6ca3e --- /dev/null +++ b/public/js/master.js @@ -0,0 +1,19 @@ +// let changeEyeSlash = document.getElementById(ggz); +// changeEyeSlash.onclick + +function openNav() { + document.getElementById("mySidenav").style.width = "250px"; +} + +function closeNav() { + document.getElementById("mySidenav").style.width = "0"; +} + +$(document).ready(function () { + $('.js-example-basic-single').select2({width: '100%'}); +}); + + +$(document).ready(function () { + $("#successMessage,#errorMessage").delay(2000).slideUp(300); +}); diff --git a/public/scss/dashboard.css b/public/scss/dashboard.css new file mode 100644 index 00000000..20c43ffb --- /dev/null +++ b/public/scss/dashboard.css @@ -0,0 +1,1061 @@ +body { + font-family: "Roboto", sans-serif; + background-color: #33c9ae; + min-height: 100vh; +} + +hr { + margin: 0; +} + +input:disabled { + background: #eee; +} + +.sidebarMenu { + display: block; + border-radius: 20px; + width: 240px; + position: absolute; + left: 0; + bottom: 0; + top: 0; + height: 100%; + z-index: 1; +} +.sidebarMenu .menu-pages { + width: 240px; + text-align: left; + position: absolute; + z-index: 99999999999; + top: 0; + padding-top: 20px; + left: 0; + bottom: 0; + background: #343235; + height: 100% !important; +} + +.mainDashboard { + display: flex; + flex-direction: row; + background-size: contain; +} + +.logo { + object-fit: cover; + margin-top: 25px; + display: flex; + justify-content: center; +} + +.logo2 { + margin-top: 25px; + justify-content: flex-start; +} + +.button_menu { + float: left; + background: 0; + outline: 0; + border: 0; + cursor: pointer; + position: relative; + left: 25px; + top: 10px; + height: 30px; + margin-right: 30px; +} +.button_menu .icon_menu { + width: 19px; + display: block; + position: relative; + margin: auto; + border-top: 3px solid #33c9ae; + border-bottom: 3px solid #33c9ae; + padding-top: 2px; +} +.button_menu .icon_menu:after { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; + top: 7px; + background-color: #33c9ae; +} +.button_menu .icon_menu:before { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; +} + +.sidenav { + width: 0; + position: fixed; + z-index: 1; + top: 20px; + left: 20px; + background-color: #15a68c; + overflow-x: hidden; + padding-top: 20px; + transition: 0.5s; + border-radius: 20px 0px 0px 0px; +} +.sidenav a { + padding: 15px 1.4285714286rem !important; + text-decoration: none; + font-size: 20px; + color: white; + display: block; + transition: 0.3s; +} +.sidenav a:hover { + color: #05534cdc; +} +.sidenav .closebtn { + position: absolute; + top: 0; + right: 25px; + font-size: 36px; + margin-left: 50px; +} +.sidenav a.selectSide { + display: block !important; + border-bottom: 1px solid #dee7ef; + cursor: pointer; + margin: 0 !important; + height: auto !important; + text-align: left; + float: none; + min-height: auto; +} + +.dashBoardSelection { + display: flex; + flex-direction: column; + flex-basis: 10%; + flex-shrink: 0; + flex-grow: 1; + height: 100%; + min-height: 100vh; + padding-left: 20px; +} +.dashBoardSelection a { + text-decoration: none; + margin-left: 20px; + margin-bottom: 10px; + padding: 5px; + text-align: left; + color: white; +} +.dashBoardSelection a div span { + margin-left: 14px; + font-size: 14px; + font-family: Roboto, serif; + font-weight: 400; + transition: color 0.5s ease; +} +.dashBoardSelection a div i { + transition: color 0.5s ease; +} + +.itemSelect:hover { + color: #1a544a; +} + +.viewHr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #dee7ef; + padding: 0; + width: 100%; +} + +.hrHT { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #dee7ef; + padding: 0; + width: 100%; +} + +.dashBoardView { + display: flex; + flex-direction: column; + flex-basis: 90%; + background-color: #f1f5f8; + margin: 20px; + border-radius: 20px; +} +.dashBoardView h2 { + margin-top: 38px; + margin-left: 25px; + margin-bottom: 24px; + font-weight: normal; + font-size: 19px; + display: inline-block; +} + +.dashBoardParent { + display: flex; + flex-direction: column; +} + +.dashBoardViewChild1 { + display: flex; + flex-direction: row; +} + +.dashBoardViewChild2 { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + margin-top: 25px; + margin-bottom: 25px; +} +.dashBoardViewChild2 > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.dashBoardViewChild3 { + display: flex; + flex-direction: row-reverse; +} + +.progress { + display: flex; + flex-direction: column; +} + +.progress1 { + display: flex; + flex-direction: row; +} + +.progress2 { + display: flex; + flex-direction: row; +} + +.itemC { + width: 2vw; + height: 2vw; + text-align: center; + line-height: 2vw; + border-radius: 5vw; + background: #33c9af; + margin: 0 1em; + flex-grow: 1; + color: white; + position: relative; +} + +.item { + text-align: center; + margin-top: 20px; + flex-grow: 1; +} + +.viewLeft { + display: flex; + width: 369px; + height: 208px; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; +} +.viewLeft > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} +.viewLeft a { + text-decoration: none; + color: inherit; +} +.viewLeft a:visited { + color: black; +} +.viewLeft a:active { + color: #33c9af; +} + +.viewLeftVehicle { + height: 261px; +} + +.viewLeftName { + margin: 25px 0px 0px 25px !important; + font-size: 17px !important; +} + +.viewLeftJob { + font-size: 15px; + color: #718196; + margin-bottom: 10px; + margin-left: 25px; +} + +.viewLeftOption { + margin-left: 25px; + font-size: 15px; + margin-top: 24px; +} +.viewLeftOption span { + margin-left: 10px; +} + +.fa-wave-square { + width: 14px !important; +} + +.viewRight { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +.viewRightTop { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; +} +.viewRightTop > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.inputBlock { + display: flex; + flex-direction: column; + margin: 7.5px 22px 7.5px 22px; +} + +.vehicleInfoBlock { + display: flex; + flex-direction: row; +} + +.vehicleInfoBlockLeft { + width: 50%; + margin-bottom: 50px; +} + +.vehicleInfoBlockRight { + width: 50%; + margin-bottom: 50px; +} + +.inputHT { + border-radius: 5px; + border: 1px solid #e2e8f0; + padding: 10px; + height: 40px; + width: 100%; + box-sizing: border-box; +} + +input::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +input:checked + .slider { + background-color: #33c9ae; +} +input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); +} +input:focus + .slider { + box-shadow: 0 0 1px #42c0a9; +} + +input[type=number] { + -moz-appearance: textfield; +} + +.checkInputBtn { + width: 14px; + height: auto; +} + +.inputTitle { + margin-top: 14px; + margin-bottom: 10px; +} + +.topNav { + margin-top: 24px; + margin-bottom: 16px; + width: 100%; + box-sizing: border-box; +} +.topNav a:visited { + color: black; +} +.topNav a:active { + color: #33c9af; +} + +.topNavLeft { + display: inline-block; + margin-left: 25px; +} +.topNavLeft a { + text-decoration: none; + color: inherit; +} + +.topNavRight { + float: right; + margin-right: 25px; +} + +.fa-sign-out { + margin-left: 15px; +} + +.inputPage0 { + width: 384px; + padding-right: 45px; + padding-left: 10px; + margin-top: 10px; + height: 40px; + box-sizing: border-box; + border: 0; + border-radius: 10px; +} + +.inputFields { + display: flex; + flex-direction: row; +} + +.LeftInput { + display: flex; + flex-basis: 50%; + flex-direction: column; + margin-right: 5px; +} + +.rightInput { + display: flex; + flex-basis: 50%; + flex-direction: column; + margin-left: 5px; +} + +.stepTitle { + font-weight: normal; +} + +.btnP1 { + width: auto; + height: auto; + padding: 11px; + color: #fff; + margin: 7.5px 22px 7.5px 0px; + background-color: #33c9ae; + border: none; + border-radius: 6px; + text-align: center; + float: right; +} + +.btnP2 { + margin-top: 30px; + margin-right: 25px; +} + +.deleteMsg { + margin: 15px 0px 0px 4px; + color: red; + display: inline-block; +} + +.fa-trash-can { + color: red; + display: inline-block; + margin-left: 24px; +} + +.viewRightBottomParent { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + margin-top: 25px; + margin-bottom: 25px; +} +.viewRightBottomParent > div:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; +} + +.viewRightBottomChild { + display: flex; + flex-direction: row; +} + +.viewRightBottomL { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.viewRightBottomR { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.viewRightBottomLemail { + display: flex; + flex-direction: column; +} + +.viewRightBottomLname { + display: flex; + flex-direction: column; +} + +.viewRightBottomLidType { + display: flex; + flex-direction: column; +} + +.viewRightBottomLid { + display: flex; + flex-direction: column; +} + +.viewRightBottomLpublicKey { + display: flex; + flex-direction: column; +} + +.viewRightBottomRphone { + display: flex; + flex-direction: column; +} + +.viewRightBottomRaddress { + display: flex; + flex-direction: column; +} + +.viewRightBottomRbankName { + display: flex; + flex-direction: column; +} + +.viewRightBottomRbankAccount { + display: flex; + flex-direction: column; +} + +.viewRightBottomRprivateKey { + display: flex; + flex-direction: column; +} + +.indexParent { + display: flex; + flex-direction: row; + overflow: hidden; +} + +.leftIndex { + flex-basis: 50%; + height: 100vh; +} + +.rightIndex { + flex-basis: 50%; + height: 100vh; + background-color: #33c9ae; + background-size: contain; +} + +.background0 { + width: 100%; + height: 100%; + background-size: cover; +} + +.loginContainer { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100vh; +} + +.page0 { + position: relative; + color: #102854; + left: -81px; +} + +.page1 { + position: relative; + color: #102854; + left: -120px; +} + +.page0h5 { + display: inline-block; + color: #102854; +} + +.createNewAccount > a > h5 { + text-decoration: underline; +} + +.termsCondition { + width: 320px; + box-sizing: border-box; + margin: auto; +} + +.termsCondition0 { + display: inline-block; + color: #102854; + margin-top: 14px; + margin-bottom: 14px; + font-size: 10px; + font-weight: normal; +} + +.termsCondition1 { + display: inline-block; + color: #102854; + margin-top: 14px; + margin-bottom: 14px; + font-size: 10px; +} + +.accountCheck > h5:first-child { + font-weight: normal; +} +.accountCheck > a > h5 { + text-decoration: underline; +} + +.emailAddress0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; +} +.emailAddress0 .fa { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.password0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; +} +.password0 .fa { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.signUP0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; +} +.signUP0 .fa-regular { + position: absolute; + right: 19px; + top: 41px; + color: black; +} +.signUP0 .fa-solid { + position: absolute; + right: 19px; + top: 41px; + color: black; +} + +.btn0 button { + width: 384px; + height: 47px; + color: #fff; + margin-top: 10px; + background-color: #102854; + border: none; + border-radius: 6px; + text-align: center; + font-weight: bold; + box-sizing: border-box; +} + +.notFoundContainer { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + height: 100vh; +} + +.button404 { + background-color: transparent; + color: white; + text-align: center; + border: 1px solid white; + border-radius: 5px; + width: 130px; + height: 50px; + box-sizing: border-box; +} +.button404:hover { + background-color: #37bfa6; +} + +.background404 { + display: inline-block; + margin-top: 0; + font-size: 15px; + color: white; + background-image: url("../imgs/404.png"); + width: 483px; + height: 418px; + margin-right: 30px; +} + +.textContent { + display: inline-block; + margin-top: 0; + font-size: 15px; + color: white; +} +.textContent .notFoundH1 { + font-size: 104px; + margin: 0; +} +.textContent .notFoundH2 { + font-size: 32px; + font-weight: 500; + margin: 0px; +} +.textContent .notFoundH5 { + font-size: 19px; + font-weight: normal; + margin-top: 17px; +} + +.switch { + position: relative; + display: inline-block; + width: 60px; + height: 34px; +} +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.4s; + transition: 0.4s; +} +.slider:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; +} + +.slider.round { + border-radius: 34px; +} +.slider.round:before { + border-radius: 50%; +} + +.vehiclesTable { + margin-left: 25px; + margin-right: 25px; +} + +.vehicleHead { + display: flex; + margin-left: 20px; +} + +.vehicleRow { + background-color: #fff; + border-radius: 7px; + height: 68px; + margin-bottom: 20px; + display: flex; +} + +.headData { + flex-basis: 30%; + flex-grow: 1; +} + +.dataAction { + flex-basis: 10%; +} + +.tableData { + flex-basis: 30%; + flex-grow: 1; + padding-top: 25px; + margin-left: 30px; +} + +.tableData1 { + flex-basis: 10%; +} + +.vehicleBody { + margin-top: 24px; +} + +.HeadData { + margin-bottom: 68px; +} + +button { + cursor: pointer; +} + +@media (min-width: 1226px) { + .logo2 { + display: none; + } +} +@media (max-width: 1225px) { + .dashBoardSelection { + display: none; + } + + .mainDashboard { + display: initial; + } + + .dashBoardView { + flex-basis: 100%; + } + .dashBoardView h2 { + margin-top: 12px; + } + + .dashBoardViewChild1 { + flex-direction: column; + } + + .viewLeft { + flex-grow: 1; + width: auto; + margin-bottom: 25px; + } + + .viewRight { + flex-grow: 1; + width: auto; + margin-bottom: 25px; + } +} +@media (max-width: 868px) { + .leftIndex { + display: none; + } + + .rightIndex { + flex-basis: 100%; + } +} +@media (max-width: 1065px) { + .notFoundContainer { + flex-direction: column; + } + + .textContent { + margin-top: 20px; + text-align: center; + width: 450px; + } + .textContent .notFoundH1 { + font-size: 90px; + } + .textContent .notFoundH2 { + font-size: 22px; + } + .textContent .notFoundH5 { + font-size: 19px; + } +} +.home { + height: 100vh; + width: 100vw; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: "Roboto", sans-serif; +} +.home h1 { + font-size: 42px; +} +.home img { + margin-bottom: 25px; +} +.home .links a { + color: white; + margin-right: 15px; + border: 1px solid #102854; +} +.home .links a:hover { + background: #102854; +} + +.dashBoardSelection .logo, .dashBoardSelection .hrHT { + margin-bottom: 10px; +} + +.signup .accountCheck, .signup .createNewAccount, .signin .accountCheck, .signin .createNewAccount { + margin-top: 10px; +} +.signup .accountCheck *, .signup .createNewAccount *, .signin .accountCheck *, .signin .createNewAccount * { + font-size: 14px; +} +.signup .page1, .signup .page0, .signin .page1, .signin .page0 { + font-size: 34px; +} +.signup .inputPage0, .signin .inputPage0 { + margin-top: 5px; +} + +.home_dashboard .dashBoardView h3 { + margin-left: 20px; + margin-top: 20px; +} +.home_dashboard .blocks { + display: flex; + flex-direction: row; +} +.home_dashboard .blocks .block { + display: flex; + flex-direction: row; + justify-content: space-between; +} +.vehicles .title-and-button, .users .title-and-button { + margin: 20px 0; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} +.vehicles .title-and-button h2, .vehicles .title-and-button a, .vehicles .title-and-button button, .users .title-and-button h2, .users .title-and-button a, .users .title-and-button button { + margin-top: 0; + margin-bottom: 0; +} +.vehicles .title-and-button a, .users .title-and-button a { + cursor: pointer; +} +.vehicles .title-and-button a:hover, .users .title-and-button a:hover { + color: white; + text-decoration: none; +} +.vehicles .table-container, .users .table-container { + padding: 20px; +} + +.viewRightTop > div:first-child, .viewLeft > div:first-child, .viewRightBottomParent > div:first-child { + margin-top: 15px; +} + +.viewLeft { + padding-bottom: 20px; + height: auto; +} + +.viewRightTop { + margin-right: 0; +} + +.inputBlock { + margin-bottom: 0; +} +.inputBlock label { + margin-bottom: 0; +} +.inputBlock .inputTitle { + margin-top: 10px; +} + +.profile .viewLeftName { + margin-top: 15px !important; +} +.profile .viewLeftOption { + margin-top: 15px; +} +.profile .viewRight { + margin-right: 25px; + margin-left: 25px; +} +.profile .viewRight > * { + margin-left: 0; +} +.profile .viewRight .viewRightBottomParent { + margin-right: 0; +} +.profile .viewLeft { + margin-bottom: 25px; +} +.profile .viewRightTop, +.profile .viewRightBottomParent { + padding-bottom: 25px; +} + +/*# sourceMappingURL=dashboard.css.map */ diff --git a/public/scss/dashboard.css.map b/public/scss/dashboard.css.map new file mode 100644 index 00000000..33cdaadb --- /dev/null +++ b/public/scss/dashboard.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAON;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAKN;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIA;EACE;EACA;;AAGF;EACE;EACA;;AAKE;EACE;;AAEA;EACE;EACA;EACA;;AAQJ;EACE;;;AAMR;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;;AAKN;EACE;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAKE;EACE;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKE;EACE;;AAKF;EACE;;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;EAEF;IACE;;;EAEF;IACE;;EAEA;IACE;;;EAGJ;IACE;;;EAEF;IACE;IACA;IACA;;;EAEF;IACE;IACA;IACA;;;AAIJ;EACE;IACE;;;EAEF;IACE;;;AAIJ;EACE;IACE;;;EAEF;IACE;IACA;IACA;;EAEA;IACE;;EAGF;IACE;;EAGF;IACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIA;EAEE;EACA;EACA;;AAEA;EACE;;;AAON;EACE;;;AAKF;EACE;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;;;AAMA;EACE;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAqBJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAEA;EACE;EACA;;AAKN;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;;;AAQF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAIJ;EACE;;AAGF;AAAA;EAEE","file":"dashboard.css"} \ No newline at end of file diff --git a/public/scss/dashboard.scss b/public/scss/dashboard.scss new file mode 100644 index 00000000..65969867 --- /dev/null +++ b/public/scss/dashboard.scss @@ -0,0 +1,1192 @@ +body { + font-family: "Roboto", sans-serif; + background-color: #33c9ae; + min-height: 100vh; +} + +hr { + margin: 0; +} + +input:disabled { + background: #eee; +} + + +.sidebarMenu { + display: block; + border-radius: 20px; + width: 240px; + position: absolute; + left: 0; + bottom: 0; + top: 0; + height: 100%; + z-index: 1; + + .menu-pages { + width: 240px; + text-align: left; + position: absolute; + z-index: 99999999999; + top: 0; + padding-top: 20px; + left: 0; + bottom: 0; + background: #343235; + height: 100% !important; + } +} + +.mainDashboard { + display: flex; + flex-direction: row; + background-size: contain; +} + +.logo { + object-fit: cover; + margin-top: 25px; + display: flex; + justify-content: center; +} + +.logo2 { + margin-top: 25px; + justify-content: flex-start; +} + +.button_menu { + float: left; + background: 0; + outline: 0; + border: 0; + cursor: pointer; + position: relative; + left: 25px; + top: 10px; + height: 30px; + margin-right: 30px; + + .icon_menu { + width: 19px; + display: block; + position: relative; + margin: auto; + border-top: 3px solid #33c9ae; + border-bottom: 3px solid #33c9ae; + padding-top: 2px; + + &:after { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; + top: 7px; + background-color: #33c9ae; + } + + &:before { + content: ""; + position: absolute; + width: 19px; + height: 3px; + background-color: #33c9ae; + top: -8px; + left: 0; + } + } +} + +.sidenav { + width: 0; + position: fixed; + z-index: 1; + top: 20px; + left: 20px; + background-color: #15a68c; + overflow-x: hidden; + padding-top: 20px; + transition: 0.5s; + border-radius: 20px 0px 0px 0px; + + a { + padding: 15px 1.4285714286rem !important; + text-decoration: none; + font-size: 20px; + color: white; + display: block; + transition: 0.3s; + + &:hover { + color: #05534cdc; + } + } + + .closebtn { + position: absolute; + top: 0; + right: 25px; + font-size: 36px; + margin-left: 50px; + } + + a.selectSide { + display: block !important; + border-bottom: 1px solid #dee7ef; + cursor: pointer; + margin: 0 !important; + height: auto !important; + text-align: left; + float: none; + min-height: auto; + } +} + +.dashBoardSelection { + display: flex; + flex-direction: column; + flex-basis: 10%; + flex-shrink: 0; + flex-grow: 1; + height: 100%; + min-height: 100vh; + padding-left: 20px; + //padding-right: 20px; + + a { + text-decoration: none; + margin-left: 20px; + margin-bottom: 10px; + padding: 5px; + text-align: left; + color: white; + + div { + span { + margin-left: 14px; + font-size: 14px; + font-family: Roboto, serif; + font-weight: 400; + transition: color 0.5s ease; + } + + i { + transition: color 0.5s ease; + } + } + } +} + +.itemSelect { + &:hover { + color: #1a544a; + } +} + +.viewHr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #dee7ef; + padding: 0; + width: 100%; +} + +.hrHT { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #dee7ef; + padding: 0; + width: 100%; +} + +.dashBoardView { + display: flex; + flex-direction: column; + flex-basis: 90%; + background-color: #f1f5f8; + margin: 20px; + border-radius: 20px; + + h2 { + margin-top: 38px; + margin-left: 25px; + margin-bottom: 24px; + font-weight: normal; + font-size: 19px; + display: inline-block; + } +} + +.dashBoardParent { + display: flex; + flex-direction: column; +} + +.dashBoardViewChild1 { + display: flex; + flex-direction: row; +} + +.dashBoardViewChild2 { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + margin-top: 25px; + margin-bottom: 25px; + + > div { + &:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; + } + } +} + +.dashBoardViewChild3 { + display: flex; + flex-direction: row-reverse; +} + +.progress { + display: flex; + flex-direction: column; +} + +.progress1 { + display: flex; + flex-direction: row; +} + +.progress2 { + display: flex; + flex-direction: row; +} + +.itemC { + width: 2vw; + height: 2vw; + text-align: center; + line-height: 2vw; + border-radius: 5vw; + background: #33c9af; + margin: 0 1em; + flex-grow: 1; + color: white; + position: relative; +} + +.item { + text-align: center; + margin-top: 20px; + flex-grow: 1; +} + +.viewLeft { + display: flex; + width: 369px; + height: 208px; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + + > div { + &:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; + } + } + + a { + text-decoration: none; + color: inherit; + + &:visited { + color: black; + } + + &:active { + color: #33c9af; + } + } +} + +.viewLeftVehicle { + height: 261px; +} + +.viewLeftName { + margin: 25px 0px 0px 25px !important; + font-size: 17px !important; +} + +.viewLeftJob { + font-size: 15px; + color: #718196; + margin-bottom: 10px; + margin-left: 25px; +} + +.viewLeftOption { + margin-left: 25px; + font-size: 15px; + margin-top: 24px; + + span { + margin-left: 10px; + } +} + +.fa-wave-square { + width: 14px !important; +} + +.viewRight { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +.viewRightTop { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + + > div { + &:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; + } + } +} + +.inputBlock { + display: flex; + flex-direction: column; + margin: 7.5px 22px 7.5px 22px; +} + +.vehicleInfoBlock { + display: flex; + flex-direction: row; +} + +.vehicleInfoBlockLeft { + width: 50%; + margin-bottom: 50px; +} + +.vehicleInfoBlockRight { + width: 50%; + margin-bottom: 50px; +} + +.inputHT { + border-radius: 5px; + border: 1px solid #e2e8f0; + padding: 10px; + height: 40px; + width: 100%; + box-sizing: border-box; +} + +input { + &::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + + &::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + + &:checked { + + { + .slider { + background-color: #33c9ae; + + &:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); + } + } + } + } + + &:focus { + + { + .slider { + box-shadow: 0 0 1px #42c0a9; + } + } + } +} + +input[type="number"] { + -moz-appearance: textfield; +} + +.checkInputBtn { + width: 14px; + height: auto; +} + +.inputTitle { + margin-top: 14px; + margin-bottom: 10px; +} + +.topNav { + margin-top: 24px; + margin-bottom: 16px; + width: 100%; + box-sizing: border-box; + + a { + &:visited { + color: black; + } + + &:active { + color: #33c9af; + } + } +} + +.topNavLeft { + display: inline-block; + margin-left: 25px; + + a { + text-decoration: none; + color: inherit; + } +} + +.topNavRight { + float: right; + margin-right: 25px; +} + +.fa-sign-out { + margin-left: 15px; +} + +.inputPage0 { + width: 384px; + padding-right: 45px; + padding-left: 10px; + margin-top: 10px; + height: 40px; + box-sizing: border-box; + border: 0; + border-radius: 10px; +} + +.inputFields { + display: flex; + flex-direction: row; +} + +.LeftInput { + display: flex; + flex-basis: 50%; + flex-direction: column; + margin-right: 5px; +} + +.rightInput { + display: flex; + flex-basis: 50%; + flex-direction: column; + margin-left: 5px; +} + +.stepTitle { + font-weight: normal; +} + +.btnP1 { + width: auto; + height: auto; + padding: 11px; + color: #fff; + margin: 7.5px 22px 7.5px 0px; + background-color: #33c9ae; + border: none; + border-radius: 6px; + text-align: center; + float: right; +} + +.btnP2 { + margin-top: 30px; + margin-right: 25px; +} + +.deleteMsg { + margin: 15px 0px 0px 4px; + color: red; + display: inline-block; +} + +.fa-trash-can { + color: red; + display: inline-block; + margin-left: 24px; +} + +.viewRightBottomParent { + border-radius: 5px; + display: flex; + flex-grow: 1; + flex-direction: column; + background-color: white; + margin-left: 25px; + margin-right: 25px; + margin-top: 25px; + margin-bottom: 25px; + + > div { + &:first-child { + margin: 25px 0px 10px 22px; + font-size: 17px; + } + } +} + +.viewRightBottomChild { + display: flex; + flex-direction: row; +} + +.viewRightBottomL { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.viewRightBottomR { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.viewRightBottomLemail { + display: flex; + flex-direction: column; +} + +.viewRightBottomLname { + display: flex; + flex-direction: column; +} + +.viewRightBottomLidType { + display: flex; + flex-direction: column; +} + +.viewRightBottomLid { + display: flex; + flex-direction: column; +} + +.viewRightBottomLpublicKey { + display: flex; + flex-direction: column; +} + +.viewRightBottomRphone { + display: flex; + flex-direction: column; +} + +.viewRightBottomRaddress { + display: flex; + flex-direction: column; +} + +.viewRightBottomRbankName { + display: flex; + flex-direction: column; +} + +.viewRightBottomRbankAccount { + display: flex; + flex-direction: column; +} + +.viewRightBottomRprivateKey { + display: flex; + flex-direction: column; +} + +.indexParent { + display: flex; + flex-direction: row; + overflow: hidden; +} + +.leftIndex { + flex-basis: 50%; + height: 100vh; +} + +.rightIndex { + flex-basis: 50%; + height: 100vh; + background-color: #33c9ae; + background-size: contain; +} + +.background0 { + width: 100%; + height: 100%; + background-size: cover; +} + +.loginContainer { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100vh; +} + +.page0 { + position: relative; + color: #102854; + left: -81px; +} + +.page1 { + position: relative; + color: #102854; + left: -120px; +} + +.page0h5 { + display: inline-block; + color: #102854; +} + +.createNewAccount { + > a { + > h5 { + text-decoration: underline; + } + } +} + +.termsCondition { + width: 320px; + box-sizing: border-box; + margin: auto; +} + +.termsCondition0 { + display: inline-block; + color: #102854; + margin-top: 14px; + margin-bottom: 14px; + font-size: 10px; + font-weight: normal; +} + +.termsCondition1 { + display: inline-block; + color: #102854; + margin-top: 14px; + margin-bottom: 14px; + font-size: 10px; +} + +.accountCheck { + > h5 { + &:first-child { + font-weight: normal; + } + } + + > a { + > h5 { + text-decoration: underline; + } + } +} + +.emailAddress0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; + + .fa { + position: absolute; + right: 19px; + top: 41px; + color: black; + } +} + +.password0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; + + .fa { + position: absolute; + right: 19px; + top: 41px; + color: black; + } +} + +.signUP0 { + position: relative; + margin: 7.5px 0px 7.5px 0px; + color: #102854; + + .fa-regular { + position: absolute; + right: 19px; + top: 41px; + color: black; + } + + .fa-solid { + position: absolute; + right: 19px; + top: 41px; + color: black; + } +} + +.btn0 { + button { + width: 384px; + height: 47px; + color: #fff; + margin-top: 10px; + background-color: #102854; + border: none; + border-radius: 6px; + text-align: center; + font-weight: bold; + box-sizing: border-box; + } +} + +.notFoundContainer { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + height: 100vh; +} + +.button404 { + background-color: transparent; + color: white; + text-align: center; + border: 1px solid white; + border-radius: 5px; + width: 130px; + height: 50px; + box-sizing: border-box; + + &:hover { + background-color: #37bfa6; + } +} + +.background404 { + display: inline-block; + margin-top: 0; + font-size: 15px; + color: white; + background-image: url("../imgs/404.png"); + width: 483px; + height: 418px; + margin-right: 30px; +} + +.textContent { + display: inline-block; + margin-top: 0; + font-size: 15px; + color: white; + + .notFoundH1 { + font-size: 104px; + margin: 0; + } + + .notFoundH2 { + font-size: 32px; + font-weight: 500; + margin: 0px; + } + + .notFoundH5 { + font-size: 19px; + font-weight: normal; + margin-top: 17px; + } +} + +.switch { + position: relative; + display: inline-block; + width: 60px; + height: 34px; + + input { + opacity: 0; + width: 0; + height: 0; + } +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.4s; + transition: 0.4s; + + &:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; + } +} + +.slider.round { + border-radius: 34px; + + &:before { + border-radius: 50%; + } +} + +.vehiclesTable { + margin-left: 25px; + margin-right: 25px; +} + +.vehicleHead { + display: flex; + margin-left: 20px; +} + +.vehicleRow { + background-color: #fff; + border-radius: 7px; + height: 68px; + margin-bottom: 20px; + display: flex; +} + +.headData { + flex-basis: 30%; + flex-grow: 1; +} + +.dataAction { + flex-basis: 10%; +} + +.tableData { + flex-basis: 30%; + flex-grow: 1; + padding-top: 25px; + margin-left: 30px; +} + +.tableData1 { + flex-basis: 10%; +} + +.vehicleBody { + margin-top: 24px; +} + +.HeadData { + margin-bottom: 68px; +} + +button { + cursor: pointer; +} + +@media (min-width: 1226px) { + .logo2 { + display: none; + } +} + +@media (max-width: 1225px) { + .dashBoardSelection { + display: none; + } + .mainDashboard { + display: initial; + } + .dashBoardView { + flex-basis: 100%; + + h2 { + margin-top: 12px; + } + } + .dashBoardViewChild1 { + flex-direction: column; + } + .viewLeft { + flex-grow: 1; + width: auto; + margin-bottom: 25px; + } + .viewRight { + flex-grow: 1; + width: auto; + margin-bottom: 25px; + } +} + +@media (max-width: 868px) { + .leftIndex { + display: none; + } + .rightIndex { + flex-basis: 100%; + } +} + +@media (max-width: 1065px) { + .notFoundContainer { + flex-direction: column; + } + .textContent { + margin-top: 20px; + text-align: center; + width: 450px; + + .notFoundH1 { + font-size: 90px; + } + + .notFoundH2 { + font-size: 22px; + } + + .notFoundH5 { + font-size: 19px; + } + } +} + +.home { + height: 100vh; + width: 100vw; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: "Roboto", sans-serif; + + h1 { + font-size: 42px; + } + + img { + margin-bottom: 25px; + } + + .links { + a { + //text-decoration: none; + color: white; + margin-right: 15px; + border: 1px solid #102854; + + &:hover { + background: #102854; + } + } + } +} + +.dashBoardSelection { + .logo, .hrHT { + margin-bottom: 10px; + } +} + +.signup, .signin { + .accountCheck, .createNewAccount { + margin-top: 10px; + + * { + font-size: 14px; + } + } + + .page1, .page0 { + font-size: 34px; + } + + .inputPage0 { + margin-top: 5px; + } +} + +.home_dashboard { + .dashBoardView { + h3 { + margin-left: 20px; + margin-top: 20px; + } + } + + .blocks { + display: flex; + flex-direction: row; + + .block { + display: flex; + flex-direction: row; + justify-content: space-between; + + .info { + .number { + + } + + .title { + + } + } + + .icon { + + } + + } + } +} + +.vehicles, .users { + .title-and-button { + margin: 20px 0; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + + h2, a, button { + margin-top: 0; + margin-bottom: 0; + } + + a { + cursor: pointer; + + &:hover { + color: white; + text-decoration: none; + } + } + } + + .table-container { + padding: 20px; + } +} + +.viewRightTop > div:first-child, .viewLeft > div:first-child, .viewRightBottomParent > div:first-child { + margin-top: 15px; +} + +.viewLeft { + padding-bottom: 20px; + height: auto; +} + +.viewRightTop { + margin-right: 0; +} + +.inputBlock { + margin-bottom: 0; + + label { + margin-bottom: 0; + } + + .inputTitle { + margin-top: 10px; + } +} + +.add_vehicle { +} + +.profile { + .viewLeftName { + margin-top: 15px !important; + } + + .viewLeftOption { + margin-top: 15px; + } + + .viewRight { + margin-right: 25px; + margin-left: 25px; + + & > * { + margin-left: 0; + } + + .viewRightBottomParent { + margin-right: 0; + } + } + + .viewLeft { + margin-bottom: 25px; + } + + .viewRightTop, + .viewRightBottomParent { + padding-bottom: 25px; + } +} diff --git a/resources/views/404.ejs b/resources/views/404.ejs new file mode 100644 index 00000000..a81114ee --- /dev/null +++ b/resources/views/404.ejs @@ -0,0 +1,11 @@ +
+
+
+

404

+

Oops. This page has gone missing

+
Yous may have mistyped the address or the page may have removed
+ + + +
+
diff --git a/resources/views/banks/list.ejs b/resources/views/banks/list.ejs new file mode 100644 index 00000000..98bf8e67 --- /dev/null +++ b/resources/views/banks/list.ejs @@ -0,0 +1,75 @@ + +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+
+ Dashboard + + Banks +
+
+ + + + +
+
+
+
+

Banks

+
+ +
+
+
+ + + + + + + + + <% if(locals.banks && locals.banks.length) { %> + <% locals.banks.forEach((bank, key)=> { %> + + + + + <% }) %> + <% }else { %> + + <% } %> + +
Bank NameUser Name
<%= bank.bank_name %><%= users[key].user_name %>
There is no banks
+
+
+
+
+
+
diff --git a/resources/views/dashboard.ejs b/resources/views/dashboard.ejs new file mode 100644 index 00000000..a3b41e69 --- /dev/null +++ b/resources/views/dashboard.ejs @@ -0,0 +1,52 @@ +
+
+ <%- include('partials/sidebar') %> +
+

Dashboard

+
+
+
+
5000
+
Total Vehicles
+
+
+ +
+
+
+
+
5000
+
Total Licenses
+
+
+ +
+
+
+
+
5000
+
Total Translations
+
+
+ +
+
+
+
+
5000
+
+
+
+ +
+
+
+
+
+
+ + diff --git a/resources/views/home.ejs b/resources/views/home.ejs new file mode 100644 index 00000000..852b28c3 --- /dev/null +++ b/resources/views/home.ejs @@ -0,0 +1,12 @@ +
+ Vehicle Registration System + +
+ diff --git a/resources/views/layout.ejs b/resources/views/layout.ejs new file mode 100644 index 00000000..067c6efe --- /dev/null +++ b/resources/views/layout.ejs @@ -0,0 +1,41 @@ + + + + + + + Vehicle Registration System + + + + + + + + + + + +<% if(Object.keys(locals.message).length !== 0 && locals.message["success"] !== undefined){ %> + +<% } %> +<% if(Object.keys(locals.message).length !== 0 && locals.message["error"] !== undefined){ %> + +<% } %> +<%- body %> + + + + + + + + diff --git a/resources/views/licenses/add.ejs b/resources/views/licenses/add.ejs new file mode 100644 index 00000000..ba582d02 --- /dev/null +++ b/resources/views/licenses/add.ejs @@ -0,0 +1,65 @@ +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+ +
+ + + +
+
+
+
+
+

Add a license

+ +
+
+
+
+
+
Select the vehicle
+
+
+
Vehicle Name
+ +
+
+
+
+
+
+
+
+
diff --git a/resources/views/licenses/list.ejs b/resources/views/licenses/list.ejs new file mode 100644 index 00000000..cc729d9b --- /dev/null +++ b/resources/views/licenses/list.ejs @@ -0,0 +1,86 @@ + +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+ +
+ + + + +
+
+
+
+

Licenses

+ +
+ +
+
+
+ + + + + + <% if (locals.currentUserRole !== 'admin'){ %> + + <% } %> + + + + <% if(locals.licenses && locals.licenses.length) { %> + <% locals.licenses.forEach((license, key)=> { %> + + + + <% if (locals.currentUserRole !== 'admin'){ %> + + <% } %> + + <% }) %> + <% }else { %> + + <% } %> + +
Vehicle NameExpire AtActions
<%= vehicles[key].vehicle_name %><%= locals.timeConverter(license.expire_at) %> + <% if(currentTime > (parseInt(license.expire_at))){ %> + Renewal + <% } %> +
There is no licenses
+
+
+
+
+
+
diff --git a/resources/views/manufacturers/list.ejs b/resources/views/manufacturers/list.ejs new file mode 100644 index 00000000..a2e21938 --- /dev/null +++ b/resources/views/manufacturers/list.ejs @@ -0,0 +1,75 @@ + +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+ +
+ + + + +
+
+
+
+

Manufacturers

+
+ +
+
+
+ + + + + + + + + <% if(locals.manufactures && locals.manufactures.length) { %> + <% locals.manufactures.forEach((manufacture, key)=> { %> + + + + + <% }) %> + <% }else { %> + + <% } %> + +
Manufacturer NameUser Name
<%= manufacture.manufacture_name %><%= users[key].user_name %>
There is no manufactures
+
+
+
+
+
+
diff --git a/resources/views/partials/sidebar.ejs b/resources/views/partials/sidebar.ejs new file mode 100644 index 00000000..321cb9c8 --- /dev/null +++ b/resources/views/partials/sidebar.ejs @@ -0,0 +1,55 @@ +
+ +
+ + + + + + + +
+ + Profile +
+
+ +
+ + Vehicles +
+
+ +
+ + Licenses +
+
+ <% if (locals.currentUserRole === 'admin') { %> + +
+ + Users +
+
+ +
+ + Banks +
+
+ +
+ + Manufacturers +
+
+ <% } %> +
+ + + Logout + +
diff --git a/resources/views/user/list.ejs b/resources/views/user/list.ejs new file mode 100644 index 00000000..fcb322d2 --- /dev/null +++ b/resources/views/user/list.ejs @@ -0,0 +1,78 @@ + +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+
+ Dashboard + + Users +
+
+ + + +
+
+
+
+

Users

+
+ +
+
+
+ + + + + + + + + + + <% if(locals.users && locals.users.length) { %> + <% locals.users.forEach((user)=> { %> + + + + + + + <% }) %> + <% }else { %> + + <% } %> + +
User AddressUser Full NameUser EmailUser Role
<%= user.user_address %><%= user.user_name %><%= user.user_email %><%= locals.capitalize(locals.roles(user.role)) %>
There is no users
+
+
+
+
+
+
diff --git a/resources/views/user/login.ejs b/resources/views/user/login.ejs new file mode 100644 index 00000000..0d783cca --- /dev/null +++ b/resources/views/user/login.ejs @@ -0,0 +1,43 @@ +
+
+
+ # +
+
+
+
+

Log in

+

Welcome Back!

+
+
+
+
Email Address
+ + +
+
+
Password
+ + +
+
+ +
+
+
+
Don't have an account?
+ +
Create one now
+
+
+
+
+
+ +
diff --git a/resources/views/user/profile.ejs b/resources/views/user/profile.ejs new file mode 100644 index 00000000..428db147 --- /dev/null +++ b/resources/views/user/profile.ejs @@ -0,0 +1,139 @@ +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+
+ Dashboard + + Profile +
+
+ + + +
+
+
+
+
+

Profile

+ +
+
+
+
+
+
Change Password
+
+
+
Password
+ +
+
+
Confirm Password
+ +
+
+
+
Personal Information
+
+
+
+
+
Full Name
+ +
+
+
Email
+ +
+
+
National ID
+ +
+
+
Public Address
+ +
+
+
+
+
Phone Number
+ +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/user/signup.ejs b/resources/views/user/signup.ejs new file mode 100644 index 00000000..4bd2c258 --- /dev/null +++ b/resources/views/user/signup.ejs @@ -0,0 +1,88 @@ +
+
+
+ # +
+
+
+
+

Sign up.

+

Welcome!

+
+
+
+
Full name (The first four names)
+ + +
+
+
Email Address
+ + +
+
+
National ID
+ + +
+
+
Public Address
+ + +
+
+
Phone
+ + +
+
+
Password
+ + +
+ + + + + + + + +
+ +
+
+
+
Have an account?
+ +
Log in
+
+
+
+
+
+
diff --git a/resources/views/vehicles/add.ejs b/resources/views/vehicles/add.ejs new file mode 100644 index 00000000..a4480d64 --- /dev/null +++ b/resources/views/vehicles/add.ejs @@ -0,0 +1,147 @@ +<% var currentPage %> +<% if (locals.page && locals.page.includes("edit")) { + currentPage = 'edit' + var id = locals.page.split("/")[locals.page.split("/").length - 1] +} else { + currentPage = 'add' +} %> +
+
+ <%- include('../partials/sidebar') %> +
+
+ + +
+ +
+
+ + # + +
+ +
+
+
+

<%= currentPage === 'add' ? 'Add a new vehicle' : 'Edit vehicle' %>

+ +
+
+
+
+
General Information
+
+
+
Owner Address
+ +
+ + + + + + + +
+
+
+
Owner Information
+
+
+
Vehicle Name
+ +
+
+
Vehicle Model
+ +
+
+
Vehicle Type
+ +
+
+
+
+
Production Year
+ +
+
+
Motor Number
+ +
+
+
+
+
Color
+ +
+
+
Chassis Number
+ +
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/vehicles/list.ejs b/resources/views/vehicles/list.ejs new file mode 100644 index 00000000..85074002 --- /dev/null +++ b/resources/views/vehicles/list.ejs @@ -0,0 +1,86 @@ + +
+
+ <%- include('../partials/sidebar') %> +
+
+ + + +
+ +
+
+ + # + +
+
+ +
+ + + + +
+
+
+
+

Vehicles

+ <% if(locals.currentUserRole === "manufacture") { %> + Add a vehicle + <% } %> +
+ +
+
+
+ + + + + + <% if (locals.currentUserRole !== 'admin'){ %> + + <% } %> + + + + <% if(locals.vehicles && locals.vehicles.length) { %> + <% locals.vehicles.forEach((vehicle, key)=> { %> + + + + <% if (locals.currentUserRole !== 'admin'){ %> + + <% } %> + + <% }) %> + <% }else { %> + + <% } %> + +
Vehicle NameVehicle TypeAction
<%= vehicle.vehicle_name %><%= vehicle.vehicle_type %> + Edit +
There is no vehicles
+
+
+
+
+
+
diff --git a/routes/banks.js b/routes/banks.js new file mode 100644 index 00000000..ffa8a770 --- /dev/null +++ b/routes/banks.js @@ -0,0 +1,8 @@ +const BanksController = require("../app/controllers/BanksController"); +const admin = require("../app/middlewares/admin"); + +function banksRoutes(app) { + app.get("/banks", admin, BanksController().allBanks) +} + +module.exports = banksRoutes diff --git a/routes/home.js b/routes/home.js new file mode 100644 index 00000000..2f8d5913 --- /dev/null +++ b/routes/home.js @@ -0,0 +1,14 @@ +function homeRoutes(app) { + app.get("/", function (req, res, next) { + // (res.locals, req.session, req.locals) + if (!req.session.user) { + res.render("home") + } else { + res.render("user/profile", { + user: req.session.user + }) + } + }) +} + +module.exports = homeRoutes diff --git a/routes/licenses.js b/routes/licenses.js new file mode 100644 index 00000000..3ad22ce8 --- /dev/null +++ b/routes/licenses.js @@ -0,0 +1,10 @@ +const LicensesController = require("../app/controllers/LicensesController"); +const auth = require("../app/middlewares/auth") + +function licensesRoutes(app) { + app.get("/licenses", auth, LicensesController().allLicenses) + app.get("/licenses/add", auth, LicensesController().add) + app.get("/licenses/renewal/:id/:expire_at", auth, LicensesController().renewal) +} + +module.exports = licensesRoutes diff --git a/routes/manufacturers.js b/routes/manufacturers.js new file mode 100644 index 00000000..400ec77a --- /dev/null +++ b/routes/manufacturers.js @@ -0,0 +1,8 @@ +const ManufacturersController = require("../app/controllers/ManufacturersController"); +const admin = require("../app/middlewares/admin"); + +function manufacturersRoutes(app) { + app.get("/manufacturers", admin, ManufacturersController().allManufacturers) +} + +module.exports = manufacturersRoutes diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 00000000..986bc04c --- /dev/null +++ b/routes/users.js @@ -0,0 +1,21 @@ +const UsersController = require("../app/controllers/UsersController"); +const guest = require("../app/middlewares/guest"); +const auth = require("../app/middlewares/auth"); +const admin = require("../app/middlewares/admin"); + +function userRoutes(app) { + app.get("/signup", guest, UsersController().signup) + app.post("/signup", guest, UsersController().signupPost) + + app.get("/login", guest, UsersController().login) + app.post("/login", guest, UsersController().loginPost) + + app.get("/logout", auth, UsersController().logout) + + app.get("/users", admin, UsersController().users) + + app.get("/profile", auth, UsersController().profile) + app.post("/profile", auth, UsersController().profilePost) +} + +module.exports = userRoutes; diff --git a/routes/vehicles.js b/routes/vehicles.js new file mode 100644 index 00000000..0be0f4c1 --- /dev/null +++ b/routes/vehicles.js @@ -0,0 +1,14 @@ +const VehiclesController = require("../app/controllers/VehiclesController"); +const auth = require("../app/middlewares/auth"); + +function vehiclesRoutes(app) { + app.get("/vehicles", auth, VehiclesController().allVehicles) + + app.get("/vehicles/add", auth, VehiclesController().addVehicle) + app.post("/vehicles/add", auth, VehiclesController().addVehiclePost) + + app.get("/vehicles/edit/:id", auth, VehiclesController().editVehicle) + app.post("/vehicles/edit/:id", auth, VehiclesController().editVehiclePost) +} + +module.exports = vehiclesRoutes diff --git a/test/.gitkeep b/test/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/truffle-config.js b/truffle-config.js new file mode 100644 index 00000000..87afb95d --- /dev/null +++ b/truffle-config.js @@ -0,0 +1,128 @@ +/** + * Use this file to configure your truffle project. It's seeded with some + * common settings for different networks and features like migrations, + * compilation and testing. Uncomment the ones you need or modify + * them to suit your project as necessary. + * + * More information about configuration can be found at: + * + * trufflesuite.com/docs/advanced/configuration + * + * To deploy via Infura you'll need a wallet provider (like @truffle/hdwallet-provider) + * to sign your transactions before they're sent to a remote public node. Infura accounts + * are available for free at: infura.io/register. + * + * You'll also need a mnemonic - the twelve word phrase the wallet uses to generate + * public/private key pairs. If you're publishing your code to GitHub make sure you load this + * phrase from a file you've .gitignored so it doesn't accidentally become public. + * + */ + +// const HDWalletProvider = require('@truffle/hdwallet-provider'); +// +// const fs = require('fs'); +// const mnemonic = fs.readFileSync(".secret").toString().trim(); + +module.exports = { + /** + * Networks define how you connect to your ethereum client and let you set the + * defaults web3 uses to send transactions. If you don't specify one truffle + * will spin up a development blockchain for you on port 9545 when you + * run `develop` or `test`. You can ask a truffle command to use a specific + * network from the command line, e.g + * + * $ truffle test --network + */ + + networks: { + development: { + host: "127.0.0.1", // Localhost (default: none) + port: 7545, // Standard Ethereum port (default: none) + network_id: "5777", + gas: 9007199254740991, + gasPrice: 1 + } + + + // Useful for testing. The `development` name is special - truffle uses it by default + // if it's defined here and no other network is specified at the command line. + // You should run a client (like ganache-cli, geth or parity) in a separate terminal + // tab if you use this network and you must also set the `host`, `port` and `network_id` + // options below to some value. + // + // development: { + // host: "127.0.0.1", // Localhost (default: none) + // port: 8545, // Standard Ethereum port (default: none) + // network_id: "*", // Any network (default: none) + // }, + // Another network with more advanced options... + // advanced: { + // port: 8777, // Custom port + // network_id: 1342, // Custom network + // gas: 8500000, // Gas sent with each transaction (default: ~6700000) + // gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) + // from:
, // Account to send txs from (default: accounts[0]) + // websocket: true // Enable EventEmitter interface for web3 (default: false) + // }, + // Useful for deploying to a public network. + // NB: It's important to wrap the provider as a function. + // ropsten: { + // provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`), + // network_id: 3, // Ropsten's id + // gas: 5500000, // Ropsten has a lower block limit than mainnet + // confirmations: 2, // # of confs to wait between deployments. (default: 0) + // timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) + // skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) + // }, + // Useful for private networks + // private: { + // provider: () => new HDWalletProvider(mnemonic, `https://network.io`), + // network_id: 2111, // This network is yours, in the cloud. + // production: true // Treats this network as if it was a public net. (default: false) + // } + }, + + // Set default mocha options here, use special reporters etc. + mocha: { + // timeout: 100000 + }, + + // Configure your compilers + compilers: { + "solc": { + version: "^0.8.11", // Fetch exact version from solc-bin (default: truffle's version) + // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) + // settings: { // See the solidity docs for advice about optimization and evmVersion + optimizer: { + enabled: true, + runs: 1000, + details: { + yul: false + } + } + // evmVersion: "byzantium" + // } + } + } + + // Truffle DB is currently disabled by default; to enable it, change enabled: + // false to enabled: true. The default storage location can also be + // overridden by specifying the adapter settings, as shown in the commented code below. + // + // NOTE: It is not possible to migrate your contracts to truffle DB and you should + // make a backup of your artifacts to a safe location before enabling this feature. + // + // After you backed up your artifacts you can utilize db by running migrate as follows: + // $ truffle migrate --reset --compile-all + // + // db: { + // enabled: false, + // host: "127.0.0.1", + // adapter: { + // name: "sqlite", + // settings: { + // directory: ".db" + // } + // } + // } +}; diff --git a/utilities/accounts.js b/utilities/accounts.js new file mode 100644 index 00000000..5d3fea2b --- /dev/null +++ b/utilities/accounts.js @@ -0,0 +1,16 @@ +const Web3 = require("web3"); + +async function accounts() { + const web3 = new Web3(new Web3.providers.HttpProvider(process.env.WEB3_PROVIDER_URL || "http://127.0.0.1:7545")); + return await web3.eth.getAccounts() +} + +async function getFirstAccount() { + const allAccounts = await accounts() + return allAccounts.length ? allAccounts[0] : ""; +} + +module.exports = { + accounts, + getFirstAccount +} diff --git a/utilities/capitalize.js b/utilities/capitalize.js new file mode 100644 index 00000000..d4d920a0 --- /dev/null +++ b/utilities/capitalize.js @@ -0,0 +1,5 @@ +function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} + +module.exports = capitalize diff --git a/utilities/contract.js b/utilities/contract.js new file mode 100644 index 00000000..b3bc4786 --- /dev/null +++ b/utilities/contract.js @@ -0,0 +1,13 @@ +const Web3 = require("web3"); +const VehicleSystem = require("../build/contracts/VehicleSystem.json"); + +async function contract() { + const web3 = new Web3(new Web3.providers.HttpProvider(process.env.WEB3_PROVIDER_URL || "http://127.0.0.1:7545")); + let abi = VehicleSystem.abi + const contract_address = VehicleSystem.networks[process.env.NETWORK_ID].address + return new web3.eth.Contract(abi, contract_address); +} + + +module.exports = contract + diff --git a/utilities/roles.js b/utilities/roles.js new file mode 100644 index 00000000..15855d52 --- /dev/null +++ b/utilities/roles.js @@ -0,0 +1,11 @@ +function roles(role) { + const allRoles = [ + 'customer', + 'manufacture', + 'bank', + 'admin' + ] + return allRoles[role] +} + +module.exports = roles diff --git a/yarn-error.log b/yarn-error.log new file mode 100644 index 00000000..ab7d3563 --- /dev/null +++ b/yarn-error.log @@ -0,0 +1,3924 @@ +Arguments: + C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\yarn\bin\yarn.js + +PATH: + C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\ImageMagick-7.1.0-Q16-HDRI;C:\Program Files\Python310\Scripts\;C:\Program Files\Python310\;C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files\Microsoft MPI\Bin\;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\xampp\php;C:\composer;C:\Program Files\Git\cmd;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Symfony;C:\Program Files\PuTTY\;C:\Program Files\dotnet\;C:\Program Files (x86)\dotnet\;C:\Users\Mina\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Users\Mina\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\Mina\AppData\Local\Programs\Python\Python310\;C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files\Microsoft MPI\Bin\;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\xampp\php;C:\composer;C:\Program Files\Git\cmd;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Pr;C:\Users\Mina\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Mina\OneDrive\Desktop\blockchain-projects\Back-end\node_modules\.bin + +Yarn version: + 1.22.17 + +Node version: + 14.19.0 + +Platform: + win32 x64 + +Trace: + Error: EPERM: operation not permitted, unlink 'C:\Users\Mina\OneDrive\Desktop\blockchain-projects\Back-end\node_modules\utf-8-validate\prebuilds\win32-x64\node.napi.node' + +npm manifest: + { + "name": "folder", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "nodemon ./bin/www" + }, + "dependencies": { + "cookie-parser": "~1.4.4", + "debug": "~2.6.9", + "dotenv": "^16.0.1", + "ejs": "^3.1.8", + "express": "~4.16.1", + "express-handlebars": "^5.3.4", + "express-session": "^1.17.3", + "express-validator": "^5.3.1", + "hbs": "~4.0.4", + "http-errors": "~1.6.3", + "mongodb": "^4.1.3", + "morgan": "~1.9.1", + "nodemon": "^2.0.13", + "noty": "^3.2.0-beta-deprecated", + "web3": "^1.7.3" + } + } + +yarn manifest: + No manifest + +Lockfile: + # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + # yarn lockfile v1 + + + "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.3": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.4.tgz#1b3cdd3aa4ee3b0ca366756fc35e4a03022a01cc" + integrity sha512-RDJh/R/EAr+B7ZRg5LfJ0BIpf/1LydFgYdvZEuTraojCbVypO2sQ+QnpP5u2wJf9DASyooKqu8O4FJEWUV6NXw== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.4" + + "@ethereumjs/tx@^3.3.2": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.1.tgz#8d941b83a602b4a89949c879615f7ea9a90e6671" + integrity sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA== + dependencies: + "@ethereumjs/common" "^2.6.3" + ethereumjs-util "^7.1.4" + + "@ethersproject/abi@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" + 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" + + "@ethersproject/abstract-provider@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz#0c4ac7054650dbd9c476cf5907f588bbb6ef3061" + integrity sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/networks" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/transactions" "^5.6.0" + "@ethersproject/web" "^5.6.0" + + "@ethersproject/abstract-signer@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.1.tgz#54df786bdf1aabe20d0ed508ec05e0aa2d06674f" + integrity sha512-xhSLo6y0nGJS7NxfvOSzCaWKvWb1TLT7dQ0nnpHZrDnC67xfnWm9NXflTMFPUXXMtjr33CdV0kWDEmnbrQZ74Q== + dependencies: + "@ethersproject/abstract-provider" "^5.6.0" + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + + "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.0.tgz#13c49836d73e7885fc148ad633afad729da25012" + integrity sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/keccak256" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/rlp" "^5.6.0" + + "@ethersproject/base64@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.0.tgz#a12c4da2a6fb86d88563216b0282308fc15907c9" + integrity sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw== + dependencies: + "@ethersproject/bytes" "^5.6.0" + + "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.1.tgz#d5e0da518eb82ab8d08ca9db501888bbf5f0c8fb" + integrity sha512-UtMeZ3GaUuF9sx2u9nPZiPP3ULcAFmXyvynR7oHl/tPrM+vldZh7ocMsoa1PqKYGnQnqUZJoqxZnGN6J0qdipA== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + bn.js "^4.11.9" + + "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7" + integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g== + dependencies: + "@ethersproject/logger" "^5.6.0" + + "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.0.tgz#55e3eb0918584d3acc0688e9958b0cedef297088" + integrity sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + + "@ethersproject/hash@^5.0.4": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.0.tgz#d24446a5263e02492f9808baa99b6e2b4c3429a2" + integrity sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA== + dependencies: + "@ethersproject/abstract-signer" "^5.6.0" + "@ethersproject/address" "^5.6.0" + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/keccak256" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/strings" "^5.6.0" + + "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.0.tgz#fea4bb47dbf8f131c2e1774a1cecbfeb9d606459" + integrity sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w== + dependencies: + "@ethersproject/bytes" "^5.6.0" + js-sha3 "0.8.0" + + "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a" + integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== + + "@ethersproject/networks@^5.6.0": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.2.tgz#2bacda62102c0b1fcee408315f2bed4f6fbdf336" + integrity sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA== + dependencies: + "@ethersproject/logger" "^5.6.0" + + "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04" + integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg== + dependencies: + "@ethersproject/logger" "^5.6.0" + + "@ethersproject/rlp@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.0.tgz#55a7be01c6f5e64d6e6e7edb6061aa120962a717" + integrity sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + + "@ethersproject/signing-key@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.1.tgz#31b0a531520616254eb0465b9443e49515c4d457" + integrity sha512-XvqQ20DH0D+bS3qlrrgh+axRMth5kD1xuvqUQUTeezxUTXBOeR6hWz2/C6FBEu39FRytyybIWrYf7YLSAKr1LQ== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.7" + + "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.0.tgz#9891b26709153d996bf1303d39a7f4bc047878fd" + integrity sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/constants" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + + "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.0.tgz#4b594d73a868ef6e1529a2f8f94a785e6791ae4e" + integrity sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg== + dependencies: + "@ethersproject/address" "^5.6.0" + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/constants" "^5.6.0" + "@ethersproject/keccak256" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/rlp" "^5.6.0" + "@ethersproject/signing-key" "^5.6.0" + + "@ethersproject/web@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.0.tgz#4bf8b3cbc17055027e1a5dd3c357e37474eaaeb8" + integrity sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg== + dependencies: + "@ethersproject/base64" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/strings" "^5.6.0" + + "@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + + "@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + + "@types/bn.js@^4.11.5": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + + "@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + + "@types/node@*": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.35.tgz#635b7586086d51fb40de0a2ec9d1014a5283ba4a" + integrity sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg== + + "@types/node@^12.12.6": + version "12.20.52" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.52.tgz#2fd2dc6bfa185601b15457398d4ba1ef27f81251" + integrity sha512-cfkwWw72849SNYp3Zx0IcIs25vABmFh73xicxhCkTcvtZQeIez15PpwQN8fY3RD7gv1Wrxlc9MEtfMORZDEsGw== + + "@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + + "@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + + "@types/webidl-conversions@*": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz#e33bc8ea812a01f63f90481c666334844b12a09e" + integrity sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q== + + "@types/whatwg-url@^8.2.1": + version "8.2.1" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.1.tgz#f1aac222dab7c59e011663a0cb0a3117b2ef05d4" + integrity sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ== + dependencies: + "@types/node" "*" + "@types/webidl-conversions" "*" + + abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + + accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + + ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + + ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + + ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + + ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + + anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + + array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + + asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + + asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + + assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + + async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + + async@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== + + asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + + available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + + aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + + aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + + balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + + base-x@^3.0.2, base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + + base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + + basic-auth@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + + bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + + bignumber.js@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" + integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== + + binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + + blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + + bluebird@^3.5.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + + bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.6, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + + bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + + body-parser@1.18.3: + version "1.18.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + integrity sha512-YQyoqQG3sO8iCmf8+hyVpgHHOv0/hCEFiS4zTGUwTA1HjAFX66wRcNQrVCeJq9pgESMRvUAOvSil5MJlmccuKQ== + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "~1.6.3" + iconv-lite "0.4.23" + on-finished "~2.3.0" + qs "6.5.2" + raw-body "2.3.3" + type-is "~1.6.16" + + body-parser@1.20.0, body-parser@^1.16.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + 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.10.3" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + + boxen@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + + brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + + brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + + braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + + brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + + browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + 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" + + browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + + browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + 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" + + browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + + browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + + bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + + bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + + bson@^4.6.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.4.tgz#e66d4a334f1ab230dfcfb9ec4ea9091476dd372e" + integrity sha512-TdQ3FzguAu5HKPPlr0kYQCyrYUYh8tFM+CMTpxjNzVzxeiJY00Rtuj3LXLHSgiGvmaWlZ8PE+4KyM2thqE38pQ== + dependencies: + buffer "^5.6.0" + + buffer-to-arraybuffer@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== + + buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + + buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + + bufferutil@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433" + integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== + dependencies: + node-gyp-build "^4.3.0" + + bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + + bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + + cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + 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" + + call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + + camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + + caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + + chalk@^4.0.2, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + + chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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" + optionalDependencies: + fsevents "~2.3.2" + + chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + + ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + + cids@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + + class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + + cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + + clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + + color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + + color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + + combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + + concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + + configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + + content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= + + content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + + content-hash@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" + integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== + dependencies: + cids "^0.7.1" + multicodec "^0.5.5" + multihashes "^0.4.15" + + content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + + cookie-parser@~1.4.4: + version "1.4.6" + resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" + integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== + dependencies: + cookie "0.4.1" + cookie-signature "1.0.6" + + cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + + cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + + cookie@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + + cookie@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + + cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + + cookiejar@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" + integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + + core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + + cors@^2.8.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + + crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + + create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + + create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + 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" + + create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + 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" + + crypto-browserify@3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + 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" + + crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + + d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + + dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + + debug@2.6.9, debug@^2.2.0, debug@~2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + + debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + + decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + + decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + + deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + + defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + + define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + + delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + + denque@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a" + integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ== + + depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + + depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + + des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + + destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + + destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + + diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + + dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + + dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + + dotenv@^16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d" + integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== + + duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + + ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + + ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + + ejs@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" + integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== + dependencies: + jake "^10.8.5" + + elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + 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" + + emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + + encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + + end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + + es-abstract@^1.19.0, es-abstract@^1.19.5, es-abstract@^1.20.0: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + + es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + + es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.61" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" + integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + + es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + + es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + + escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + + escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + + etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + + eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + + eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + + eth-lib@^0.1.26: + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== + 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" + + ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + + ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + 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" + + ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz#a6885bcdd92045b06f596c7626c3e89ab3312458" + integrity sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A== + 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" + + ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + + eventemitter3@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + + evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + + express-handlebars@^5.3.4: + version "5.3.5" + resolved "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-5.3.5.tgz#a04a1e670aa97d5b3a8080de8336f79228593540" + integrity sha512-r9pzDc94ZNJ7FVvtsxLfPybmN0eFAUnR61oimNPRpD0D7nkLcezrkpZzoXS5TI75wYHRbflPLTU39B62pwB4DA== + dependencies: + glob "^7.2.0" + graceful-fs "^4.2.8" + handlebars "^4.7.7" + + express-session@^1.17.3: + version "1.17.3" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36" + integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw== + dependencies: + cookie "0.4.2" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~2.0.0" + on-headers "~1.0.2" + parseurl "~1.3.3" + safe-buffer "5.2.1" + uid-safe "~2.1.5" + + express-validator@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/express-validator/-/express-validator-5.3.1.tgz#6f42c6d52554441b0360c40ccfb555b1770affe2" + integrity sha512-g8xkipBF6VxHbO1+ksC7nxUU7+pWif0+OZXjZTybKJ/V0aTVhuCoHbyhIPgSYVldwQLocGExPtB2pE0DqK4jsw== + dependencies: + lodash "^4.17.10" + validator "^10.4.0" + + express@^4.14.0: + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.0" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.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.10.3" + 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" + + express@~4.16.1: + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.3" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.4" + qs "6.5.2" + range-parser "~1.2.0" + safe-buffer "5.1.2" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + + ext@^1.1.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + dependencies: + type "^2.5.0" + + extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + + extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + + extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + + fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + + fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + + filelist@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + + fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + + finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + + finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + 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" + + for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + + foreachasync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6" + integrity sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY= + + forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + + form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + + forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + + fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + + fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + + fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + + fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + + fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + + function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + + function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + + functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + + get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + + get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + + get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + + get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + + get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + + getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + + glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + + glob@^7.2.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + 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" + + global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + dependencies: + ini "2.0.0" + + global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + + got@9.6.0, got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + 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" + + got@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + 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" + + graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.8: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + + handlebars@4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.3.5.tgz#d6c2d0a0f08b4479e3949f8321c0f3893bb691be" + integrity sha512-I16T/l8X9DV3sEkY9sK9lsPRgDsj82ayBY/4pAZyP2BcX5WeRM3O06bw9kIs2GLrHvFB/DNzWWJyFvof8wQGqw== + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + + handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + + har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + + har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + + has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + + has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + + has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + + has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + + has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + + has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + + has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + + has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + + has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + + hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + + hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + + hbs@~4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/hbs/-/hbs-4.0.6.tgz#3054144dbd399cc7d351a39c016b3a52c9e19f5d" + integrity sha512-KFt3Y4zOvVQOp84TmqVaFTpBTYO1sVenBoBY712MI3vPkKxVoO6AsuEyDayIRPRAHRYZHHWnmc4spFa8fhQpLw== + dependencies: + handlebars "4.3.5" + walk "2.3.14" + + hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + + http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + + http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + + http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + 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" + + http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= + + http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + + iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + + iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + + idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + + ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + + ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= + + import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + + imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + + inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + + inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + + inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + + ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + + ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + + internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + + ip@^1.1.5: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + + ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + + is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + + is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + + is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + + is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + + is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + + is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + + is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + + is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + + is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + + is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + + is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + + is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + + is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + + is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + + is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + + is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + + is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + + is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + + is-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== + + is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + + is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + + is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + + is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + + is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + + is-stream@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + + is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + + is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + + is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.9.tgz#246d77d2871e7d9f5aeb1d54b9f52c71329ece67" + integrity sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.20.0" + for-each "^0.3.3" + has-tostringtag "^1.0.0" + + is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + + is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + + is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + + isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + + isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + + jake@^10.8.5: + version "10.8.5" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.1" + minimatch "^3.0.4" + + js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + + js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= + + jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + + json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + + json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + + json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + + json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + + jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + + jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + + keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + + keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + + latest-version@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + + lodash@^4.17.10: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + + lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + + lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + + lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + + make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + + md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + + media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + + memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + + merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + + methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + + miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + + mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + + mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + + mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + + mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + + mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + + min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + + minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + + minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + + minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + + minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + + minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + + minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + + minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + + mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + dependencies: + mkdirp "*" + + mkdirp@*: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + + mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + + mock-fs@^4.1.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + + mongodb-connection-string-url@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz#f075c8d529e8d3916386018b8a396aed4f16e5ed" + integrity sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA== + dependencies: + "@types/whatwg-url" "^8.2.1" + whatwg-url "^11.0.0" + + mongodb@^4.1.3: + version "4.6.0" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-4.6.0.tgz#a69216da61f4cb1498d68cb396c52313fa39cef6" + integrity sha512-1gsxVXmjFTPJ+CkMG9olE4bcVsyY8lBJN9m5B5vj+LZ7wkBqq3PO8RVmNX9GwCBOBz1KV0zM00vPviUearSv7A== + dependencies: + bson "^4.6.3" + denque "^2.0.1" + mongodb-connection-string-url "^2.5.2" + socks "^2.6.2" + optionalDependencies: + saslprep "^1.0.3" + + morgan@~1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" + integrity sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA== + dependencies: + basic-auth "~2.0.0" + debug "2.6.9" + depd "~1.1.2" + on-finished "~2.3.0" + on-headers "~1.0.1" + + ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + + ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + + multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + + multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + + multicodec@^0.5.5: + version "0.5.7" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" + integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== + dependencies: + varint "^5.0.0" + + multicodec@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + + multihashes@^0.4.15, multihashes@~0.4.15: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + + nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= + + negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + + neo-async@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + + next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + + node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + + node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== + + nodemon@^2.0.13: + version "2.0.16" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.16.tgz#d71b31bfdb226c25de34afea53486c8ef225fdef" + integrity sha512-zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w== + dependencies: + chokidar "^3.5.2" + debug "^3.2.7" + ignore-by-default "^1.0.1" + minimatch "^3.0.4" + pstree.remy "^1.1.8" + semver "^5.7.1" + supports-color "^5.5.0" + touch "^3.1.0" + undefsafe "^2.0.5" + update-notifier "^5.1.0" + + nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + + normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + + normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + + noty@^3.2.0-beta-deprecated: + version "3.2.0-beta-deprecated" + resolved "https://registry.yarnpkg.com/noty/-/noty-3.2.0-beta-deprecated.tgz#f74126808b40ba11d7cea3eefc836b32ff7a30f2" + integrity sha512-ntRbHuQ9SnnnVFZm/oq5L1DBCaHQUvsU24AwZH3PGjAWx2YqR/IhOadMk11vmJovYiQo00oqTj6Hp+D6PGtmLA== + + number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + + oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + + object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + + object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + + object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + + object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + + oboe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" + integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80= + dependencies: + http-https "^1.0.0" + + on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + + on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + + on-headers@~1.0.1, on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + + once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + + optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + + p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + + p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + + p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + + p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= + dependencies: + p-finally "^1.0.0" + + package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + + parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + + parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + + parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + + path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + + path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + + pbkdf2@^3.0.17, pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + 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" + + performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + + picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + + prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + + prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + + process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + + proxy-addr@~2.0.4, proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + + psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + + pstree.remy@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" + integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== + + public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + 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" + + pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + + punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + + punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + + pupa@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + + qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" + + qs@6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + + qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + + query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + 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" + + random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== + + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + + randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + + range-parser@~1.2.0, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + + raw-body@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + + raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + + rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + + readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + + readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + + regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + + registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + dependencies: + rc "^1.2.8" + + registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + + request@^2.79.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.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.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + + responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + + ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + + rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + + safe-buffer@5.1.2, safe-buffer@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + + safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + + saslprep@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" + integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== + dependencies: + sparse-bitfield "^3.0.3" + + scrypt-js@^3.0.0, scrypt-js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + + secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + + semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + + semver@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + + semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + + semver@^7.3.4: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + + send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + + send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + 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" + + serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + + serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + + servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + + setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + + setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + + setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + + sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + + side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + + signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + + simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + + simple-get@^2.7.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + + smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + + socks@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" + integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.2.0" + + source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + + sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE= + dependencies: + memory-pager "^1.0.2" + + sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + 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" + + statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + + "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + + statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + + strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + + string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + 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" + + string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + + string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + + string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + + strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + + strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + + strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + + supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + + supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + + swarm-js@^0.1.40: + version "0.1.40" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99" + integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + 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 "^1.0.1" + + tar@^4.0.2: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + 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" + + timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + + to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + + to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + + toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + + touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + + tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + + tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + + tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + + tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + + type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + + type-is@~1.6.16, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + + type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + + type@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" + integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== + + typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + + uglify-js@^3.1.4: + version "3.15.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.5.tgz#2b10f9e0bfb3f5c15a8e8404393b6361eaeb33b3" + integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== + + uid-safe@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + + ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + + unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + + undefsafe@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" + integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== + + unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + + universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + + unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + + update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== + dependencies: + boxen "^5.0.0" + chalk "^4.1.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + + uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + + url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + + url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + + url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= + + url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + + utf-8-validate@^5.0.2: + version "5.0.9" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3" + integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q== + dependencies: + node-gyp-build "^4.3.0" + + utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + + util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + + util@^0.12.0: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + + utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + + uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + + uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + + validator@^10.4.0: + version "10.11.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228" + integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== + + varint@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + + vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + + verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + + walk@2.3.14: + version "2.3.14" + resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.14.tgz#60ec8631cfd23276ae1e7363ce11d626452e1ef3" + integrity sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg== + dependencies: + foreachasync "^3.0.0" + + web3-bzz@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.3.tgz#6860a584f748838af5e3932b6798e024ab8ae951" + integrity sha512-y2i2IW0MfSqFc1JBhBSQ59Ts9xE30hhxSmLS13jLKWzie24/An5dnoGarp2rFAy20tevJu1zJVPYrEl14jiL5w== + dependencies: + "@types/node" "^12.12.6" + got "9.6.0" + swarm-js "^0.1.40" + + web3-core-helpers@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.3.tgz#9a8d7830737d0e9c48694b244f4ce0f769ba67b9" + integrity sha512-qS2t6UKLhRV/6C7OFHtMeoHphkcA+CKUr2vfpxy4hubs3+Nj28K9pgiqFuvZiXmtEEwIAE2A28GBOC3RdcSuFg== + dependencies: + web3-eth-iban "1.7.3" + web3-utils "1.7.3" + + web3-core-method@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.3.tgz#eb2a4f140448445c939518c0fa6216b3d265c5e9" + integrity sha512-SeF8YL/NVFbj/ddwLhJeS0io8y7wXaPYA2AVT0h2C2ESYkpvOtQmyw2Bc3aXxBmBErKcbOJjE2ABOKdUmLSmMA== + dependencies: + "@ethersproject/transactions" "^5.0.0-beta.135" + web3-core-helpers "1.7.3" + web3-core-promievent "1.7.3" + web3-core-subscriptions "1.7.3" + web3-utils "1.7.3" + + web3-core-promievent@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.3.tgz#2d0eeef694569b61355054c721578f67df925b80" + integrity sha512-+mcfNJLP8h2JqcL/UdMGdRVfTdm+bsoLzAFtLpazE4u9kU7yJUgMMAqnK59fKD3Zpke3DjaUJKwz1TyiGM5wig== + dependencies: + eventemitter3 "4.0.4" + + web3-core-requestmanager@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.3.tgz#226f79d16e546c9157d00908de215e984cae84e9" + integrity sha512-bC+jeOjPbagZi2IuL1J5d44f3zfPcgX+GWYUpE9vicNkPUxFBWRG+olhMo7L+BIcD57cTmukDlnz+1xBULAjFg== + dependencies: + util "^0.12.0" + web3-core-helpers "1.7.3" + web3-providers-http "1.7.3" + web3-providers-ipc "1.7.3" + web3-providers-ws "1.7.3" + + web3-core-subscriptions@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.3.tgz#ca456dfe2c219a0696c5cf34c13b03c3599ec5d5" + integrity sha512-/i1ZCLW3SDxEs5mu7HW8KL4Vq7x4/fDXY+yf/vPoDljlpvcLEOnI8y9r7om+0kYwvuTlM6DUHHafvW0221TyRQ== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.7.3" + + web3-core@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.3.tgz#2ef25c4cc023997f43af9f31a03b571729ff3cda" + integrity sha512-4RNxueGyevD1XSjdHE57vz/YWRHybpcd3wfQS33fgMyHZBVLFDNwhn+4dX4BeofVlK/9/cmPAokLfBUStZMLdw== + dependencies: + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-core-requestmanager "1.7.3" + web3-utils "1.7.3" + + web3-eth-abi@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.3.tgz#2a1123c7252c37100eecd0b1fb2fb2c51366071f" + integrity sha512-ZlD8DrJro0ocnbZViZpAoMX44x5aYAb73u2tMq557rMmpiluZNnhcCYF/NnVMy6UIkn7SF/qEA45GXA1ne6Tnw== + dependencies: + "@ethersproject/abi" "5.0.7" + web3-utils "1.7.3" + + web3-eth-accounts@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.3.tgz#cd1789000f13ed3c438e96b3e80ee7be8d3f1a9b" + integrity sha512-aDaWjW1oJeh0LeSGRVyEBiTe/UD2/cMY4dD6pQYa8dOhwgMtNQjxIQ7kacBBXe7ZKhjbIFZDhvXN4mjXZ82R2Q== + dependencies: + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.2" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "3.3.2" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-utils "1.7.3" + + web3-eth-contract@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.3.tgz#c4efc118ed7adafbc1270b633f33e696a39c7fc7" + integrity sha512-7mjkLxCNMWlQrlfM/MmNnlKRHwFk5XrZcbndoMt3KejcqDP6dPHi2PZLutEcw07n/Sk8OMpSamyF3QiGfmyRxw== + dependencies: + "@types/bn.js" "^4.11.5" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-core-promievent "1.7.3" + web3-core-subscriptions "1.7.3" + web3-eth-abi "1.7.3" + web3-utils "1.7.3" + + web3-eth-ens@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.3.tgz#ebc56a4dc7007f4f899259bbae1237d3095e2f3f" + integrity sha512-q7+hFGHIc0mBI3LwgRVcLCQmp6GItsWgUtEZ5bjwdjOnJdbjYddm7PO9RDcTDQ6LIr7hqYaY4WTRnDHZ6BEt5Q== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-promievent "1.7.3" + web3-eth-abi "1.7.3" + web3-eth-contract "1.7.3" + web3-utils "1.7.3" + + web3-eth-iban@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.3.tgz#47433a73380322bba04e17b91fccd4a0e63a390a" + integrity sha512-1GPVWgajwhh7g53mmYDD1YxcftQniIixMiRfOqlnA1w0mFGrTbCoPeVaSQ3XtSf+rYehNJIZAUeDBnONVjXXmg== + dependencies: + bn.js "^4.11.9" + web3-utils "1.7.3" + + web3-eth-personal@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.3.tgz#ca2464dca356d4335aa8141cf75a6947f10f45a6" + integrity sha512-iTLz2OYzEsJj2qGE4iXC1Gw+KZN924fTAl0ESBFs2VmRhvVaM7GFqZz/wx7/XESl3GVxGxlRje3gNK0oGIoYYQ== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-net "1.7.3" + web3-utils "1.7.3" + + web3-eth@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.3.tgz#9e92785ea18d682548b6044551abe7f2918fc0b5" + integrity sha512-BCIRMPwaMlTCbswXyGT6jj9chCh9RirbDFkPtvqozfQ73HGW7kP78TXXf9+Xdo1GjutQfxi/fQ9yPdxtDJEpDA== + dependencies: + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-core-subscriptions "1.7.3" + web3-eth-abi "1.7.3" + web3-eth-accounts "1.7.3" + web3-eth-contract "1.7.3" + web3-eth-ens "1.7.3" + web3-eth-iban "1.7.3" + web3-eth-personal "1.7.3" + web3-net "1.7.3" + web3-utils "1.7.3" + + web3-net@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.3.tgz#54e35bcc829fdc40cf5001a3870b885d95069810" + integrity sha512-zAByK0Qrr71k9XW0Adtn+EOuhS9bt77vhBO6epAeQ2/VKl8rCGLAwrl3GbeEl7kWa8s/su72cjI5OetG7cYR0g== + dependencies: + web3-core "1.7.3" + web3-core-method "1.7.3" + web3-utils "1.7.3" + + web3-providers-http@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.3.tgz#8ea5e39f6ceee0b5bc4e45403fae75cad8ff4cf7" + integrity sha512-TQJfMsDQ5Uq9zGMYlu7azx1L7EvxW+Llks3MaWn3cazzr5tnrDbGh6V17x6LN4t8tFDHWx0rYKr3mDPqyTjOZw== + dependencies: + web3-core-helpers "1.7.3" + xhr2-cookies "1.1.0" + + web3-providers-ipc@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.3.tgz#a34872103a8d37a03795fa2f9b259e869287dcaa" + integrity sha512-Z4EGdLKzz6I1Bw+VcSyqVN4EJiT2uAro48Am1eRvxUi4vktGoZtge1ixiyfrRIVb6nPe7KnTFl30eQBtMqS0zA== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.7.3" + + web3-providers-ws@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.3.tgz#87564facc47387c9004a043a6686e4881ed6acfe" + integrity sha512-PpykGbkkkKtxPgv7U4ny4UhnkqSZDfLgBEvFTXuXLAngbX/qdgfYkhIuz3MiGplfL7Yh93SQw3xDjImXmn2Rgw== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.7.3" + websocket "^1.0.32" + + web3-shh@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.3.tgz#84e10adf628556798244b58f73cda1447bb7075e" + integrity sha512-bQTSKkyG7GkuULdZInJ0osHjnmkHij9tAySibpev1XjYdjLiQnd0J9YGF4HjvxoG3glNROpuCyTaRLrsLwaZuw== + dependencies: + web3-core "1.7.3" + web3-core-method "1.7.3" + web3-core-subscriptions "1.7.3" + web3-net "1.7.3" + + web3-utils@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.3.tgz#b214d05f124530d8694ad364509ac454d05f207c" + integrity sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + + web3@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.3.tgz#30fe786338b2cc775881cb28c056ee5da4be65b8" + integrity sha512-UgBvQnKIXncGYzsiGacaiHtm0xzQ/JtGqcSO/ddzQHYxnNuwI72j1Pb4gskztLYihizV9qPNQYHMSCiBlStI9A== + dependencies: + web3-bzz "1.7.3" + web3-core "1.7.3" + web3-eth "1.7.3" + web3-eth-personal "1.7.3" + web3-net "1.7.3" + web3-shh "1.7.3" + web3-utils "1.7.3" + + webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + + websocket@^1.0.32: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + + whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + + which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + + which-typed-array@^1.1.2: + version "1.1.8" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.8.tgz#0cfd53401a6f334d90ed1125754a42ed663eb01f" + integrity sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.20.0" + for-each "^0.3.3" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.9" + + widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + + wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + + wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + + wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + + wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + + write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + + ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + + xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + + xhr-request-promise@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" + integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== + dependencies: + xhr-request "^1.1.0" + + xhr-request@^1.0.1, xhr-request@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + 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" + + xhr2-cookies@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= + dependencies: + cookiejar "^2.1.1" + + xhr@^2.0.4, xhr@^2.3.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + + xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + + yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + + yallist@^3.0.0, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + + yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..7d50e8fc --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3892 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.3": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.4.tgz#1b3cdd3aa4ee3b0ca366756fc35e4a03022a01cc" + integrity sha512-RDJh/R/EAr+B7ZRg5LfJ0BIpf/1LydFgYdvZEuTraojCbVypO2sQ+QnpP5u2wJf9DASyooKqu8O4FJEWUV6NXw== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.4" + +"@ethereumjs/tx@^3.3.2": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.1.tgz#8d941b83a602b4a89949c879615f7ea9a90e6671" + integrity sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA== + dependencies: + "@ethereumjs/common" "^2.6.3" + ethereumjs-util "^7.1.4" + +"@ethersproject/abi@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" + 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" + +"@ethersproject/abstract-provider@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz#0c4ac7054650dbd9c476cf5907f588bbb6ef3061" + integrity sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/networks" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/transactions" "^5.6.0" + "@ethersproject/web" "^5.6.0" + +"@ethersproject/abstract-signer@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.1.tgz#54df786bdf1aabe20d0ed508ec05e0aa2d06674f" + integrity sha512-xhSLo6y0nGJS7NxfvOSzCaWKvWb1TLT7dQ0nnpHZrDnC67xfnWm9NXflTMFPUXXMtjr33CdV0kWDEmnbrQZ74Q== + dependencies: + "@ethersproject/abstract-provider" "^5.6.0" + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + +"@ethersproject/address@^5.0.4", "@ethersproject/address@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.0.tgz#13c49836d73e7885fc148ad633afad729da25012" + integrity sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/keccak256" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/rlp" "^5.6.0" + +"@ethersproject/base64@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.0.tgz#a12c4da2a6fb86d88563216b0282308fc15907c9" + integrity sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw== + dependencies: + "@ethersproject/bytes" "^5.6.0" + +"@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.1.tgz#d5e0da518eb82ab8d08ca9db501888bbf5f0c8fb" + integrity sha512-UtMeZ3GaUuF9sx2u9nPZiPP3ULcAFmXyvynR7oHl/tPrM+vldZh7ocMsoa1PqKYGnQnqUZJoqxZnGN6J0qdipA== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + bn.js "^4.11.9" + +"@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7" + integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g== + dependencies: + "@ethersproject/logger" "^5.6.0" + +"@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.0.tgz#55e3eb0918584d3acc0688e9958b0cedef297088" + integrity sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + +"@ethersproject/hash@^5.0.4": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.0.tgz#d24446a5263e02492f9808baa99b6e2b4c3429a2" + integrity sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA== + dependencies: + "@ethersproject/abstract-signer" "^5.6.0" + "@ethersproject/address" "^5.6.0" + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/keccak256" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/strings" "^5.6.0" + +"@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.0.tgz#fea4bb47dbf8f131c2e1774a1cecbfeb9d606459" + integrity sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w== + dependencies: + "@ethersproject/bytes" "^5.6.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a" + integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== + +"@ethersproject/networks@^5.6.0": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.2.tgz#2bacda62102c0b1fcee408315f2bed4f6fbdf336" + integrity sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA== + dependencies: + "@ethersproject/logger" "^5.6.0" + +"@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04" + integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg== + dependencies: + "@ethersproject/logger" "^5.6.0" + +"@ethersproject/rlp@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.0.tgz#55a7be01c6f5e64d6e6e7edb6061aa120962a717" + integrity sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + +"@ethersproject/signing-key@^5.6.0": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.1.tgz#31b0a531520616254eb0465b9443e49515c4d457" + integrity sha512-XvqQ20DH0D+bS3qlrrgh+axRMth5kD1xuvqUQUTeezxUTXBOeR6hWz2/C6FBEu39FRytyybIWrYf7YLSAKr1LQ== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.0.tgz#9891b26709153d996bf1303d39a7f4bc047878fd" + integrity sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg== + dependencies: + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/constants" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + +"@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.0.tgz#4b594d73a868ef6e1529a2f8f94a785e6791ae4e" + integrity sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg== + dependencies: + "@ethersproject/address" "^5.6.0" + "@ethersproject/bignumber" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/constants" "^5.6.0" + "@ethersproject/keccak256" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/rlp" "^5.6.0" + "@ethersproject/signing-key" "^5.6.0" + +"@ethersproject/web@^5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.0.tgz#4bf8b3cbc17055027e1a5dd3c357e37474eaaeb8" + integrity sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg== + dependencies: + "@ethersproject/base64" "^5.6.0" + "@ethersproject/bytes" "^5.6.0" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/properties" "^5.6.0" + "@ethersproject/strings" "^5.6.0" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/bn.js@^4.11.5": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.35.tgz#635b7586086d51fb40de0a2ec9d1014a5283ba4a" + integrity sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg== + +"@types/node@^12.12.6": + version "12.20.52" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.52.tgz#2fd2dc6bfa185601b15457398d4ba1ef27f81251" + integrity sha512-cfkwWw72849SNYp3Zx0IcIs25vABmFh73xicxhCkTcvtZQeIez15PpwQN8fY3RD7gv1Wrxlc9MEtfMORZDEsGw== + +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + +"@types/webidl-conversions@*": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz#e33bc8ea812a01f63f90481c666334844b12a09e" + integrity sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q== + +"@types/whatwg-url@^8.2.1": + version "8.2.1" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.1.tgz#f1aac222dab7c59e011663a0cb0a3117b2ef05d4" + integrity sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ== + dependencies: + "@types/node" "*" + "@types/webidl-conversions" "*" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2, base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +basic-auth@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +bignumber.js@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" + integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bluebird@^3.5.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.6, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@1.18.3: + version "1.18.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + integrity sha512-YQyoqQG3sO8iCmf8+hyVpgHHOv0/hCEFiS4zTGUwTA1HjAFX66wRcNQrVCeJq9pgESMRvUAOvSil5MJlmccuKQ== + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "~1.6.3" + iconv-lite "0.4.23" + on-finished "~2.3.0" + qs "6.5.2" + raw-body "2.3.3" + type-is "~1.6.16" + +body-parser@1.20.0, body-parser@^1.16.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + 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.10.3" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +boxen@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + 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" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + 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" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +bson@^4.6.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.4.tgz#e66d4a334f1ab230dfcfb9ec4ea9091476dd372e" + integrity sha512-TdQ3FzguAu5HKPPlr0kYQCyrYUYh8tFM+CMTpxjNzVzxeiJY00Rtuj3LXLHSgiGvmaWlZ8PE+4KyM2thqE38pQ== + dependencies: + buffer "^5.6.0" + +buffer-to-arraybuffer@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bufferutil@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433" + integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== + dependencies: + node-gyp-build "^4.3.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + 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" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@^4.0.2, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cids@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +connect-flash@0.1.x: + version "0.1.1" + resolved "https://registry.yarnpkg.com/connect-flash/-/connect-flash-0.1.1.tgz#d8630f26d95a7f851f9956b1e8cc6732f3b6aa30" + integrity sha512-2rcfELQt/ZMP+SM/pG8PyhJRaLKp+6Hk2IUBNkEit09X+vwn3QsAL3ZbYtxUn7NVPzbMTSLRDhqe0B/eh30RYA== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-hash@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" + integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== + dependencies: + cids "^0.7.1" + multicodec "^0.5.5" + multihashes "^0.4.15" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-parser@~1.4.4: + version "1.4.6" + resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" + integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== + dependencies: + cookie "0.4.1" + cookie-signature "1.0.6" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + +cookie@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +cookie@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookiejar@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" + integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cors@^2.8.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + 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" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + 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" + +crypto-browserify@3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + 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" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@2.6.9, debug@^2.2.0, debug@~2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +denque@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a" + integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv@^16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d" + integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" + integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== + dependencies: + jake "^10.8.5" + +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + 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" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +es-abstract@^1.19.0, es-abstract@^1.19.5, es-abstract@^1.20.0: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.61" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" + integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== + 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" + +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + 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" + +ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz#a6885bcdd92045b06f596c7626c3e89ab3312458" + integrity sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A== + 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" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +eventemitter3@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +express-ejs-layouts@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/express-ejs-layouts/-/express-ejs-layouts-2.5.1.tgz#d204d9065ee2825fcbd718d820289fc81e691ccb" + integrity sha512-IXROv9n3xKga7FowT06n1Qn927JR8ZWDn5Dc9CJQoiiaaDqbhW5PDmWShzbpAa2wjWT1vJqaIM1S6vJwwX11gA== + +express-flash@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/express-flash/-/express-flash-0.0.2.tgz#23d1a8bcf3f90d707928e489f96869ecad0acda2" + integrity sha512-QVUR0ZZRCaa8+iPHoUQaQJrQWcQuK/Q+19M7IUIdIEtvwhrA/ifHT7y1CVJI41YfGiOQnbGtn3uvd2vOdgu58A== + dependencies: + connect-flash "0.1.x" + +express-handlebars@^5.3.4: + version "5.3.5" + resolved "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-5.3.5.tgz#a04a1e670aa97d5b3a8080de8336f79228593540" + integrity sha512-r9pzDc94ZNJ7FVvtsxLfPybmN0eFAUnR61oimNPRpD0D7nkLcezrkpZzoXS5TI75wYHRbflPLTU39B62pwB4DA== + dependencies: + glob "^7.2.0" + graceful-fs "^4.2.8" + handlebars "^4.7.7" + +express-session@^1.17.3: + version "1.17.3" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36" + integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw== + dependencies: + cookie "0.4.2" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~2.0.0" + on-headers "~1.0.2" + parseurl "~1.3.3" + safe-buffer "5.2.1" + uid-safe "~2.1.5" + +express-validator@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/express-validator/-/express-validator-5.3.1.tgz#6f42c6d52554441b0360c40ccfb555b1770affe2" + integrity sha512-g8xkipBF6VxHbO1+ksC7nxUU7+pWif0+OZXjZTybKJ/V0aTVhuCoHbyhIPgSYVldwQLocGExPtB2pE0DqK4jsw== + dependencies: + lodash "^4.17.10" + validator "^10.4.0" + +express@^4.14.0: + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.0" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.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.10.3" + 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" + +express@~4.16.1: + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.3" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.4" + qs "6.5.2" + range-parser "~1.2.0" + safe-buffer "5.1.2" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + dependencies: + type "^2.5.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +filelist@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + 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" + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreachasync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6" + integrity sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.2.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + 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" + +global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + dependencies: + ini "2.0.0" + +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +got@9.6.0, got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + 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" + +got@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + 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" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.8: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +handlebars@4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.3.5.tgz#d6c2d0a0f08b4479e3949f8321c0f3893bb691be" + integrity sha512-I16T/l8X9DV3sEkY9sK9lsPRgDsj82ayBY/4pAZyP2BcX5WeRM3O06bw9kIs2GLrHvFB/DNzWWJyFvof8wQGqw== + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hbs@~4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/hbs/-/hbs-4.0.6.tgz#3054144dbd399cc7d351a39c016b3a52c9e19f5d" + integrity sha512-KFt3Y4zOvVQOp84TmqVaFTpBTYO1sVenBoBY712MI3vPkKxVoO6AsuEyDayIRPRAHRYZHHWnmc4spFa8fhQpLw== + dependencies: + handlebars "4.3.5" + walk "2.3.14" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + 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" + +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +ip@^1.1.5: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.9.tgz#246d77d2871e7d9f5aeb1d54b9f52c71329ece67" + integrity sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.20.0" + for-each "^0.3.3" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +jake@^10.8.5: + version "10.8.5" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +latest-version@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +lodash@^4.17.10: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + dependencies: + mkdirp "*" + +mkdirp@*: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mock-fs@^4.1.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + +mongodb-connection-string-url@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz#f075c8d529e8d3916386018b8a396aed4f16e5ed" + integrity sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA== + dependencies: + "@types/whatwg-url" "^8.2.1" + whatwg-url "^11.0.0" + +mongodb@^4.1.3: + version "4.6.0" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-4.6.0.tgz#a69216da61f4cb1498d68cb396c52313fa39cef6" + integrity sha512-1gsxVXmjFTPJ+CkMG9olE4bcVsyY8lBJN9m5B5vj+LZ7wkBqq3PO8RVmNX9GwCBOBz1KV0zM00vPviUearSv7A== + dependencies: + bson "^4.6.3" + denque "^2.0.1" + mongodb-connection-string-url "^2.5.2" + socks "^2.6.2" + optionalDependencies: + saslprep "^1.0.3" + +morgan@~1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" + integrity sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA== + dependencies: + basic-auth "~2.0.0" + debug "2.6.9" + depd "~1.1.2" + on-finished "~2.3.0" + on-headers "~1.0.1" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^0.5.5: + version "0.5.7" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" + integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== + dependencies: + varint "^5.0.0" + +multicodec@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multihashes@^0.4.15, multihashes@~0.4.15: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== + +nodemon@^2.0.13: + version "2.0.16" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.16.tgz#d71b31bfdb226c25de34afea53486c8ef225fdef" + integrity sha512-zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w== + dependencies: + chokidar "^3.5.2" + debug "^3.2.7" + ignore-by-default "^1.0.1" + minimatch "^3.0.4" + pstree.remy "^1.1.8" + semver "^5.7.1" + supports-color "^5.5.0" + touch "^3.1.0" + undefsafe "^2.0.5" + update-notifier "^5.1.0" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +noty@^3.2.0-beta-deprecated: + version "3.2.0-beta-deprecated" + resolved "https://registry.yarnpkg.com/noty/-/noty-3.2.0-beta-deprecated.tgz#f74126808b40ba11d7cea3eefc836b32ff7a30f2" + integrity sha512-ntRbHuQ9SnnnVFZm/oq5L1DBCaHQUvsU24AwZH3PGjAWx2YqR/IhOadMk11vmJovYiQo00oqTj6Hp+D6PGtmLA== + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +oboe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" + integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80= + dependencies: + http-https "^1.0.0" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1, on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= + dependencies: + p-finally "^1.0.0" + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +pbkdf2@^3.0.17, pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + 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" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +proxy-addr@~2.0.4, proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +pstree.remy@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" + integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + 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" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +pupa@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" + +qs@6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + 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" + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@~1.2.0, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + dependencies: + rc "^1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +request@^2.79.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.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.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saslprep@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" + integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== + dependencies: + sparse-bitfield "^3.0.3" + +scrypt-js@^3.0.0, scrypt-js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +semver@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.4: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + 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" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^2.7.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" + integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.2.0" + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE= + dependencies: + memory-pager "^1.0.2" + +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + 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" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + 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" + +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +swarm-js@^0.1.40: + version "0.1.40" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99" + integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + 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 "^1.0.1" + +tar@^4.0.2: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + 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" + +timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-is@~1.6.16, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" + integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +uglify-js@^3.1.4: + version "3.15.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.5.tgz#2b10f9e0bfb3f5c15a8e8404393b6361eaeb33b3" + integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== + +uid-safe@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undefsafe@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" + integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== + dependencies: + boxen "^5.0.0" + chalk "^4.1.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + +utf-8-validate@^5.0.2: + version "5.0.9" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3" + integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q== + dependencies: + node-gyp-build "^4.3.0" + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util@^0.12.0: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +validator@^10.4.0: + version "10.11.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228" + integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== + +varint@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +walk@2.3.14: + version "2.3.14" + resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.14.tgz#60ec8631cfd23276ae1e7363ce11d626452e1ef3" + integrity sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg== + dependencies: + foreachasync "^3.0.0" + +web3-bzz@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.3.tgz#6860a584f748838af5e3932b6798e024ab8ae951" + integrity sha512-y2i2IW0MfSqFc1JBhBSQ59Ts9xE30hhxSmLS13jLKWzie24/An5dnoGarp2rFAy20tevJu1zJVPYrEl14jiL5w== + dependencies: + "@types/node" "^12.12.6" + got "9.6.0" + swarm-js "^0.1.40" + +web3-core-helpers@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.3.tgz#9a8d7830737d0e9c48694b244f4ce0f769ba67b9" + integrity sha512-qS2t6UKLhRV/6C7OFHtMeoHphkcA+CKUr2vfpxy4hubs3+Nj28K9pgiqFuvZiXmtEEwIAE2A28GBOC3RdcSuFg== + dependencies: + web3-eth-iban "1.7.3" + web3-utils "1.7.3" + +web3-core-method@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.3.tgz#eb2a4f140448445c939518c0fa6216b3d265c5e9" + integrity sha512-SeF8YL/NVFbj/ddwLhJeS0io8y7wXaPYA2AVT0h2C2ESYkpvOtQmyw2Bc3aXxBmBErKcbOJjE2ABOKdUmLSmMA== + dependencies: + "@ethersproject/transactions" "^5.0.0-beta.135" + web3-core-helpers "1.7.3" + web3-core-promievent "1.7.3" + web3-core-subscriptions "1.7.3" + web3-utils "1.7.3" + +web3-core-promievent@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.3.tgz#2d0eeef694569b61355054c721578f67df925b80" + integrity sha512-+mcfNJLP8h2JqcL/UdMGdRVfTdm+bsoLzAFtLpazE4u9kU7yJUgMMAqnK59fKD3Zpke3DjaUJKwz1TyiGM5wig== + dependencies: + eventemitter3 "4.0.4" + +web3-core-requestmanager@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.3.tgz#226f79d16e546c9157d00908de215e984cae84e9" + integrity sha512-bC+jeOjPbagZi2IuL1J5d44f3zfPcgX+GWYUpE9vicNkPUxFBWRG+olhMo7L+BIcD57cTmukDlnz+1xBULAjFg== + dependencies: + util "^0.12.0" + web3-core-helpers "1.7.3" + web3-providers-http "1.7.3" + web3-providers-ipc "1.7.3" + web3-providers-ws "1.7.3" + +web3-core-subscriptions@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.3.tgz#ca456dfe2c219a0696c5cf34c13b03c3599ec5d5" + integrity sha512-/i1ZCLW3SDxEs5mu7HW8KL4Vq7x4/fDXY+yf/vPoDljlpvcLEOnI8y9r7om+0kYwvuTlM6DUHHafvW0221TyRQ== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.7.3" + +web3-core@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.3.tgz#2ef25c4cc023997f43af9f31a03b571729ff3cda" + integrity sha512-4RNxueGyevD1XSjdHE57vz/YWRHybpcd3wfQS33fgMyHZBVLFDNwhn+4dX4BeofVlK/9/cmPAokLfBUStZMLdw== + dependencies: + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-core-requestmanager "1.7.3" + web3-utils "1.7.3" + +web3-eth-abi@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.3.tgz#2a1123c7252c37100eecd0b1fb2fb2c51366071f" + integrity sha512-ZlD8DrJro0ocnbZViZpAoMX44x5aYAb73u2tMq557rMmpiluZNnhcCYF/NnVMy6UIkn7SF/qEA45GXA1ne6Tnw== + dependencies: + "@ethersproject/abi" "5.0.7" + web3-utils "1.7.3" + +web3-eth-accounts@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.3.tgz#cd1789000f13ed3c438e96b3e80ee7be8d3f1a9b" + integrity sha512-aDaWjW1oJeh0LeSGRVyEBiTe/UD2/cMY4dD6pQYa8dOhwgMtNQjxIQ7kacBBXe7ZKhjbIFZDhvXN4mjXZ82R2Q== + dependencies: + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.2" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "3.3.2" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-utils "1.7.3" + +web3-eth-contract@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.3.tgz#c4efc118ed7adafbc1270b633f33e696a39c7fc7" + integrity sha512-7mjkLxCNMWlQrlfM/MmNnlKRHwFk5XrZcbndoMt3KejcqDP6dPHi2PZLutEcw07n/Sk8OMpSamyF3QiGfmyRxw== + dependencies: + "@types/bn.js" "^4.11.5" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-core-promievent "1.7.3" + web3-core-subscriptions "1.7.3" + web3-eth-abi "1.7.3" + web3-utils "1.7.3" + +web3-eth-ens@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.3.tgz#ebc56a4dc7007f4f899259bbae1237d3095e2f3f" + integrity sha512-q7+hFGHIc0mBI3LwgRVcLCQmp6GItsWgUtEZ5bjwdjOnJdbjYddm7PO9RDcTDQ6LIr7hqYaY4WTRnDHZ6BEt5Q== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-promievent "1.7.3" + web3-eth-abi "1.7.3" + web3-eth-contract "1.7.3" + web3-utils "1.7.3" + +web3-eth-iban@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.3.tgz#47433a73380322bba04e17b91fccd4a0e63a390a" + integrity sha512-1GPVWgajwhh7g53mmYDD1YxcftQniIixMiRfOqlnA1w0mFGrTbCoPeVaSQ3XtSf+rYehNJIZAUeDBnONVjXXmg== + dependencies: + bn.js "^4.11.9" + web3-utils "1.7.3" + +web3-eth-personal@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.3.tgz#ca2464dca356d4335aa8141cf75a6947f10f45a6" + integrity sha512-iTLz2OYzEsJj2qGE4iXC1Gw+KZN924fTAl0ESBFs2VmRhvVaM7GFqZz/wx7/XESl3GVxGxlRje3gNK0oGIoYYQ== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-net "1.7.3" + web3-utils "1.7.3" + +web3-eth@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.3.tgz#9e92785ea18d682548b6044551abe7f2918fc0b5" + integrity sha512-BCIRMPwaMlTCbswXyGT6jj9chCh9RirbDFkPtvqozfQ73HGW7kP78TXXf9+Xdo1GjutQfxi/fQ9yPdxtDJEpDA== + dependencies: + web3-core "1.7.3" + web3-core-helpers "1.7.3" + web3-core-method "1.7.3" + web3-core-subscriptions "1.7.3" + web3-eth-abi "1.7.3" + web3-eth-accounts "1.7.3" + web3-eth-contract "1.7.3" + web3-eth-ens "1.7.3" + web3-eth-iban "1.7.3" + web3-eth-personal "1.7.3" + web3-net "1.7.3" + web3-utils "1.7.3" + +web3-net@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.3.tgz#54e35bcc829fdc40cf5001a3870b885d95069810" + integrity sha512-zAByK0Qrr71k9XW0Adtn+EOuhS9bt77vhBO6epAeQ2/VKl8rCGLAwrl3GbeEl7kWa8s/su72cjI5OetG7cYR0g== + dependencies: + web3-core "1.7.3" + web3-core-method "1.7.3" + web3-utils "1.7.3" + +web3-providers-http@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.3.tgz#8ea5e39f6ceee0b5bc4e45403fae75cad8ff4cf7" + integrity sha512-TQJfMsDQ5Uq9zGMYlu7azx1L7EvxW+Llks3MaWn3cazzr5tnrDbGh6V17x6LN4t8tFDHWx0rYKr3mDPqyTjOZw== + dependencies: + web3-core-helpers "1.7.3" + xhr2-cookies "1.1.0" + +web3-providers-ipc@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.3.tgz#a34872103a8d37a03795fa2f9b259e869287dcaa" + integrity sha512-Z4EGdLKzz6I1Bw+VcSyqVN4EJiT2uAro48Am1eRvxUi4vktGoZtge1ixiyfrRIVb6nPe7KnTFl30eQBtMqS0zA== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.7.3" + +web3-providers-ws@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.3.tgz#87564facc47387c9004a043a6686e4881ed6acfe" + integrity sha512-PpykGbkkkKtxPgv7U4ny4UhnkqSZDfLgBEvFTXuXLAngbX/qdgfYkhIuz3MiGplfL7Yh93SQw3xDjImXmn2Rgw== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.7.3" + websocket "^1.0.32" + +web3-shh@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.3.tgz#84e10adf628556798244b58f73cda1447bb7075e" + integrity sha512-bQTSKkyG7GkuULdZInJ0osHjnmkHij9tAySibpev1XjYdjLiQnd0J9YGF4HjvxoG3glNROpuCyTaRLrsLwaZuw== + dependencies: + web3-core "1.7.3" + web3-core-method "1.7.3" + web3-core-subscriptions "1.7.3" + web3-net "1.7.3" + +web3-utils@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.3.tgz#b214d05f124530d8694ad364509ac454d05f207c" + integrity sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.3.tgz#30fe786338b2cc775881cb28c056ee5da4be65b8" + integrity sha512-UgBvQnKIXncGYzsiGacaiHtm0xzQ/JtGqcSO/ddzQHYxnNuwI72j1Pb4gskztLYihizV9qPNQYHMSCiBlStI9A== + dependencies: + web3-bzz "1.7.3" + web3-core "1.7.3" + web3-eth "1.7.3" + web3-eth-personal "1.7.3" + web3-net "1.7.3" + web3-shh "1.7.3" + web3-utils "1.7.3" + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +websocket@^1.0.32: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.2: + version "1.1.8" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.8.tgz#0cfd53401a6f334d90ed1125754a42ed663eb01f" + integrity sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.20.0" + for-each "^0.3.3" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.9" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xhr-request-promise@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" + integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== + dependencies: + xhr-request "^1.1.0" + +xhr-request@^1.0.1, xhr-request@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + 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" + +xhr2-cookies@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= + dependencies: + cookiejar "^2.1.1" + +xhr@^2.0.4, xhr@^2.3.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yallist@^3.0.0, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==