@tokenz/tokens-smartcontract-sdk
Version:
Smart Contract SDK for Tokenz STO platform
358 lines • 388 kB
JSON
{
"contractName": "STOFactory",
"abi": [
{
"constant": true,
"inputs": [],
"name": "collectedValue",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "sto",
"outputs": [
{
"name": "stoOwner",
"type": "address"
},
{
"name": "name",
"type": "string"
},
{
"name": "desc",
"type": "string"
},
{
"name": "symbol",
"type": "string"
},
{
"name": "localeString",
"type": "bytes8"
},
{
"name": "isFinal",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "kycR",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "maCAddr",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "contractCategory",
"outputs": [
{
"name": "",
"type": "bytes8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "creationRate",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "kycAddr",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "stoInverse",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ruCAddr",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "contractType",
"outputs": [
{
"name": "",
"type": "bytes8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "stoCtr",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_maCAddr",
"type": "address"
},
{
"name": "_ruCAddr",
"type": "address"
},
{
"name": "_kycR",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"constant": false,
"inputs": [
{
"name": "_rate",
"type": "uint256"
}
],
"name": "changeRate",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_amt",
"type": "uint256"
}
],
"name": "withdrawBase",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_name",
"type": "string"
},
{
"name": "_desc",
"type": "string"
},
{
"name": "_symbol",
"type": "string"
},
{
"name": "_localeString",
"type": "bytes8"
}
],
"name": "createSTO",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_stoAddr",
"type": "address"
},
{
"name": "_name",
"type": "string"
},
{
"name": "_desc",
"type": "string"
},
{
"name": "_symbol",
"type": "string"
},
{
"name": "_localeString",
"type": "bytes8"
}
],
"name": "updateDetails",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_stoAddr",
"type": "address"
}
],
"name": "finalise",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_stoAddr",
"type": "address"
}
],
"name": "unfinalise",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_stoAddr",
"type": "address"
}
],
"name": "fetchOwner",
"outputs": [
{
"name": "STOowner",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_stoAddr",
"type": "address"
}
],
"name": "fetchState",
"outputs": [
{
"name": "state",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060405160608062005ef183398101806040528101908080519060200190929190805190602001909291908051906020019092919050505061009b838360017801000000000000000000000000000000000000000000000000026002780100000000000000000000000000000000000000000000000002610125640100000000026401000000009004565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102a4565b83600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555080600060086101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555050505050565b615c3d80620002b46000396000f3006080604052600436106200011b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a0f5c30146200012057806316b6dabc146200014e5780631f8be7e31462000369578063263f3a5c14620004a65780632864faea1462000500578063330c3fe5146200055a5780633aa970f214620005a057806348e1aa0714620006af5780637381ea0314620006f557806374e7493b14620007595780637fed963c1462000789578063aba3a7f914620007b7578063b4799e011462000811578063b50d64d61462000897578063bf08bca61462000907578063c34b59eb1462000965578063cb2ef6f714620009bf578063ccba8b511462000a23578063f98bea151462000a51575b600080fd5b3480156200012d57600080fd5b506200013862000a73565b6040518082815260200191505060405180910390f35b3480156200015b57600080fd5b5062000192600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062000a79565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001806020018677ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200185151515158152602001848103845289818151815260200191508051906020019080838360005b838110156200025457808201518184015260208101905062000237565b50505050905090810190601f168015620002825780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b83811015620002bd578082015181840152602081019050620002a0565b50505050905090810190601f168015620002eb5780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b838110156200032657808201518184015260208101905062000309565b50505050905090810190601f168015620003545780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b3480156200037657600080fd5b50620004a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062000cdb565b005b348015620004b357600080fd5b50620004be62000ff3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200050d57600080fd5b506200051862001019565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200056757600080fd5b506200059e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200103f565b005b620006ad600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620011a1565b005b348015620006bc57600080fd5b50620006f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001926565b005b3480156200070257600080fd5b506200070d62001d2d565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156200076657600080fd5b50620007876004803603810190808035906020019092919050505062001d57565b005b3480156200079657600080fd5b50620007a1620020a5565b6040518082815260200191505060405180910390f35b348015620007c457600080fd5b50620007cf620020ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200081e57600080fd5b5062000855600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620020d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620008a457600080fd5b50620008c5600480360381019080803590602001909291905050506200213d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200091457600080fd5b506200094b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002170565b604051808215151515815260200191505060405180910390f35b3480156200097257600080fd5b506200097d620021c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620009cc57600080fd5b50620009d7620021ef565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801562000a3057600080fd5b5062000a3b6200221a565b6040518082815260200191505060405180910390f35b62000a716004803603810190808035906020019092919050505062002220565b005b600a5481565b600b6020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000b4f5780601f1062000b235761010080835404028352916020019162000b4f565b820191906000526020600020905b81548152906001019060200180831162000b3157829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000bf15780601f1062000bc55761010080835404028352916020019162000bf1565b820191906000526020600020905b81548152906001019060200180831162000bd357829003601f168201915b505050505090806003018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000c935780601f1062000c675761010080835404028352916020019162000c93565b820191906000526020600020905b81548152906001019060200180831162000c7557829003601f168201915b5050505050908060040160009054906101000a9004780100000000000000000000000000000000000000000000000002908060040160089054906101000a900460ff16905086565b843373ffffffffffffffffffffffffffffffffffffffff16600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d7957600080fd5b85600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6a3a254868686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018577ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001848103845288818151815260200191508051906020019080838360005b8381101562000ead57808201518184015260208101905062000e90565b50505050905090810190601f16801562000edb5780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101562000f1657808201518184015260208101905062000ef9565b50505050905090810190601f16801562000f445780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b8381101562000f7f57808201518184015260208101905062000f62565b50505050905090810190601f16801562000fad5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801562000fd257600080fd5b505af115801562000fe7573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b803373ffffffffffffffffffffffffffffffffffffffff16600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620010dd57600080fd5b8160011515600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160089054906101000a900460ff1615151415156200114157600080fd5b6001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160086101000a81548160ff021916908315150217905550505050565b6007543410151515620011b357600080fd5b3360011515600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bac4396836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200127657600080fd5b505af11580156200128b573d6000803e3d6000fd5b505050506040513d6020811015620012a257600080fd5b81019080805190602001909291905050501515141515620012c257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687878787620013396200263a565b808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001806020018577ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001848103845288818151815260200191508051906020019080838360005b838110156200145257808201518184015260208101905062001435565b50505050905090810190601f168015620014805780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b83811015620014bb5780820151818401526020810190506200149e565b50505050905090810190601f168015620014e95780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156200152457808201518184015260208101905062001507565b50505050905090810190601f168015620015525780820380516001836020036101000a031916815260200191505b509a5050505050505050505050604051809103906000f0801580156200157c573d6000803e3d6000fd5b50600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620015d56001600954620025af90919063ffffffff16565b60098190555033600b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019080519060200190620016f89291906200264b565b5083600b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019080519060200190620017739291906200264b565b5082600b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003019080519060200190620017ee9291906200264b565b5081600b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006101000a81548167ffffffffffffffff0219169083780100000000000000000000000000000000000000000000000090040217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c6000600954815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200191934600a54620025af90919063ffffffff16565b600a819055505050505050565b7f340531c6289f8c6661f2e066db810ed07cb61c043cdb944d1874f21a00876d5b600102600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663635912d5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166382f6f815336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801562001a4657600080fd5b505af115801562001a5b573d6000803e3d6000fd5b505050506040513d602081101562001a7257600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305ad1456856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801562001b1d57600080fd5b505af115801562001b32573d6000803e3d6000fd5b505050506040513d602081101562001b4957600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b15801562001c2057600080fd5b505af115801562001c35573d6000803e3d6000fd5b505050506040513d602081101562001c4c57600080fd5b8101908080519060200190929190505050151562001c6957600080fd5b8160011515600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160089054906101000a900460ff16151514151562001ccd57600080fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160086101000a81548160ff021916908315150217905550505050565b6000809054906101000a900478010000000000000000000000000000000000000000000000000281565b7f31ba7f37d580cd9edd16d98de48cb9314cc9bbe0c5d73be510ea5b1b51eebbd9600102600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663635912d5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166382f6f815336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801562001e7757600080fd5b505af115801562001e8c573d6000803e3d6000fd5b505050506040513d602081101562001ea357600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305ad1456856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801562001f4e57600080fd5b505af115801562001f63573d6000803e3d6000fd5b505050506040513d602081101562001f7a57600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b1580156200205157600080fd5b505af115801562002066573d6000803e3d6000fd5b505050506040513d60208110156200207d57600080fd5b810190808051906020019092919050505015156200209a57600080fd5b816007819055505050565b60075481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600c6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160089054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060089054906101000a900478010000000000000000000000000000000000000000000000000281565b60095481565b7fff1521573e27aca85b9b988ce6022146b0d44946788fccdf48c516e9e5ab3187600102600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663635912d5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166382f6f815336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200234057600080fd5b505af115801562002355573d6000803e3d6000fd5b505050506040513d60208110156200236c57600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305ad1456856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156200241757600080fd5b505af11580156200242c573d6000803e3d6000fd5b505050506040513d60208110156200244357600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b1580156200251a57600080fd5b505af11580156200252f573d6000803e3d6000fd5b505050506040513d60208110156200254657600080fd5b810190808051906020019092919050505015156200256357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015620025aa573d6000803e3d6000fd5b505050565b600080828401905083811015151562002630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60405161351780620026fb83390190565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200268e57805160ff1916838001178555620026bf565b82800160010185558215620026bf579182015b82811115620026be578251825591602001919060010190620026a1565b5b509050620026ce9190620026d2565b5090565b620026f791905b80821115620026f3576000816000905550600101620026d9565b5090565b90560060806040523480156200001157600080fd5b50604051620035173803806200351783398101806040528101908080519060200190929190805190602001909291908051906020019092919080518201929190602001805182019291906020018051820192919060200180519060200190929190505050620000ca8787600178010000000000000000000000000000000000000000000000000260017801000000000000000000000000000000000000000000000000026200019e640100000000026401000000009004565b8360009080519060200190620000e29291906200031e565b508160019080519060200190620000fb9291906200031e565b508260029080519060200190620001149291906200031e565b5084600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60146101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555050505050505050620003cd565b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555080600760086101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200036157805160ff191683800117855562000392565b8280016001018555821562000392579182015b828111156200039157825182559160200191906001019062000374565b5b509050620003a19190620003a5565b5090565b620003ca91905b80821115620003c6576000816000905550600101620003ac565b5090565b90565b61313a80620003dd6000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063095ea7b3146101b257806318160ddd1461021757806323b872dd14610242578063263f3a5c146102c75780632864faea1461031e578063313ce5671461037557806339509351146103a657806340c10f191461040b57806355f150f11461045857806370a08231146104e85780637381ea031461053f57806395d89b41146105a05780639dc29fac14610630578063a457c2d71461067d578063a6a3a254146106e2578063a9059cbb146107fc578063c34b59eb14610861578063cb2ef6f7146108b8578063dd62ed3e14610919578063f05fe93614610990575b600080fd5b34801561012e57600080fd5b506101376109f1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a8f565b604051808215151515815260200191505060405180910390f35b34801561022357600080fd5b5061022c610aa6565b6040518082815260200191505060405180910390f35b34801561024e57600080fd5b506102ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab0565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc611145565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032a57600080fd5b5061033361116b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038157600080fd5b5061038a611191565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103b257600080fd5b506103f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111a4565b604051808215151515815260200191505060405180910390f35b34801561041757600080fd5b50610456600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611249565b005b34801561046457600080fd5b5061046d6115ae565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ad578082015181840152602081019050610492565b50505050905090810190601f1680156104da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104f457600080fd5b50610529600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061164c565b6040518082815260200191505060405180910390f35b34801561054b57600080fd5b50610554611695565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156105ac57600080fd5b506105b56116c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f55780820151818401526020810190506105da565b50505050905090810190601f1680156106225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063c57600080fd5b5061067b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061175e565b005b34801561068957600080fd5b506106c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ac3565b604051808215151515815260200191505060405180910390f35b3480156106ee57600080fd5b506107fa600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b68565b005b34801561080857600080fd5b50610847600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f45565b604051808215151515815260200191505060405180910390f35b34801561086d57600080fd5b5061087661244c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108c457600080fd5b506108cd612472565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561092557600080fd5b5061097a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061249d565b6040518082815260200191505060405180910390f35b34801561099c57600080fd5b506109a5612524565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a875780601f10610a5c57610100808354040283529160200191610a87565b820191906000526020600020905b815481529060010190602001808311610a6a57829003601f168201915b505050505081565b6000610a9c33848461254f565b6001905092915050565b6000600654905090565b60008360011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bac4396836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b7457600080fd5b505af1158015610b88573d6000803e3d6000fd5b505050506040513d6020811015610b9e57600080fd5b81019080805190602001909291905050501515148015610d1e575060011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6ca6da783600c60149054906101000a90047801000000000000000000000000000000000000000000000000026040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b158015610cdf57600080fd5b505af1158015610cf3573d6000803e3d6000fd5b505050506040513d6020811015610d0957600080fd5b81019080805190602001909291905050501515145b1515610d2957600080fd5b8360011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bac4396836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610deb57600080fd5b505af1158015610dff573d6000803e3d6000fd5b505050506040513d6020811015610e1557600080fd5b81019080805190602001909291905050501515148015610f95575060011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6ca6da783600c60149054906101000a90047801000000000000000000000000000000000000000000000000026040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b158015610f5657600080fd5b505af1158015610f6a573d6000803e3d6000fd5b505050506040513d6020811015610f8057600080fd5b81019080805190602001909291905050501515145b1515610fa057600080fd5b83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a204e6f7420656e6f75676820696e2064656c69676174696f6e0081525060200191505060405180910390fd5b61109f8686866127d0565b611138863361113387600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb190919063ffffffff16565b61254f565b6001925050509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900460ff1681565b600061123f338461123a85600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3b90919063ffffffff16565b61254f565b6001905092915050565b6000339050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377281f848273ffffffffffffffffffffffffffffffffffffffff16637381ea036040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112f057600080fd5b505af1158015611304573d6000803e3d6000fd5b505050506040513d602081101561131a57600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1663cb2ef6f76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561138f57600080fd5b505af11580156113a3573d6000803e3d6000fd5b505050506040513d60208110156113b957600080fd5b8101908080519060200190929190505050600760009054906101000a9004780100000000000000000000000000000000000000000000000002600760089054906101000a90047801000000000000000000000000000000000000000000000000026040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808577ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018477ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001945050505050602060405180830381600087803b15801561155957600080fd5b505af115801561156d573d6000803e3d6000fd5b505050506040513d602081101561158357600080fd5b8101908080519060200190929190505050151561159f57600080fd5b6115a98383612cc5565b505050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116445780601f1061161957610100808354040283529160200191611644565b820191906000526020600020905b81548152906001019060200180831161162757829003601f168201915b505050505081565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900478010000000000000000000000000000000000000000000000000281565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117565780601f1061172b57610100808354040283529160200191611756565b820191906000526020600020905b81548152906001019060200180831161173957829003601f168201915b505050505081565b6000339050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377281f848273ffffffffffffffffffffffffffffffffffffffff16637381ea036040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561180557600080fd5b505af1158015611819573d6000803e3d6000fd5b505050506040513d602081101561182f57600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1663cb2ef6f76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b505050506040513d60208110156118ce57600080fd5b8101908080519060200190929190505050600760009054906101000a9004780100000000000000000000000000000000000000000000000002600760089054906101000a90047801000000000000000000000000000000000000000000000000026040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808577ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018477ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001945050505050602060405180830381600087803b158015611a6e57600080fd5b505af1158015611a82573d6000803e3d6000fd5b505050506040513d6020811015611a9857600080fd5b81019080805190602001909291905050501515611ab457600080fd5b611abe8383612e84565b505050565b6000611b5e3384611b5985600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb190919063ffffffff16565b61254f565b6001905092915050565b6000339050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377281f848273ffffffffffffffffffffffffffffffffffffffff16637381ea036040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c0f57600080fd5b505af1158015611c23573d6000803e3d6000fd5b505050506040513d6020811015611c3957600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1663cb2ef6f76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cae57600080fd5b505af1158015611cc2573d6000803e3d6000fd5b505050506040513d6020811015611cd857600080fd5b8101908080519060200190929190505050600760009054906101000a9004780100000000000000000000000000000000000000000000000002600760089054906101000a90047801000000000000000000000000000000000000000000000000026040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808577ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018477ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff19168152602001945050505050602060405180830381600087803b158015611e7857600080fd5b505af1158015611e8c573d6000803e3d6000fd5b505050506040513d6020811015611ea257600080fd5b81019080805190602001909291905050501515611ebe57600080fd5b8460009080519060200190611ed4929190613069565b508260019080519060200190611eeb929190613069565b508360029080519060200190611f02929190613069565b5081600c60146101000a81548167ffffffffffffffff02191690837801000000000000000000000000000000000000000000000000900402179055505050505050565b60003360011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bac4396836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561200957600080fd5b505af115801561201d573d6000803e3d6000fd5b505050506040513d602081101561203357600080fd5b810190808051906020019092919050505015151480156121b3575060011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6ca6da783600c60149054906101000a90047801000000000000000000000000000000000000000000000000026040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b15801561217457600080fd5b505af1158015612188573d6000803e3d6000fd5b505050506040513d602081101561219e57600080fd5b81019080805190602001909291905050501515145b15156121be57600080fd5b8360011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bac4396836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561228057600080fd5b505af1158015612294573d6000803e3d6000fd5b505050506040513d60208110156122aa57600080fd5b8101908080519060200190929190505050151514801561242a575060011515600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6ca6da783600c60149054906101000a90047801000000000000000000000000000000000000000000000000026040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b1580156123eb57600080fd5b505af11580156123ff573d6000803e3d6000fd5b505050506040513d602081101561241557600080fd5b81019080805190602001909291905050501515145b151561243557600080fd5b6124403386866127d0565b60019250505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760089054906101000a900478010000000000000000000000000000000000000000000000000281565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c60149054906101000a900478010000000000000000000000000000000000000000000000000281565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561261a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156126e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060