From 27d2622dda50bcd8dc8cea38e001f518df648758 Mon Sep 17 00:00:00 2001 From: dappsar Date: Tue, 14 Nov 2023 17:21:23 -0300 Subject: [PATCH 1/5] updaed gamma abi --- .../GammaCards.v2.sol/NofGammaCardsV2.json | 59 ++++++++++++++++++- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/src/context/abis/GammaCards.v2.sol/NofGammaCardsV2.json b/src/context/abis/GammaCards.v2.sol/NofGammaCardsV2.json index 504481e3..cf4192ae 100644 --- a/src/context/abis/GammaCards.v2.sol/NofGammaCardsV2.json +++ b/src/context/abis/GammaCards.v2.sol/NofGammaCardsV2.json @@ -472,6 +472,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bool", + "name": "required", + "type": "bool" + } + ], + "name": "changeRequireOpenPackSignerValidation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -789,6 +802,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "requireOpenPackSignerValidation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1050,10 +1076,39 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "packNumber", + "type": "uint256" + }, + { + "internalType": "uint8[]", + "name": "packData", + "type": "uint8[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "verifyPackSigner", + "outputs": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" } ], - "bytecode": "0x60806040526710a741a462780000600b5567d02ab486cedc0000600e55670de0b6b3a7640000600f553480156200003557600080fd5b50604051620049513803806200495183398101604081905262000058916200033c565b6040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b8152508160009081620000ab9190620004be565b506001620000ba8282620004be565b505050620000d7620000d16200028d60201b60201c565b62000291565b600880546001600160a01b038086166001600160a01b031992831617909255600a805492871692909116919091179055600d620001158382620004be565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516200017494600d94939091016200058a565b60405160208183030381529060405260109081620001939190620004be565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b818401529351620001f294600d94939091016200058a565b60405160208183030381529060405260119081620002119190620004be565b506001600160a01b0381166000908152601760205260408120805460ff191660011790555b607a8110156200026757600081815260126020526040902060019055806200025e8162000647565b91505062000236565b5050336000908152601660205260409020805460ff19166001179055506200066f915050565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620002fb57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200033357818101518382015260200162000319565b50506000910152565b600080600080608085870312156200035357600080fd5b6200035e85620002e3565b93506200036e60208601620002e3565b60408601519093506001600160401b03808211156200038c57600080fd5b818701915087601f830112620003a157600080fd5b815181811115620003b657620003b662000300565b604051601f8201601f19908116603f01168101908382118183101715620003e157620003e162000300565b816040528281528a6020848701011115620003fb57600080fd5b6200040e83602083016020880162000316565b80965050505050506200042460608601620002e3565b905092959194509250565b600181811c908216806200044457607f821691505b6020821081036200046557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004b957600081815260208120601f850160051c81016020861015620004945750805b601f850160051c820191505b81811015620004b557828155600101620004a0565b5050505b505050565b81516001600160401b03811115620004da57620004da62000300565b620004f281620004eb84546200042f565b846200046b565b602080601f8311600181146200052a5760008415620005115750858301515b600019600386901b1c1916600185901b178555620004b5565b600085815260208120601f198616915b828110156200055b578886015182559484019460019091019084016200053a565b50858210156200057a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008086546200059a816200042f565b60018281168015620005b55760018114620005cb57620005fc565b60ff1984168752821515830287019450620005fc565b8a60005260208060002060005b85811015620005f35781548a820152908401908201620005d8565b50505082870194505b50505050855162000612818360208a0162000316565b85519101906200062781836020890162000316565b84519101906200063c81836020880162000316565b019695505050505050565b6000600182016200066857634e487b7160e01b600052601160045260246000fd5b5060010190565b6142d2806200067f6000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c80637e50fa8f11610182578063a22cb465116100e9578063dec3f6d9116100a2578063e606df871161007c578063e606df87146106d3578063e985e9c5146106e6578063eb12d61e146106f9578063f2fde38b1461070c57600080fd5b8063dec3f6d9146106af578063e1883c6e146106b7578063e5db587a146106ca57600080fd5b8063a22cb46514610653578063aaaeca1714610666578063b88d4fde1461066e578063bf400a6a14610681578063c3461c0714610694578063c87b56dd1461069c57600080fd5b80639038f4141161013b5780639038f4141461060c57806395d89b41146106145780639abc83201461061c5780639c7f707f146106245780639f4415d814610637578063a1af8ad41461064057600080fd5b80637e50fa8f14610503578063809eb355146105235780638ba526fc146105635780638da5cb5b146105765780638dc10768146105875780638dd8be47146105f957600080fd5b8063335c8b63116102265780635dde20d8116101df5780635dde20d81461047f5780636352211e1461049f5780637065cb48146104b257806370a08231146104c5578063715018a6146104d8578063736c0d5b146104e057600080fd5b8063335c8b63146103f357806342842e0e1461040a57806342966c681461041d578063483823e8146104305780634e5ad318146104395780635312ea8e1461046c57600080fd5b80630e316ab7116102785780630e316ab714610381578063173825d91461039457806320965a5f146103a757806323b872dd146103ba578063267b841d146103cd5780632ca699e7146103e057600080fd5b806301ffc9a7146102c0578063022914a7146102e85780630435dcaf1461030b57806306fdde031461032c578063081812fc14610341578063095ea7b31461036c575b600080fd5b6102d36102ce366004613645565b61071f565b60405190151581526020015b60405180910390f35b6102d36102f6366004613677565b60166020526000908152604090205460ff1681565b61031e610319366004613677565b610771565b6040516102df9291906136d2565b6103346109e1565b6040516102df9190613750565b61035461034f366004613763565b610a73565b6040516001600160a01b0390911681526020016102df565b61037f61037a36600461377c565b610a9a565b005b61037f61038f366004613677565b610bb4565b61037f6103a2366004613677565b610cfa565b61037f6103b53660046137ec565b610e3f565b61037f6103c836600461382d565b61113f565b61037f6103db36600461390b565b611171565b61037f6103ee3660046139e7565b61163a565b6103fc600b5481565b6040519081526020016102df565b61037f61041836600461382d565b6117bc565b61037f61042b366004613763565b6117d7565b6103fc600f5481565b6102d3610447366004613a1c565b33600090815260146020908152604080832060ff948516845290915290205416151590565b61037f61047a366004613763565b611808565b6103fc61048d366004613763565b60126020526000908152604090205481565b6103546104ad366004613763565b611916565b61037f6104c0366004613677565b611976565b6103fc6104d3366004613677565b611a58565b61037f611ade565b6102d36104ee366004613677565b60176020526000908152604090205460ff1681565b6103fc610511366004613677565b60156020526000908152604090205481565b6105516105313660046139e7565b601460209081526000928352604080842090915290825290205460ff1681565b60405160ff90911681526020016102df565b61037f610571366004613763565b611af2565b6007546001600160a01b0316610354565b6105c9610595366004613763565b60136020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a0016102df565b600854610354906001600160a01b031681565b61037f611b5f565b610334611e54565b610334611e63565b61037f610632366004613aae565b611ef1565b6103fc600e5481565b61037f61064e366004613b11565b611f6b565b61037f610661366004613b73565b6121d6565b61037f6121e1565b61037f61067c366004613bac565b612248565b61037f61068f366004613a1c565b61227a565b610334612377565b6103346106aa366004613763565b612384565b61033461238f565b61037f6106c5366004613763565b61239c565b6103fc600c5481565b600a54610354906001600160a01b031681565b6102d36106f4366004613c2b565b6123f4565b61037f610707366004613677565b612422565b61037f61071a366004613677565b612504565b60006001600160e01b031982166380ac58cd60e01b148061075057506001600160e01b03198216635b5e139f60e01b145b8061076b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604080516079808252610f408201909252606091829160009160208201610f20803683375050604080516079808252610f408201909252929350600092915060208201610f2080368337019050509050600060015b60788160ff1611610897576001600160a01b038716600090815260146020908152604080832060ff808616855292529091205416156108855780848360ff168151811061081557610815613c59565b60ff9283166020918202929092018101919091526001600160a01b038916600090815260148252604080822085851683529092522054845190821691859190851690811061086557610865613c59565b60ff909216602092830291909101909101528161088181613c85565b9250505b8061088f81613c85565b9150506107c6565b5060008160ff166001600160401b038111156108b5576108b561386e565b6040519080825280602002602001820160405280156108de578160200160208202803683370190505b50905060008260ff166001600160401b038111156108fe576108fe61386e565b604051908082528060200260200182016040528015610927578160200160208202803683370190505b50905060005b8360ff168160ff1610156109d357858160ff168151811061095057610950613c59565b6020026020010151838260ff168151811061096d5761096d613c59565b60ff928316602091820292909201015285518691831690811061099257610992613c59565b6020026020010151828260ff16815181106109af576109af613c59565b60ff90921660209283029190910190910152806109cb81613c85565b91505061092d565b509097909650945050505050565b6060600080546109f090613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c90613ca4565b8015610a695780601f10610a3e57610100808354040283529160200191610a69565b820191906000526020600020905b815481529060010190602001808311610a4c57829003601f168201915b5050505050905090565b6000610a7e8261257a565b506000908152600460205260409020546001600160a01b031690565b6000610aa582611916565b9050806001600160a01b0316836001600160a01b031603610b175760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610b335750610b3381336123f4565b610ba55760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b0e565b610baf83836125d9565b505050565b3360009081526016602052604090205460ff16610be35760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b038116610c095760405162461bcd60e51b8152600401610b0e90613d21565b336001600160a01b03821603610c715760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661039b4b3b732b960c91b6064820152608401610b0e565b6001600160a01b03811660009081526017602052604090205460ff16610cd95760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e207369676e657200000000000000006044820152606401610b0e565b6001600160a01b03166000908152601760205260409020805460ff19169055565b3360009081526016602052604090205460ff16610d295760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b038116610d4f5760405162461bcd60e51b8152600401610b0e90613d21565b336001600160a01b03821603610db65760405162461bcd60e51b815260206004820152602660248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152651037bbb732b960d11b6064820152608401610b0e565b6001600160a01b03811660009081526016602052604090205460ff16610e1e5760405162461bcd60e51b815260206004820152601760248201527f41646472657373206973206e6f7420616e206f776e65720000000000000000006044820152606401610b0e565b6001600160a01b03166000908152601660205260409020805460ff19169055565b3360009081526014602090815260408083206079845290915290205460ff16610eaa5760405162461bcd60e51b815260206004820152601860248201527f4e6f207469656e657320616c62756d206465207175656d6100000000000000006044820152606401610b0e565b336000908152601460209081526040808320607984529091528120805460ff1691610ed483613d4a565b825460ff9182166101009390930a9283029190920219909116179055503360009081526015602052604081208054839290610f10908490613d67565b90915550600090505b60ff8116821115610fb15733600090815260146020526040812090848460ff8516818110610f4957610f49613c59565b9050602002016020810190610f5e9190613a1c565b60ff90811682526020820192909252604001600090812080549092169190610f8583613d4a565b91906101000a81548160ff021916908360ff160217905550508080610fa990613c85565b915050610f19565b5033600090815260156020526040902054610fce90603c90613d90565b60000361113b5761106d3360118054610fe690613ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461101290613ca4565b801561105f5780601f106110345761010080835404028352916020019161105f565b820191906000526020600020905b81548152906001019060200180831161104257829003601f168201915b505050505060796002612647565b600e54600c60008282546110819190613da4565b9091555050600a54600f5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156110db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ff9190613db7565b5060408051338152600260208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa91015b60405180910390a15b5050565b61114a335b826126aa565b6111665760405162461bcd60e51b8152600401610b0e90613dd4565b610baf838383612709565b60085460405163d3e6a7ad60e01b81526004810186905233916001600160a01b03169063d3e6a7ad90602401602060405180830381865afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de9190613e21565b6001600160a01b03161461122c5760405162461bcd60e51b81526020600482015260156024820152744573746520736f627265206e6f206573207475796f60581b6044820152606401610b0e565b600f83511061127d5760405162461bcd60e51b815260206004820152601960248201527f4c696d6974652064652063617274617320657863656469646f000000000000006044820152606401610b0e565b6008546040516380f2540b60e01b8152600481018690523360248201526001600160a01b03909116906380f2540b90604401600060405180830381600087803b1580156112c957600080fd5b505af11580156112dd573d6000803e3d6000fd5b505050506006600b546112f09190613e3e565b600b546112fd9190613da4565b600c600082825461130e9190613d67565b92505081905550600061138f33868660405160200161132f93929190613e52565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b905060006113d584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061287a9050565b90506114166040518060400160405280601a81526020017f6f70656e207061636b207369676e6572207265636f76657265640000000000008152508261289e565b6001600160a01b03811660009081526017602052604090205460ff166114725760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610b0e565b845160005b818160ff1610156115f557868160ff168151811061149757611497613c59565b602002602001015160ff166078146114e55761138960126000898460ff16815181106114c5576114c5613c59565b602002602001015160ff1681526020019081526020016000205410611516565b607860005260126020527fd43bf65cc296265a72286ada1f6592702fb1f53ce0ec526dff3e3696637b205b54610bb9115b61151f57600080fd5b60126000888360ff168151811061153857611538613c59565b602002602001015160ff168152602001908152602001600020600081548092919061156290613ee0565b90915550503360009081526014602052604081208851909190899060ff851690811061159057611590613c59565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906115c990613c85565b91906101000a81548160ff021916908360ff1602179055505080806115ed90613c85565b915050611477565b507fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e333878960405161162993929190613ef9565b60405180910390a150505050505050565b33600090815260146020908152604080832060ff8086168552925290912054166116765760405162461bcd60e51b8152600401610b0e90613f2d565b336001600160a01b038316036116ce5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73662070726f706961206e6f207065726d69746964610000000000006044820152606401610b0e565b6001600160a01b0382166117245760405162461bcd60e51b815260206004820152601e60248201527f5175656d61646f20646520636172746173206e6f207065726d697469646f00006044820152606401610b0e565b33600090815260146020908152604080832060ff80861685529252822080549091169161175083613d4a565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0384166000908152601460209081526040808320868516845290915281208054909216925061179f83613c85565b91906101000a81548160ff021916908360ff160217905550505050565b610baf83838360405180602001604052806000815250612248565b6117e033611144565b6117fc5760405162461bcd60e51b8152600401610b0e90613dd4565b611805816128e3565b50565b3360009081526016602052604090205460ff166118375760405162461bcd60e51b8152600401610b0e90613cde565b8061184130611a58565b101561184c57600080fd5b80600c600082825461185e9190613da4565b9091555050600a5460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d89190613db7565b5060408051338152602081018390527f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2091015b60405180910390a150565b6000818152600260205260408120546001600160a01b03168061076b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b0e565b3360009081526016602052604090205460ff166119a55760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b0381166119cb5760405162461bcd60e51b8152600401610b0e90613d21565b6001600160a01b03811660009081526016602052604090205460ff1615611a345760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b0e565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b60006001600160a01b038216611ac25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610b0e565b506001600160a01b031660009081526003602052604090205490565b611ae66128ec565b611af06000612946565b565b6008546001600160a01b03163314611b455760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b0e565b80600c6000828254611b579190613d67565b909155505050565b3360009081526014602090815260408083206078845290915290205460ff16611bc35760405162461bcd60e51b81526020600482015260166024820152754e6f207469656e6573206e696e67756e20616c62756d60501b6044820152606401610b0e565b600e54600c541015611c0e5760405162461bcd60e51b8152602060048201526014602482015273466f6e646f7320696e737566696369656e74657360601b6044820152606401610b0e565b6000805b60798160ff161015611ca45733600090815260146020908152604080832060ff80861685529252822054169003611c4c5760019150611ca4565b33600090815260146020908152604080832060ff808616855292528220805490911691611c7883613d4a565b91906101000a81548160ff021916908360ff160217905550508080611c9c90613c85565b915050611c12565b508015611cf35760405162461bcd60e51b815260206004820152601760248201527f4d75737420636f6d706c6574652074686520616c62756d0000000000000000006044820152606401610b0e565b611d8b3360108054611d0490613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3090613ca4565b8015611d7d5780601f10611d5257610100808354040283529160200191611d7d565b820191906000526020600020905b815481529060010190602001808311611d6057829003601f168201915b505050505060786002612647565b600e54600c6000828254611d9f9190613da4565b9091555050600a54600e5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d9190613db7565b5060408051338152600160208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa910161190b565b6060600180546109f090613ca4565b600d8054611e7090613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9c90613ca4565b8015611ee95780601f10611ebe57610100808354040283529160200191611ee9565b820191906000526020600020905b815481529060010190602001808311611ecc57829003601f168201915b505050505081565b3360009081526016602052604090205460ff16611f205760405162461bcd60e51b8152600401610b0e90613cde565b6010611f2c8382613fa9565b506011611f398282613fa9565b507fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec68282604051611132929190614068565b336001600160a01b03841603611fd15760405162461bcd60e51b815260206004820152602560248201527f4e6f2074652070756564657320656e76696172206361727461732061207469206044820152646d69736d6f60d81b6064820152608401610b0e565b6001600160a01b0383166120365760405162461bcd60e51b815260206004820152602660248201527f4e6f20707565646573207175656d6172206361727461732064652065737461206044820152656d616e65726160d01b6064820152608401610b0e565b60005b60ff81168211156121d05733600090815260146020526040812081858560ff861681811061206957612069613c59565b905060200201602081019061207e9190613a1c565b60ff908116825260208201929092526040016000205416116120b25760405162461bcd60e51b8152600401610b0e90613f2d565b33600090815260146020526040812090848460ff85168181106120d7576120d7613c59565b90506020020160208101906120ec9190613a1c565b60ff9081168252602082019290925260400160009081208054909216919061211383613d4a565b91906101000a81548160ff021916908360ff1602179055505060146000856001600160a01b03166001600160a01b03168152602001908152602001600020600084848460ff1681811061216857612168613c59565b905060200201602081019061217d9190613a1c565b60ff908116825260208201929092526040016000908120805490921691906121a483613c85565b91906101000a81548160ff021916908360ff1602179055505080806121c890613c85565b915050612039565b50505050565b61113b338383612998565b60005b60798160ff1610156118055733600090815260146020908152604080832060ff80861685529252822080549091169161221c83613c85565b91906101000a81548160ff021916908360ff16021790555050808061224090613c85565b9150506121e4565b61225233836126aa565b61226e5760405162461bcd60e51b8152600401610b0e90613dd4565b6121d084848484612a66565b33600090815260146020908152604080832060ff8086168552925290912054166122b65760405162461bcd60e51b8152600401610b0e90613f2d565b33600090815260146020908152604080832060ff8086168552925282208054909116916122e283613d4a565b91906101000a81548160ff021916908360ff160217905550506000600d604051806040016040528060018152602001602f60f81b8152506123258460ff16612a99565b60405180604001604052806005815260200164173539b7b760d91b815250604051602001612356949392919061408d565b604051602081830303815290604052905061113b33828460ff166001612647565b60108054611e7090613ca4565b606061076b82612b99565b60118054611e7090613ca4565b6008546001600160a01b031633146123ef5760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b0e565b600b55565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3360009081526016602052604090205460ff166124515760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b0381166124775760405162461bcd60e51b8152600401610b0e90613d21565b6001600160a01b03811660009081526017602052604090205460ff16156124e05760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b0e565b6001600160a01b03166000908152601760205260409020805460ff19166001179055565b61250c6128ec565b6001600160a01b0381166125715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b0e565b61180581612946565b6000818152600260205260409020546001600160a01b03166118055760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b0e565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061260e82611916565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061265260095490565b9050612662600980546001019055565b600081815260136020526040902081815560018101849055600201805461ff00191661010060ff8516021790556126998582612ca1565b6126a38185612cbb565b5050505050565b6000806126b683611916565b9050806001600160a01b0316846001600160a01b031614806126dd57506126dd81856123f4565b806127015750836001600160a01b03166126f684610a73565b6001600160a01b0316145b949350505050565b826001600160a01b031661271c82611916565b6001600160a01b0316146127425760405162461bcd60e51b8152600401610b0e9061413c565b6001600160a01b0382166127a45760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610b0e565b6127b18383836001612d4e565b826001600160a01b03166127c482611916565b6001600160a01b0316146127ea5760405162461bcd60e51b8152600401610b0e9061413c565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060006128898585612dd6565b9150915061289681612e1b565b509392505050565b61113b82826040516024016128b4929190614181565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052612f65565b61180581612f6e565b6007546001600160a01b03163314611af05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b0e565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036129f95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b0e565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612a71848484612709565b612a7d84848484612fae565b6121d05760405162461bcd60e51b8152600401610b0e906141ab565b606081600003612ac05750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612aea5780612ad481613ee0565b9150612ae39050600a83613e3e565b9150612ac4565b6000816001600160401b03811115612b0457612b0461386e565b6040519080825280601f01601f191660200182016040528015612b2e576020820181803683370190505b5090505b841561270157612b43600183613da4565b9150612b50600a86613d90565b612b5b906030613d67565b60f81b818381518110612b7057612b70613c59565b60200101906001600160f81b031916908160001a905350612b92600a86613e3e565b9450612b32565b6060612ba48261257a565b60008281526006602052604081208054612bbd90613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be990613ca4565b8015612c365780601f10612c0b57610100808354040283529160200191612c36565b820191906000526020600020905b815481529060010190602001808311612c1957829003601f168201915b505050505090506000612c5460408051602081019091526000815290565b90508051600003612c66575092915050565b815115612c98578082604051602001612c809291906141fd565b60405160208183030381529060405292505050919050565b612701846130af565b61113b828260405180602001604052806000815250613123565b6000828152600260205260409020546001600160a01b0316612d365760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610b0e565b6000828152600660205260409020610baf8282613fa9565b60018111156121d0576001600160a01b03841615612d94576001600160a01b03841660009081526003602052604081208054839290612d8e908490613da4565b90915550505b6001600160a01b038316156121d0576001600160a01b03831660009081526003602052604081208054839290612dcb908490613d67565b909155505050505050565b6000808251604103612e0c5760208301516040840151606085015160001a612e0087828585613156565b94509450505050612e14565b506000905060025b9250929050565b6000816004811115612e2f57612e2f61422c565b03612e375750565b6001816004811115612e4b57612e4b61422c565b03612e985760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b0e565b6002816004811115612eac57612eac61422c565b03612ef95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b0e565b6003816004811115612f0d57612f0d61422c565b036118055760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b0e565b6118058161321a565b612f778161323b565b60008181526006602052604090208054612f9090613ca4565b159050611805576000818152600660205260408120611805916135e1565b60006001600160a01b0384163b156130a457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612ff2903390899088908890600401614242565b6020604051808303816000875af192505050801561302d575060408051601f3d908101601f1916820190925261302a9181019061427f565b60015b61308a573d80801561305b576040519150601f19603f3d011682016040523d82523d6000602084013e613060565b606091505b5080516000036130825760405162461bcd60e51b8152600401610b0e906141ab565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612701565b506001949350505050565b60606130ba8261257a565b60006130d160408051602081019091526000815290565b905060008151116130f1576040518060200160405280600081525061311c565b806130fb846132de565b60405160200161310c9291906141fd565b6040516020818303038152906040525b9392505050565b61312d8383613370565b61313a6000848484612fae565b610baf5760405162461bcd60e51b8152600401610b0e906141ab565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561318d5750600090506003613211565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156131e1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661320a57600060019250925050613211565b9150600090505b94509492505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b600061324682611916565b9050613256816000846001612d4e565b61325f82611916565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006132eb83613509565b60010190506000816001600160401b0381111561330a5761330a61386e565b6040519080825280601f01601f191660200182016040528015613334576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461333e57509392505050565b6001600160a01b0382166133c65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b0e565b6000818152600260205260409020546001600160a01b03161561342b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b0e565b613439600083836001612d4e565b6000818152600260205260409020546001600160a01b03161561349e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b0e565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106135485772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310613574576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061359257662386f26fc10000830492506010015b6305f5e10083106135aa576305f5e100830492506008015b61271083106135be57612710830492506004015b606483106135d0576064830492506002015b600a831061076b5760010192915050565b5080546135ed90613ca4565b6000825580601f106135fd575050565b601f01602090049060005260206000209081019061180591905b8082111561362b5760008155600101613617565b5090565b6001600160e01b03198116811461180557600080fd5b60006020828403121561365757600080fd5b813561311c8161362f565b6001600160a01b038116811461180557600080fd5b60006020828403121561368957600080fd5b813561311c81613662565b600081518084526020808501945080840160005b838110156136c757815160ff16875295820195908201906001016136a8565b509495945050505050565b6040815260006136e56040830185613694565b82810360208401526136f78185613694565b95945050505050565b60005b8381101561371b578181015183820152602001613703565b50506000910152565b6000815180845261373c816020860160208601613700565b601f01601f19169290920160200192915050565b60208152600061311c6020830184613724565b60006020828403121561377557600080fd5b5035919050565b6000806040838503121561378f57600080fd5b823561379a81613662565b946020939093013593505050565b60008083601f8401126137ba57600080fd5b5081356001600160401b038111156137d157600080fd5b6020830191508360208260051b8501011115612e1457600080fd5b600080602083850312156137ff57600080fd5b82356001600160401b0381111561381557600080fd5b613821858286016137a8565b90969095509350505050565b60008060006060848603121561384257600080fd5b833561384d81613662565b9250602084013561385d81613662565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156138ac576138ac61386e565b604052919050565b803560ff811681146138c557600080fd5b919050565b60008083601f8401126138dc57600080fd5b5081356001600160401b038111156138f357600080fd5b602083019150836020828501011115612e1457600080fd5b6000806000806060858703121561392157600080fd5b843593506020808601356001600160401b038082111561394057600080fd5b818801915088601f83011261395457600080fd5b8135818111156139665761396661386e565b8060051b613975858201613884565b918252838101850191858101908c84111561398f57600080fd5b948601945b838610156139b4576139a5866138b4565b82529486019490860190613994565b985050505060408801359250808311156139cd57600080fd5b50506139db878288016138ca565b95989497509550505050565b600080604083850312156139fa57600080fd5b8235613a0581613662565b9150613a13602084016138b4565b90509250929050565b600060208284031215613a2e57600080fd5b61311c826138b4565b60006001600160401b03831115613a5057613a5061386e565b613a63601f8401601f1916602001613884565b9050828152838383011115613a7757600080fd5b828260208301376000602084830101529392505050565b600082601f830112613a9f57600080fd5b61311c83833560208501613a37565b60008060408385031215613ac157600080fd5b82356001600160401b0380821115613ad857600080fd5b613ae486838701613a8e565b93506020850135915080821115613afa57600080fd5b50613b0785828601613a8e565b9150509250929050565b600080600060408486031215613b2657600080fd5b8335613b3181613662565b925060208401356001600160401b03811115613b4c57600080fd5b613b58868287016137a8565b9497909650939450505050565b801515811461180557600080fd5b60008060408385031215613b8657600080fd5b8235613b9181613662565b91506020830135613ba181613b65565b809150509250929050565b60008060008060808587031215613bc257600080fd5b8435613bcd81613662565b93506020850135613bdd81613662565b92506040850135915060608501356001600160401b03811115613bff57600080fd5b8501601f81018713613c1057600080fd5b613c1f87823560208401613a37565b91505092959194509250565b60008060408385031215613c3e57600080fd5b8235613c4981613662565b91506020830135613ba181613662565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103613c9b57613c9b613c6f565b60010192915050565b600181811c90821680613cb857607f821691505b602082108103613cd857634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526023908201527f4f6e6c79206f776e6572732063616e2063616c6c20746869732066756e63746960408201526237b71760e91b606082015260800190565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b600060ff821680613d5d57613d5d613c6f565b6000190192915050565b8082018082111561076b5761076b613c6f565b634e487b7160e01b600052601260045260246000fd5b600082613d9f57613d9f613d7a565b500690565b8181038181111561076b5761076b613c6f565b600060208284031215613dc957600080fd5b815161311c81613b65565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215613e3357600080fd5b815161311c81613662565b600082613e4d57613e4d613d7a565b500490565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b83811015613e9c57815160ff1685529382019390820190600101613e7d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b600060018201613ef257613ef2613c6f565b5060010190565b6001600160a01b0384168152606060208201819052600090613f1d90830185613694565b9050826040830152949350505050565b6020808252601490820152734e6f207469656e6573206573746120636172746160601b604082015260600190565b601f821115610baf57600081815260208120601f850160051c81016020861015613f825750805b601f850160051c820191505b81811015613fa157828155600101613f8e565b505050505050565b81516001600160401b03811115613fc257613fc261386e565b613fd681613fd08454613ca4565b84613f5b565b602080601f83116001811461400b5760008415613ff35750858301515b600019600386901b1c1916600185901b178555613fa1565b600085815260208120601f198616915b8281101561403a5788860151825594840194600190910190840161401b565b50858210156140585787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061407b6040830185613724565b82810360208401526136f78185613724565b600080865461409b81613ca4565b600182811680156140b357600181146140c8576140f7565b60ff19841687528215158302870194506140f7565b8a60005260208060002060005b858110156140ee5781548a8201529084019082016140d5565b50505082870194505b50505050855161410b818360208a01613700565b855191019061411e818360208901613700565b8451910190614131818360208801613700565b019695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6040815260006141946040830185613724565b905060018060a01b03831660208301529392505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161420f818460208801613700565b835190830190614223818360208801613700565b01949350505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061427590830184613724565b9695505050505050565b60006020828403121561429157600080fd5b815161311c8161362f56fea26469706673582212206ca13976ef27d81bac376fc9bbaff39c9ef0d04a9a0fcd34d619e4f8408ea34964736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102bb5760003560e01c80637e50fa8f11610182578063a22cb465116100e9578063dec3f6d9116100a2578063e606df871161007c578063e606df87146106d3578063e985e9c5146106e6578063eb12d61e146106f9578063f2fde38b1461070c57600080fd5b8063dec3f6d9146106af578063e1883c6e146106b7578063e5db587a146106ca57600080fd5b8063a22cb46514610653578063aaaeca1714610666578063b88d4fde1461066e578063bf400a6a14610681578063c3461c0714610694578063c87b56dd1461069c57600080fd5b80639038f4141161013b5780639038f4141461060c57806395d89b41146106145780639abc83201461061c5780639c7f707f146106245780639f4415d814610637578063a1af8ad41461064057600080fd5b80637e50fa8f14610503578063809eb355146105235780638ba526fc146105635780638da5cb5b146105765780638dc10768146105875780638dd8be47146105f957600080fd5b8063335c8b63116102265780635dde20d8116101df5780635dde20d81461047f5780636352211e1461049f5780637065cb48146104b257806370a08231146104c5578063715018a6146104d8578063736c0d5b146104e057600080fd5b8063335c8b63146103f357806342842e0e1461040a57806342966c681461041d578063483823e8146104305780634e5ad318146104395780635312ea8e1461046c57600080fd5b80630e316ab7116102785780630e316ab714610381578063173825d91461039457806320965a5f146103a757806323b872dd146103ba578063267b841d146103cd5780632ca699e7146103e057600080fd5b806301ffc9a7146102c0578063022914a7146102e85780630435dcaf1461030b57806306fdde031461032c578063081812fc14610341578063095ea7b31461036c575b600080fd5b6102d36102ce366004613645565b61071f565b60405190151581526020015b60405180910390f35b6102d36102f6366004613677565b60166020526000908152604090205460ff1681565b61031e610319366004613677565b610771565b6040516102df9291906136d2565b6103346109e1565b6040516102df9190613750565b61035461034f366004613763565b610a73565b6040516001600160a01b0390911681526020016102df565b61037f61037a36600461377c565b610a9a565b005b61037f61038f366004613677565b610bb4565b61037f6103a2366004613677565b610cfa565b61037f6103b53660046137ec565b610e3f565b61037f6103c836600461382d565b61113f565b61037f6103db36600461390b565b611171565b61037f6103ee3660046139e7565b61163a565b6103fc600b5481565b6040519081526020016102df565b61037f61041836600461382d565b6117bc565b61037f61042b366004613763565b6117d7565b6103fc600f5481565b6102d3610447366004613a1c565b33600090815260146020908152604080832060ff948516845290915290205416151590565b61037f61047a366004613763565b611808565b6103fc61048d366004613763565b60126020526000908152604090205481565b6103546104ad366004613763565b611916565b61037f6104c0366004613677565b611976565b6103fc6104d3366004613677565b611a58565b61037f611ade565b6102d36104ee366004613677565b60176020526000908152604090205460ff1681565b6103fc610511366004613677565b60156020526000908152604090205481565b6105516105313660046139e7565b601460209081526000928352604080842090915290825290205460ff1681565b60405160ff90911681526020016102df565b61037f610571366004613763565b611af2565b6007546001600160a01b0316610354565b6105c9610595366004613763565b60136020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a0016102df565b600854610354906001600160a01b031681565b61037f611b5f565b610334611e54565b610334611e63565b61037f610632366004613aae565b611ef1565b6103fc600e5481565b61037f61064e366004613b11565b611f6b565b61037f610661366004613b73565b6121d6565b61037f6121e1565b61037f61067c366004613bac565b612248565b61037f61068f366004613a1c565b61227a565b610334612377565b6103346106aa366004613763565b612384565b61033461238f565b61037f6106c5366004613763565b61239c565b6103fc600c5481565b600a54610354906001600160a01b031681565b6102d36106f4366004613c2b565b6123f4565b61037f610707366004613677565b612422565b61037f61071a366004613677565b612504565b60006001600160e01b031982166380ac58cd60e01b148061075057506001600160e01b03198216635b5e139f60e01b145b8061076b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604080516079808252610f408201909252606091829160009160208201610f20803683375050604080516079808252610f408201909252929350600092915060208201610f2080368337019050509050600060015b60788160ff1611610897576001600160a01b038716600090815260146020908152604080832060ff808616855292529091205416156108855780848360ff168151811061081557610815613c59565b60ff9283166020918202929092018101919091526001600160a01b038916600090815260148252604080822085851683529092522054845190821691859190851690811061086557610865613c59565b60ff909216602092830291909101909101528161088181613c85565b9250505b8061088f81613c85565b9150506107c6565b5060008160ff166001600160401b038111156108b5576108b561386e565b6040519080825280602002602001820160405280156108de578160200160208202803683370190505b50905060008260ff166001600160401b038111156108fe576108fe61386e565b604051908082528060200260200182016040528015610927578160200160208202803683370190505b50905060005b8360ff168160ff1610156109d357858160ff168151811061095057610950613c59565b6020026020010151838260ff168151811061096d5761096d613c59565b60ff928316602091820292909201015285518691831690811061099257610992613c59565b6020026020010151828260ff16815181106109af576109af613c59565b60ff90921660209283029190910190910152806109cb81613c85565b91505061092d565b509097909650945050505050565b6060600080546109f090613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c90613ca4565b8015610a695780601f10610a3e57610100808354040283529160200191610a69565b820191906000526020600020905b815481529060010190602001808311610a4c57829003601f168201915b5050505050905090565b6000610a7e8261257a565b506000908152600460205260409020546001600160a01b031690565b6000610aa582611916565b9050806001600160a01b0316836001600160a01b031603610b175760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610b335750610b3381336123f4565b610ba55760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b0e565b610baf83836125d9565b505050565b3360009081526016602052604090205460ff16610be35760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b038116610c095760405162461bcd60e51b8152600401610b0e90613d21565b336001600160a01b03821603610c715760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661039b4b3b732b960c91b6064820152608401610b0e565b6001600160a01b03811660009081526017602052604090205460ff16610cd95760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e207369676e657200000000000000006044820152606401610b0e565b6001600160a01b03166000908152601760205260409020805460ff19169055565b3360009081526016602052604090205460ff16610d295760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b038116610d4f5760405162461bcd60e51b8152600401610b0e90613d21565b336001600160a01b03821603610db65760405162461bcd60e51b815260206004820152602660248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152651037bbb732b960d11b6064820152608401610b0e565b6001600160a01b03811660009081526016602052604090205460ff16610e1e5760405162461bcd60e51b815260206004820152601760248201527f41646472657373206973206e6f7420616e206f776e65720000000000000000006044820152606401610b0e565b6001600160a01b03166000908152601660205260409020805460ff19169055565b3360009081526014602090815260408083206079845290915290205460ff16610eaa5760405162461bcd60e51b815260206004820152601860248201527f4e6f207469656e657320616c62756d206465207175656d6100000000000000006044820152606401610b0e565b336000908152601460209081526040808320607984529091528120805460ff1691610ed483613d4a565b825460ff9182166101009390930a9283029190920219909116179055503360009081526015602052604081208054839290610f10908490613d67565b90915550600090505b60ff8116821115610fb15733600090815260146020526040812090848460ff8516818110610f4957610f49613c59565b9050602002016020810190610f5e9190613a1c565b60ff90811682526020820192909252604001600090812080549092169190610f8583613d4a565b91906101000a81548160ff021916908360ff160217905550508080610fa990613c85565b915050610f19565b5033600090815260156020526040902054610fce90603c90613d90565b60000361113b5761106d3360118054610fe690613ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461101290613ca4565b801561105f5780601f106110345761010080835404028352916020019161105f565b820191906000526020600020905b81548152906001019060200180831161104257829003601f168201915b505050505060796002612647565b600e54600c60008282546110819190613da4565b9091555050600a54600f5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156110db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ff9190613db7565b5060408051338152600260208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa91015b60405180910390a15b5050565b61114a335b826126aa565b6111665760405162461bcd60e51b8152600401610b0e90613dd4565b610baf838383612709565b60085460405163d3e6a7ad60e01b81526004810186905233916001600160a01b03169063d3e6a7ad90602401602060405180830381865afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de9190613e21565b6001600160a01b03161461122c5760405162461bcd60e51b81526020600482015260156024820152744573746520736f627265206e6f206573207475796f60581b6044820152606401610b0e565b600f83511061127d5760405162461bcd60e51b815260206004820152601960248201527f4c696d6974652064652063617274617320657863656469646f000000000000006044820152606401610b0e565b6008546040516380f2540b60e01b8152600481018690523360248201526001600160a01b03909116906380f2540b90604401600060405180830381600087803b1580156112c957600080fd5b505af11580156112dd573d6000803e3d6000fd5b505050506006600b546112f09190613e3e565b600b546112fd9190613da4565b600c600082825461130e9190613d67565b92505081905550600061138f33868660405160200161132f93929190613e52565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b905060006113d584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061287a9050565b90506114166040518060400160405280601a81526020017f6f70656e207061636b207369676e6572207265636f76657265640000000000008152508261289e565b6001600160a01b03811660009081526017602052604090205460ff166114725760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610b0e565b845160005b818160ff1610156115f557868160ff168151811061149757611497613c59565b602002602001015160ff166078146114e55761138960126000898460ff16815181106114c5576114c5613c59565b602002602001015160ff1681526020019081526020016000205410611516565b607860005260126020527fd43bf65cc296265a72286ada1f6592702fb1f53ce0ec526dff3e3696637b205b54610bb9115b61151f57600080fd5b60126000888360ff168151811061153857611538613c59565b602002602001015160ff168152602001908152602001600020600081548092919061156290613ee0565b90915550503360009081526014602052604081208851909190899060ff851690811061159057611590613c59565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906115c990613c85565b91906101000a81548160ff021916908360ff1602179055505080806115ed90613c85565b915050611477565b507fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e333878960405161162993929190613ef9565b60405180910390a150505050505050565b33600090815260146020908152604080832060ff8086168552925290912054166116765760405162461bcd60e51b8152600401610b0e90613f2d565b336001600160a01b038316036116ce5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73662070726f706961206e6f207065726d69746964610000000000006044820152606401610b0e565b6001600160a01b0382166117245760405162461bcd60e51b815260206004820152601e60248201527f5175656d61646f20646520636172746173206e6f207065726d697469646f00006044820152606401610b0e565b33600090815260146020908152604080832060ff80861685529252822080549091169161175083613d4a565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0384166000908152601460209081526040808320868516845290915281208054909216925061179f83613c85565b91906101000a81548160ff021916908360ff160217905550505050565b610baf83838360405180602001604052806000815250612248565b6117e033611144565b6117fc5760405162461bcd60e51b8152600401610b0e90613dd4565b611805816128e3565b50565b3360009081526016602052604090205460ff166118375760405162461bcd60e51b8152600401610b0e90613cde565b8061184130611a58565b101561184c57600080fd5b80600c600082825461185e9190613da4565b9091555050600a5460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d89190613db7565b5060408051338152602081018390527f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2091015b60405180910390a150565b6000818152600260205260408120546001600160a01b03168061076b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b0e565b3360009081526016602052604090205460ff166119a55760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b0381166119cb5760405162461bcd60e51b8152600401610b0e90613d21565b6001600160a01b03811660009081526016602052604090205460ff1615611a345760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b0e565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b60006001600160a01b038216611ac25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610b0e565b506001600160a01b031660009081526003602052604090205490565b611ae66128ec565b611af06000612946565b565b6008546001600160a01b03163314611b455760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b0e565b80600c6000828254611b579190613d67565b909155505050565b3360009081526014602090815260408083206078845290915290205460ff16611bc35760405162461bcd60e51b81526020600482015260166024820152754e6f207469656e6573206e696e67756e20616c62756d60501b6044820152606401610b0e565b600e54600c541015611c0e5760405162461bcd60e51b8152602060048201526014602482015273466f6e646f7320696e737566696369656e74657360601b6044820152606401610b0e565b6000805b60798160ff161015611ca45733600090815260146020908152604080832060ff80861685529252822054169003611c4c5760019150611ca4565b33600090815260146020908152604080832060ff808616855292528220805490911691611c7883613d4a565b91906101000a81548160ff021916908360ff160217905550508080611c9c90613c85565b915050611c12565b508015611cf35760405162461bcd60e51b815260206004820152601760248201527f4d75737420636f6d706c6574652074686520616c62756d0000000000000000006044820152606401610b0e565b611d8b3360108054611d0490613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3090613ca4565b8015611d7d5780601f10611d5257610100808354040283529160200191611d7d565b820191906000526020600020905b815481529060010190602001808311611d6057829003601f168201915b505050505060786002612647565b600e54600c6000828254611d9f9190613da4565b9091555050600a54600e5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d9190613db7565b5060408051338152600160208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa910161190b565b6060600180546109f090613ca4565b600d8054611e7090613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9c90613ca4565b8015611ee95780601f10611ebe57610100808354040283529160200191611ee9565b820191906000526020600020905b815481529060010190602001808311611ecc57829003601f168201915b505050505081565b3360009081526016602052604090205460ff16611f205760405162461bcd60e51b8152600401610b0e90613cde565b6010611f2c8382613fa9565b506011611f398282613fa9565b507fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec68282604051611132929190614068565b336001600160a01b03841603611fd15760405162461bcd60e51b815260206004820152602560248201527f4e6f2074652070756564657320656e76696172206361727461732061207469206044820152646d69736d6f60d81b6064820152608401610b0e565b6001600160a01b0383166120365760405162461bcd60e51b815260206004820152602660248201527f4e6f20707565646573207175656d6172206361727461732064652065737461206044820152656d616e65726160d01b6064820152608401610b0e565b60005b60ff81168211156121d05733600090815260146020526040812081858560ff861681811061206957612069613c59565b905060200201602081019061207e9190613a1c565b60ff908116825260208201929092526040016000205416116120b25760405162461bcd60e51b8152600401610b0e90613f2d565b33600090815260146020526040812090848460ff85168181106120d7576120d7613c59565b90506020020160208101906120ec9190613a1c565b60ff9081168252602082019290925260400160009081208054909216919061211383613d4a565b91906101000a81548160ff021916908360ff1602179055505060146000856001600160a01b03166001600160a01b03168152602001908152602001600020600084848460ff1681811061216857612168613c59565b905060200201602081019061217d9190613a1c565b60ff908116825260208201929092526040016000908120805490921691906121a483613c85565b91906101000a81548160ff021916908360ff1602179055505080806121c890613c85565b915050612039565b50505050565b61113b338383612998565b60005b60798160ff1610156118055733600090815260146020908152604080832060ff80861685529252822080549091169161221c83613c85565b91906101000a81548160ff021916908360ff16021790555050808061224090613c85565b9150506121e4565b61225233836126aa565b61226e5760405162461bcd60e51b8152600401610b0e90613dd4565b6121d084848484612a66565b33600090815260146020908152604080832060ff8086168552925290912054166122b65760405162461bcd60e51b8152600401610b0e90613f2d565b33600090815260146020908152604080832060ff8086168552925282208054909116916122e283613d4a565b91906101000a81548160ff021916908360ff160217905550506000600d604051806040016040528060018152602001602f60f81b8152506123258460ff16612a99565b60405180604001604052806005815260200164173539b7b760d91b815250604051602001612356949392919061408d565b604051602081830303815290604052905061113b33828460ff166001612647565b60108054611e7090613ca4565b606061076b82612b99565b60118054611e7090613ca4565b6008546001600160a01b031633146123ef5760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b0e565b600b55565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3360009081526016602052604090205460ff166124515760405162461bcd60e51b8152600401610b0e90613cde565b6001600160a01b0381166124775760405162461bcd60e51b8152600401610b0e90613d21565b6001600160a01b03811660009081526017602052604090205460ff16156124e05760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b0e565b6001600160a01b03166000908152601760205260409020805460ff19166001179055565b61250c6128ec565b6001600160a01b0381166125715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b0e565b61180581612946565b6000818152600260205260409020546001600160a01b03166118055760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b0e565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061260e82611916565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061265260095490565b9050612662600980546001019055565b600081815260136020526040902081815560018101849055600201805461ff00191661010060ff8516021790556126998582612ca1565b6126a38185612cbb565b5050505050565b6000806126b683611916565b9050806001600160a01b0316846001600160a01b031614806126dd57506126dd81856123f4565b806127015750836001600160a01b03166126f684610a73565b6001600160a01b0316145b949350505050565b826001600160a01b031661271c82611916565b6001600160a01b0316146127425760405162461bcd60e51b8152600401610b0e9061413c565b6001600160a01b0382166127a45760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610b0e565b6127b18383836001612d4e565b826001600160a01b03166127c482611916565b6001600160a01b0316146127ea5760405162461bcd60e51b8152600401610b0e9061413c565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060006128898585612dd6565b9150915061289681612e1b565b509392505050565b61113b82826040516024016128b4929190614181565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052612f65565b61180581612f6e565b6007546001600160a01b03163314611af05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b0e565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036129f95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b0e565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612a71848484612709565b612a7d84848484612fae565b6121d05760405162461bcd60e51b8152600401610b0e906141ab565b606081600003612ac05750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612aea5780612ad481613ee0565b9150612ae39050600a83613e3e565b9150612ac4565b6000816001600160401b03811115612b0457612b0461386e565b6040519080825280601f01601f191660200182016040528015612b2e576020820181803683370190505b5090505b841561270157612b43600183613da4565b9150612b50600a86613d90565b612b5b906030613d67565b60f81b818381518110612b7057612b70613c59565b60200101906001600160f81b031916908160001a905350612b92600a86613e3e565b9450612b32565b6060612ba48261257a565b60008281526006602052604081208054612bbd90613ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be990613ca4565b8015612c365780601f10612c0b57610100808354040283529160200191612c36565b820191906000526020600020905b815481529060010190602001808311612c1957829003601f168201915b505050505090506000612c5460408051602081019091526000815290565b90508051600003612c66575092915050565b815115612c98578082604051602001612c809291906141fd565b60405160208183030381529060405292505050919050565b612701846130af565b61113b828260405180602001604052806000815250613123565b6000828152600260205260409020546001600160a01b0316612d365760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610b0e565b6000828152600660205260409020610baf8282613fa9565b60018111156121d0576001600160a01b03841615612d94576001600160a01b03841660009081526003602052604081208054839290612d8e908490613da4565b90915550505b6001600160a01b038316156121d0576001600160a01b03831660009081526003602052604081208054839290612dcb908490613d67565b909155505050505050565b6000808251604103612e0c5760208301516040840151606085015160001a612e0087828585613156565b94509450505050612e14565b506000905060025b9250929050565b6000816004811115612e2f57612e2f61422c565b03612e375750565b6001816004811115612e4b57612e4b61422c565b03612e985760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b0e565b6002816004811115612eac57612eac61422c565b03612ef95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b0e565b6003816004811115612f0d57612f0d61422c565b036118055760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b0e565b6118058161321a565b612f778161323b565b60008181526006602052604090208054612f9090613ca4565b159050611805576000818152600660205260408120611805916135e1565b60006001600160a01b0384163b156130a457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612ff2903390899088908890600401614242565b6020604051808303816000875af192505050801561302d575060408051601f3d908101601f1916820190925261302a9181019061427f565b60015b61308a573d80801561305b576040519150601f19603f3d011682016040523d82523d6000602084013e613060565b606091505b5080516000036130825760405162461bcd60e51b8152600401610b0e906141ab565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612701565b506001949350505050565b60606130ba8261257a565b60006130d160408051602081019091526000815290565b905060008151116130f1576040518060200160405280600081525061311c565b806130fb846132de565b60405160200161310c9291906141fd565b6040516020818303038152906040525b9392505050565b61312d8383613370565b61313a6000848484612fae565b610baf5760405162461bcd60e51b8152600401610b0e906141ab565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561318d5750600090506003613211565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156131e1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661320a57600060019250925050613211565b9150600090505b94509492505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b600061324682611916565b9050613256816000846001612d4e565b61325f82611916565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006132eb83613509565b60010190506000816001600160401b0381111561330a5761330a61386e565b6040519080825280601f01601f191660200182016040528015613334576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461333e57509392505050565b6001600160a01b0382166133c65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b0e565b6000818152600260205260409020546001600160a01b03161561342b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b0e565b613439600083836001612d4e565b6000818152600260205260409020546001600160a01b03161561349e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b0e565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106135485772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310613574576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061359257662386f26fc10000830492506010015b6305f5e10083106135aa576305f5e100830492506008015b61271083106135be57612710830492506004015b606483106135d0576064830492506002015b600a831061076b5760010192915050565b5080546135ed90613ca4565b6000825580601f106135fd575050565b601f01602090049060005260206000209081019061180591905b8082111561362b5760008155600101613617565b5090565b6001600160e01b03198116811461180557600080fd5b60006020828403121561365757600080fd5b813561311c8161362f565b6001600160a01b038116811461180557600080fd5b60006020828403121561368957600080fd5b813561311c81613662565b600081518084526020808501945080840160005b838110156136c757815160ff16875295820195908201906001016136a8565b509495945050505050565b6040815260006136e56040830185613694565b82810360208401526136f78185613694565b95945050505050565b60005b8381101561371b578181015183820152602001613703565b50506000910152565b6000815180845261373c816020860160208601613700565b601f01601f19169290920160200192915050565b60208152600061311c6020830184613724565b60006020828403121561377557600080fd5b5035919050565b6000806040838503121561378f57600080fd5b823561379a81613662565b946020939093013593505050565b60008083601f8401126137ba57600080fd5b5081356001600160401b038111156137d157600080fd5b6020830191508360208260051b8501011115612e1457600080fd5b600080602083850312156137ff57600080fd5b82356001600160401b0381111561381557600080fd5b613821858286016137a8565b90969095509350505050565b60008060006060848603121561384257600080fd5b833561384d81613662565b9250602084013561385d81613662565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156138ac576138ac61386e565b604052919050565b803560ff811681146138c557600080fd5b919050565b60008083601f8401126138dc57600080fd5b5081356001600160401b038111156138f357600080fd5b602083019150836020828501011115612e1457600080fd5b6000806000806060858703121561392157600080fd5b843593506020808601356001600160401b038082111561394057600080fd5b818801915088601f83011261395457600080fd5b8135818111156139665761396661386e565b8060051b613975858201613884565b918252838101850191858101908c84111561398f57600080fd5b948601945b838610156139b4576139a5866138b4565b82529486019490860190613994565b985050505060408801359250808311156139cd57600080fd5b50506139db878288016138ca565b95989497509550505050565b600080604083850312156139fa57600080fd5b8235613a0581613662565b9150613a13602084016138b4565b90509250929050565b600060208284031215613a2e57600080fd5b61311c826138b4565b60006001600160401b03831115613a5057613a5061386e565b613a63601f8401601f1916602001613884565b9050828152838383011115613a7757600080fd5b828260208301376000602084830101529392505050565b600082601f830112613a9f57600080fd5b61311c83833560208501613a37565b60008060408385031215613ac157600080fd5b82356001600160401b0380821115613ad857600080fd5b613ae486838701613a8e565b93506020850135915080821115613afa57600080fd5b50613b0785828601613a8e565b9150509250929050565b600080600060408486031215613b2657600080fd5b8335613b3181613662565b925060208401356001600160401b03811115613b4c57600080fd5b613b58868287016137a8565b9497909650939450505050565b801515811461180557600080fd5b60008060408385031215613b8657600080fd5b8235613b9181613662565b91506020830135613ba181613b65565b809150509250929050565b60008060008060808587031215613bc257600080fd5b8435613bcd81613662565b93506020850135613bdd81613662565b92506040850135915060608501356001600160401b03811115613bff57600080fd5b8501601f81018713613c1057600080fd5b613c1f87823560208401613a37565b91505092959194509250565b60008060408385031215613c3e57600080fd5b8235613c4981613662565b91506020830135613ba181613662565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103613c9b57613c9b613c6f565b60010192915050565b600181811c90821680613cb857607f821691505b602082108103613cd857634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526023908201527f4f6e6c79206f776e6572732063616e2063616c6c20746869732066756e63746960408201526237b71760e91b606082015260800190565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b600060ff821680613d5d57613d5d613c6f565b6000190192915050565b8082018082111561076b5761076b613c6f565b634e487b7160e01b600052601260045260246000fd5b600082613d9f57613d9f613d7a565b500690565b8181038181111561076b5761076b613c6f565b600060208284031215613dc957600080fd5b815161311c81613b65565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215613e3357600080fd5b815161311c81613662565b600082613e4d57613e4d613d7a565b500490565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b83811015613e9c57815160ff1685529382019390820190600101613e7d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b600060018201613ef257613ef2613c6f565b5060010190565b6001600160a01b0384168152606060208201819052600090613f1d90830185613694565b9050826040830152949350505050565b6020808252601490820152734e6f207469656e6573206573746120636172746160601b604082015260600190565b601f821115610baf57600081815260208120601f850160051c81016020861015613f825750805b601f850160051c820191505b81811015613fa157828155600101613f8e565b505050505050565b81516001600160401b03811115613fc257613fc261386e565b613fd681613fd08454613ca4565b84613f5b565b602080601f83116001811461400b5760008415613ff35750858301515b600019600386901b1c1916600185901b178555613fa1565b600085815260208120601f198616915b8281101561403a5788860151825594840194600190910190840161401b565b50858210156140585787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061407b6040830185613724565b82810360208401526136f78185613724565b600080865461409b81613ca4565b600182811680156140b357600181146140c8576140f7565b60ff19841687528215158302870194506140f7565b8a60005260208060002060005b858110156140ee5781548a8201529084019082016140d5565b50505082870194505b50505050855161410b818360208a01613700565b855191019061411e818360208901613700565b8451910190614131818360208801613700565b019695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6040815260006141946040830185613724565b905060018060a01b03831660208301529392505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161420f818460208801613700565b835190830190614223818360208801613700565b01949350505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061427590830184613724565b9695505050505050565b60006020828403121561429157600080fd5b815161311c8161362f56fea26469706673582212206ca13976ef27d81bac376fc9bbaff39c9ef0d04a9a0fcd34d619e4f8408ea34964736f6c63430008120033", + "bytecode": "0x60806040526710a741a462780000600b5567d02ab486cedc0000600e55670de0b6b3a7640000600f553480156200003557600080fd5b5060405162004b3738038062004b37833981016040819052620000589162000348565b6040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b8152508160009081620000ab9190620004ca565b506001620000ba8282620004ca565b505050620000d7620000d16200029960201b60201c565b6200029d565b600880546001600160a01b038086166001600160a01b031992831617909255600a805492871692909116919091179055600d620001158382620004ca565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516200017494600d949390910162000596565b60405160208183030381529060405260109081620001939190620004ca565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b818401529351620001f294600d949390910162000596565b60405160208183030381529060405260119081620002119190620004ca565b506001600160a01b0381166000908152601860205260408120805460ff199081166001179091556012805490911690555b607a8110156200027357600081815260136020526040902060019055806200026a8162000653565b91505062000242565b5050336000908152601760205260409020805460ff19166001179055506200067b915050565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200030757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200033f57818101518382015260200162000325565b50506000910152565b600080600080608085870312156200035f57600080fd5b6200036a85620002ef565b93506200037a60208601620002ef565b60408601519093506001600160401b03808211156200039857600080fd5b818701915087601f830112620003ad57600080fd5b815181811115620003c257620003c26200030c565b604051601f8201601f19908116603f01168101908382118183101715620003ed57620003ed6200030c565b816040528281528a60208487010111156200040757600080fd5b6200041a83602083016020880162000322565b80965050505050506200043060608601620002ef565b905092959194509250565b600181811c908216806200045057607f821691505b6020821081036200047157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004c557600081815260208120601f850160051c81016020861015620004a05750805b601f850160051c820191505b81811015620004c157828155600101620004ac565b5050505b505050565b81516001600160401b03811115620004e657620004e66200030c565b620004fe81620004f784546200043b565b8462000477565b602080601f8311600181146200053657600084156200051d5750858301515b600019600386901b1c1916600185901b178555620004c1565b600085815260208120601f198616915b82811015620005675788860151825594840194600190910190840162000546565b5085821015620005865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654620005a6816200043b565b60018281168015620005c15760018114620005d75762000608565b60ff198416875282151583028701945062000608565b8a60005260208060002060005b85811015620005ff5781548a820152908401908201620005e4565b50505082870194505b5050505085516200061e818360208a0162000322565b85519101906200063381836020890162000322565b84519101906200064881836020880162000322565b019695505050505050565b6000600182016200067457634e487b7160e01b600052601160045260246000fd5b5060010190565b6144ac806200068b6000396000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c8063809eb3551161019d578063aaaeca17116100e9578063dec3f6d9116100a2578063e606df871161007c578063e606df8714610757578063e985e9c51461076a578063eb12d61e1461077d578063f2fde38b1461079057600080fd5b8063dec3f6d914610733578063e1883c6e1461073b578063e5db587a1461074e57600080fd5b8063aaaeca17146106d7578063b88d4fde146106df578063bf400a6a146106f2578063c3461c0714610705578063c87b56dd1461070d578063dbfc05cf1461072057600080fd5b806395d89b41116101565780639c7f707f116101305780639c7f707f146106955780639f4415d8146106a8578063a1af8ad4146106b1578063a22cb465146106c457600080fd5b806395d89b411461067857806396884135146106805780639abc83201461068d57600080fd5b8063809eb355146105875780638ba526fc146105c75780638da5cb5b146105da5780638dc10768146105eb5780638dd8be471461065d5780639038f4141461067057600080fd5b8063335c8b631161025c5780635dde20d81161021557806370a08231116101ef57806370a0823114610529578063715018a61461053c578063736c0d5b146105445780637e50fa8f1461056757600080fd5b80635dde20d8146104e35780636352211e146105035780637065cb481461051657600080fd5b8063335c8b631461045757806342842e0e1461046e57806342966c6814610481578063483823e8146104945780634e5ad3181461049d5780635312ea8e146104d057600080fd5b80630e316ab7116102c957806320965a5f116102a357806320965a5f1461040b57806323b872dd1461041e578063267b841d146104315780632ca699e71461044457600080fd5b80630e316ab7146103d25780631306952c146103e5578063173825d9146103f857600080fd5b806301ffc9a714610311578063022914a7146103395780630435dcaf1461035c57806306fdde031461037d578063081812fc14610392578063095ea7b3146103bd575b600080fd5b61032461031f366004613802565b6107a3565b60405190151581526020015b60405180910390f35b610324610347366004613834565b60176020526000908152604090205460ff1681565b61036f61036a366004613834565b6107f5565b60405161033092919061388f565b610385610a65565b604051610330919061390d565b6103a56103a0366004613920565b610af7565b6040516001600160a01b039091168152602001610330565b6103d06103cb366004613939565b610b1e565b005b6103d06103e0366004613834565b610c38565b6103a56103f3366004613a02565b610d7e565b6103d0610406366004613834565b610e8c565b6103d0610419366004613b22565b610fd1565b6103d061042c366004613b63565b6112d1565b6103d061043f366004613a02565b611303565b6103d0610452366004613ba4565b6117b9565b610460600b5481565b604051908152602001610330565b6103d061047c366004613b63565b61193b565b6103d061048f366004613920565b611956565b610460600f5481565b6103246104ab366004613bd9565b33600090815260156020908152604080832060ff948516845290915290205416151590565b6103d06104de366004613920565b611987565b6104606104f1366004613920565b60136020526000908152604090205481565b6103a5610511366004613920565b611a95565b6103d0610524366004613834565b611af5565b610460610537366004613834565b611bd7565b6103d0611c5d565b610324610552366004613834565b60186020526000908152604090205460ff1681565b610460610575366004613834565b60166020526000908152604090205481565b6105b5610595366004613ba4565b601560209081526000928352604080842090915290825290205460ff1681565b60405160ff9091168152602001610330565b6103d06105d5366004613920565b611c71565b6007546001600160a01b03166103a5565b61062d6105f9366004613920565b60146020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a001610330565b6008546103a5906001600160a01b031681565b6103d0611cde565b610385611fd3565b6012546103249060ff1681565b610385611fe2565b6103d06106a3366004613c6b565b612070565b610460600e5481565b6103d06106bf366004613cce565b6120ea565b6103d06106d2366004613d30565b612355565b6103d0612360565b6103d06106ed366004613d69565b6123c7565b6103d0610700366004613bd9565b6123f9565b6103856124f6565b61038561071b366004613920565b612503565b6103d061072e366004613de8565b61250e565b610385612550565b6103d0610749366004613920565b61255d565b610460600c5481565b600a546103a5906001600160a01b031681565b610324610778366004613e05565b6125b5565b6103d061078b366004613834565b6125e3565b6103d061079e366004613834565b6126c5565b60006001600160e01b031982166380ac58cd60e01b14806107d457506001600160e01b03198216635b5e139f60e01b145b806107ef57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604080516079808252610f408201909252606091829160009160208201610f20803683375050604080516079808252610f408201909252929350600092915060208201610f2080368337019050509050600060015b60788160ff161161091b576001600160a01b038716600090815260156020908152604080832060ff808616855292529091205416156109095780848360ff168151811061089957610899613e33565b60ff9283166020918202929092018101919091526001600160a01b03891660009081526015825260408082208585168352909252205484519082169185919085169081106108e9576108e9613e33565b60ff909216602092830291909101909101528161090581613e5f565b9250505b8061091381613e5f565b91505061084a565b5060008160ff166001600160401b0381111561093957610939613965565b604051908082528060200260200182016040528015610962578160200160208202803683370190505b50905060008260ff166001600160401b0381111561098257610982613965565b6040519080825280602002602001820160405280156109ab578160200160208202803683370190505b50905060005b8360ff168160ff161015610a5757858160ff16815181106109d4576109d4613e33565b6020026020010151838260ff16815181106109f1576109f1613e33565b60ff9283166020918202929092010152855186918316908110610a1657610a16613e33565b6020026020010151828260ff1681518110610a3357610a33613e33565b60ff9092166020928302919091019091015280610a4f81613e5f565b9150506109b1565b509097909650945050505050565b606060008054610a7490613e7e565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa090613e7e565b8015610aed5780601f10610ac257610100808354040283529160200191610aed565b820191906000526020600020905b815481529060010190602001808311610ad057829003601f168201915b5050505050905090565b6000610b028261273b565b506000908152600460205260409020546001600160a01b031690565b6000610b2982611a95565b9050806001600160a01b0316836001600160a01b031603610b9b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610bb75750610bb781336125b5565b610c295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b92565b610c33838361279a565b505050565b3360009081526017602052604090205460ff16610c675760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b038116610c8d5760405162461bcd60e51b8152600401610b9290613efb565b336001600160a01b03821603610cf55760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661039b4b3b732b960c91b6064820152608401610b92565b6001600160a01b03811660009081526018602052604090205460ff16610d5d5760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e207369676e657200000000000000006044820152606401610b92565b6001600160a01b03166000908152601860205260409020805460ff19169055565b600080610df9338787604051602001610d9993929190613f24565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b90506000610e3f85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506128089050565b9050610e806040518060400160405280601a81526020017f6f70656e207061636b207369676e6572207265636f76657265640000000000008152508261282c565b9150505b949350505050565b3360009081526017602052604090205460ff16610ebb5760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b038116610ee15760405162461bcd60e51b8152600401610b9290613efb565b336001600160a01b03821603610f485760405162461bcd60e51b815260206004820152602660248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152651037bbb732b960d11b6064820152608401610b92565b6001600160a01b03811660009081526017602052604090205460ff16610fb05760405162461bcd60e51b815260206004820152601760248201527f41646472657373206973206e6f7420616e206f776e65720000000000000000006044820152606401610b92565b6001600160a01b03166000908152601760205260409020805460ff19169055565b3360009081526015602090815260408083206079845290915290205460ff1661103c5760405162461bcd60e51b815260206004820152601860248201527f4e6f207469656e657320616c62756d206465207175656d6100000000000000006044820152606401610b92565b336000908152601560209081526040808320607984529091528120805460ff169161106683613fb2565b825460ff9182166101009390930a92830291909202199091161790555033600090815260166020526040812080548392906110a2908490613fcf565b90915550600090505b60ff81168211156111435733600090815260156020526040812090848460ff85168181106110db576110db613e33565b90506020020160208101906110f09190613bd9565b60ff9081168252602082019290925260400160009081208054909216919061111783613fb2565b91906101000a81548160ff021916908360ff16021790555050808061113b90613e5f565b9150506110ab565b503360009081526016602052604090205461116090603c90613ff8565b6000036112cd576111ff336011805461117890613e7e565b80601f01602080910402602001604051908101604052809291908181526020018280546111a490613e7e565b80156111f15780601f106111c6576101008083540402835291602001916111f1565b820191906000526020600020905b8154815290600101906020018083116111d457829003601f168201915b505050505060796002612871565b600e54600c6000828254611213919061400c565b9091555050600a54600f5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af115801561126d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611291919061401f565b5060408051338152600260208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa91015b60405180910390a15b5050565b6112dc335b826128d4565b6112f85760405162461bcd60e51b8152600401610b929061403c565b610c33838383612932565b60085460405163d3e6a7ad60e01b81526004810186905233916001600160a01b03169063d3e6a7ad90602401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190614089565b6001600160a01b0316146113be5760405162461bcd60e51b81526020600482015260156024820152744573746520736f627265206e6f206573207475796f60581b6044820152606401610b92565b600f83511061140f5760405162461bcd60e51b815260206004820152601960248201527f4c696d6974652064652063617274617320657863656469646f000000000000006044820152606401610b92565b60125460ff161561151a576000611434338686604051602001610d9993929190613f24565b9050600061147a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506128089050565b90506114bb6040518060400160405280601a81526020017f6f70656e207061636b207369676e6572207265636f76657265640000000000008152508261282c565b6001600160a01b03811660009081526018602052604090205460ff166115175760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610b92565b50505b6008546040516380f2540b60e01b8152600481018690523360248201526001600160a01b03909116906380f2540b90604401600060405180830381600087803b15801561156657600080fd5b505af115801561157a573d6000803e3d6000fd5b505050506006600b5461158d91906140a6565b600b5461159a919061400c565b600c60008282546115ab9190613fcf565b9091555050825160005b818160ff16101561177657848160ff16815181106115d5576115d5613e33565b602002602001015160ff166078146116235761138960136000878460ff168151811061160357611603613e33565b602002602001015160ff1681526020019081526020016000205410611654565b607860005260136020527fdf3e0ba85198d5d74c53175fb24486e82f8e6ac58d6fdc8357e123450eab705e54610bb9115b6116a05760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610b92565b60136000868360ff16815181106116b9576116b9613e33565b602002602001015160ff16815260200190815260200160002060008154809291906116e3906140ba565b90915550503360009081526015602052604081208651909190879060ff851690811061171157611711613e33565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff168092919061174a90613e5f565b91906101000a81548160ff021916908360ff16021790555050808061176e90613e5f565b9150506115b5565b507fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e33385876040516117aa939291906140d3565b60405180910390a15050505050565b33600090815260156020908152604080832060ff8086168552925290912054166117f55760405162461bcd60e51b8152600401610b9290614107565b336001600160a01b0383160361184d5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73662070726f706961206e6f207065726d69746964610000000000006044820152606401610b92565b6001600160a01b0382166118a35760405162461bcd60e51b815260206004820152601e60248201527f5175656d61646f20646520636172746173206e6f207065726d697469646f00006044820152606401610b92565b33600090815260156020908152604080832060ff8086168552925282208054909116916118cf83613fb2565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0384166000908152601560209081526040808320868516845290915281208054909216925061191e83613e5f565b91906101000a81548160ff021916908360ff160217905550505050565b610c33838383604051806020016040528060008152506123c7565b61195f336112d6565b61197b5760405162461bcd60e51b8152600401610b929061403c565b61198481612aa3565b50565b3360009081526017602052604090205460ff166119b65760405162461bcd60e51b8152600401610b9290613eb8565b806119c030611bd7565b10156119cb57600080fd5b80600c60008282546119dd919061400c565b9091555050600a5460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061401f565b5060408051338152602081018390527f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2091015b60405180910390a150565b6000818152600260205260408120546001600160a01b0316806107ef5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b92565b3360009081526017602052604090205460ff16611b245760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b038116611b4a5760405162461bcd60e51b8152600401610b9290613efb565b6001600160a01b03811660009081526017602052604090205460ff1615611bb35760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b92565b6001600160a01b03166000908152601760205260409020805460ff19166001179055565b60006001600160a01b038216611c415760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610b92565b506001600160a01b031660009081526003602052604090205490565b611c65612aac565b611c6f6000612b06565b565b6008546001600160a01b03163314611cc45760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b92565b80600c6000828254611cd69190613fcf565b909155505050565b3360009081526015602090815260408083206078845290915290205460ff16611d425760405162461bcd60e51b81526020600482015260166024820152754e6f207469656e6573206e696e67756e20616c62756d60501b6044820152606401610b92565b600e54600c541015611d8d5760405162461bcd60e51b8152602060048201526014602482015273466f6e646f7320696e737566696369656e74657360601b6044820152606401610b92565b6000805b60798160ff161015611e235733600090815260156020908152604080832060ff80861685529252822054169003611dcb5760019150611e23565b33600090815260156020908152604080832060ff808616855292528220805490911691611df783613fb2565b91906101000a81548160ff021916908360ff160217905550508080611e1b90613e5f565b915050611d91565b508015611e725760405162461bcd60e51b815260206004820152601760248201527f4d75737420636f6d706c6574652074686520616c62756d0000000000000000006044820152606401610b92565b611f0a3360108054611e8390613e7e565b80601f0160208091040260200160405190810160405280929190818152602001828054611eaf90613e7e565b8015611efc5780601f10611ed157610100808354040283529160200191611efc565b820191906000526020600020905b815481529060010190602001808311611edf57829003601f168201915b505050505060786002612871565b600e54600c6000828254611f1e919061400c565b9091555050600a54600e5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9c919061401f565b5060408051338152600160208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa9101611a8a565b606060018054610a7490613e7e565b600d8054611fef90613e7e565b80601f016020809104026020016040519081016040528092919081815260200182805461201b90613e7e565b80156120685780601f1061203d57610100808354040283529160200191612068565b820191906000526020600020905b81548152906001019060200180831161204b57829003601f168201915b505050505081565b3360009081526017602052604090205460ff1661209f5760405162461bcd60e51b8152600401610b9290613eb8565b60106120ab8382614183565b5060116120b88282614183565b507fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec682826040516112c4929190614242565b336001600160a01b038416036121505760405162461bcd60e51b815260206004820152602560248201527f4e6f2074652070756564657320656e76696172206361727461732061207469206044820152646d69736d6f60d81b6064820152608401610b92565b6001600160a01b0383166121b55760405162461bcd60e51b815260206004820152602660248201527f4e6f20707565646573207175656d6172206361727461732064652065737461206044820152656d616e65726160d01b6064820152608401610b92565b60005b60ff811682111561234f5733600090815260156020526040812081858560ff86168181106121e8576121e8613e33565b90506020020160208101906121fd9190613bd9565b60ff908116825260208201929092526040016000205416116122315760405162461bcd60e51b8152600401610b9290614107565b33600090815260156020526040812090848460ff851681811061225657612256613e33565b905060200201602081019061226b9190613bd9565b60ff9081168252602082019290925260400160009081208054909216919061229283613fb2565b91906101000a81548160ff021916908360ff1602179055505060156000856001600160a01b03166001600160a01b03168152602001908152602001600020600084848460ff168181106122e7576122e7613e33565b90506020020160208101906122fc9190613bd9565b60ff9081168252602082019290925260400160009081208054909216919061232383613e5f565b91906101000a81548160ff021916908360ff16021790555050808061234790613e5f565b9150506121b8565b50505050565b6112cd338383612b58565b60005b60798160ff1610156119845733600090815260156020908152604080832060ff80861685529252822080549091169161239b83613e5f565b91906101000a81548160ff021916908360ff1602179055505080806123bf90613e5f565b915050612363565b6123d133836128d4565b6123ed5760405162461bcd60e51b8152600401610b929061403c565b61234f84848484612c26565b33600090815260156020908152604080832060ff8086168552925290912054166124355760405162461bcd60e51b8152600401610b9290614107565b33600090815260156020908152604080832060ff80861685529252822080549091169161246183613fb2565b91906101000a81548160ff021916908360ff160217905550506000600d604051806040016040528060018152602001602f60f81b8152506124a48460ff16612c59565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016124d59493929190614267565b60405160208183030381529060405290506112cd33828460ff166001612871565b60108054611fef90613e7e565b60606107ef82612d59565b3360009081526017602052604090205460ff1661253d5760405162461bcd60e51b8152600401610b9290613eb8565b6012805460ff1916911515919091179055565b60118054611fef90613e7e565b6008546001600160a01b031633146125b05760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b92565b600b55565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3360009081526017602052604090205460ff166126125760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b0381166126385760405162461bcd60e51b8152600401610b9290613efb565b6001600160a01b03811660009081526018602052604090205460ff16156126a15760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b92565b6001600160a01b03166000908152601860205260409020805460ff19166001179055565b6126cd612aac565b6001600160a01b0381166127325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b92565b61198481612b06565b6000818152600260205260409020546001600160a01b03166119845760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b92565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906127cf82611a95565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008060006128178585612e61565b9150915061282481612ea6565b509392505050565b6112cd8282604051602401612842929190614316565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052612ff0565b600061287c60095490565b905061288c600980546001019055565b600081815260146020526040902081815560018101849055600201805461ff00191661010060ff8516021790556128c38582612ff9565b6128cd8185613013565b5050505050565b6000806128e083611a95565b9050806001600160a01b0316846001600160a01b03161480612907575061290781856125b5565b80610e845750836001600160a01b031661292084610af7565b6001600160a01b031614949350505050565b826001600160a01b031661294582611a95565b6001600160a01b03161461296b5760405162461bcd60e51b8152600401610b9290614340565b6001600160a01b0382166129cd5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610b92565b6129da83838360016130a6565b826001600160a01b03166129ed82611a95565b6001600160a01b031614612a135760405162461bcd60e51b8152600401610b9290614340565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6119848161312e565b6007546001600160a01b03163314611c6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b92565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603612bb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b92565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612c31848484612932565b612c3d8484848461316e565b61234f5760405162461bcd60e51b8152600401610b9290614385565b606081600003612c805750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612caa5780612c94816140ba565b9150612ca39050600a836140a6565b9150612c84565b6000816001600160401b03811115612cc457612cc4613965565b6040519080825280601f01601f191660200182016040528015612cee576020820181803683370190505b5090505b8415610e8457612d0360018361400c565b9150612d10600a86613ff8565b612d1b906030613fcf565b60f81b818381518110612d3057612d30613e33565b60200101906001600160f81b031916908160001a905350612d52600a866140a6565b9450612cf2565b6060612d648261273b565b60008281526006602052604081208054612d7d90613e7e565b80601f0160208091040260200160405190810160405280929190818152602001828054612da990613e7e565b8015612df65780601f10612dcb57610100808354040283529160200191612df6565b820191906000526020600020905b815481529060010190602001808311612dd957829003601f168201915b505050505090506000612e1460408051602081019091526000815290565b90508051600003612e26575092915050565b815115612e58578082604051602001612e409291906143d7565b60405160208183030381529060405292505050919050565b610e848461326c565b6000808251604103612e975760208301516040840151606085015160001a612e8b878285856132e0565b94509450505050612e9f565b506000905060025b9250929050565b6000816004811115612eba57612eba614406565b03612ec25750565b6001816004811115612ed657612ed6614406565b03612f235760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b92565b6002816004811115612f3757612f37614406565b03612f845760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b92565b6003816004811115612f9857612f98614406565b036119845760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b92565b611984816133a4565b6112cd8282604051806020016040528060008152506133c5565b6000828152600260205260409020546001600160a01b031661308e5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610b92565b6000828152600660205260409020610c338282614183565b600181111561234f576001600160a01b038416156130ec576001600160a01b038416600090815260036020526040812080548392906130e690849061400c565b90915550505b6001600160a01b0383161561234f576001600160a01b03831660009081526003602052604081208054839290613123908490613fcf565b909155505050505050565b613137816133f8565b6000818152600660205260409020805461315090613e7e565b1590506119845760008181526006602052604081206119849161379e565b60006001600160a01b0384163b1561326457604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906131b290339089908890889060040161441c565b6020604051808303816000875af19250505080156131ed575060408051601f3d908101601f191682019092526131ea91810190614459565b60015b61324a573d80801561321b576040519150601f19603f3d011682016040523d82523d6000602084013e613220565b606091505b5080516000036132425760405162461bcd60e51b8152600401610b9290614385565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e84565b506001610e84565b60606132778261273b565b600061328e60408051602081019091526000815290565b905060008151116132ae57604051806020016040528060008152506132d9565b806132b88461349b565b6040516020016132c99291906143d7565b6040516020818303038152906040525b9392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613317575060009050600361339b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561336b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166133945760006001925092505061339b565b9150600090505b94509492505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b6133cf838361352d565b6133dc600084848461316e565b610c335760405162461bcd60e51b8152600401610b9290614385565b600061340382611a95565b90506134138160008460016130a6565b61341c82611a95565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006134a8836136c6565b60010190506000816001600160401b038111156134c7576134c7613965565b6040519080825280601f01601f1916602001820160405280156134f1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846134fb57509392505050565b6001600160a01b0382166135835760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b92565b6000818152600260205260409020546001600160a01b0316156135e85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b92565b6135f66000838360016130a6565b6000818152600260205260409020546001600160a01b03161561365b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b92565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106137055772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310613731576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061374f57662386f26fc10000830492506010015b6305f5e1008310613767576305f5e100830492506008015b612710831061377b57612710830492506004015b6064831061378d576064830492506002015b600a83106107ef5760010192915050565b5080546137aa90613e7e565b6000825580601f106137ba575050565b601f01602090049060005260206000209081019061198491905b808211156137e857600081556001016137d4565b5090565b6001600160e01b03198116811461198457600080fd5b60006020828403121561381457600080fd5b81356132d9816137ec565b6001600160a01b038116811461198457600080fd5b60006020828403121561384657600080fd5b81356132d98161381f565b600081518084526020808501945080840160005b8381101561388457815160ff1687529582019590820190600101613865565b509495945050505050565b6040815260006138a26040830185613851565b82810360208401526138b48185613851565b95945050505050565b60005b838110156138d85781810151838201526020016138c0565b50506000910152565b600081518084526138f98160208601602086016138bd565b601f01601f19169290920160200192915050565b6020815260006132d960208301846138e1565b60006020828403121561393257600080fd5b5035919050565b6000806040838503121561394c57600080fd5b82356139578161381f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156139a3576139a3613965565b604052919050565b803560ff811681146139bc57600080fd5b919050565b60008083601f8401126139d357600080fd5b5081356001600160401b038111156139ea57600080fd5b602083019150836020828501011115612e9f57600080fd5b60008060008060608587031215613a1857600080fd5b843593506020808601356001600160401b0380821115613a3757600080fd5b818801915088601f830112613a4b57600080fd5b813581811115613a5d57613a5d613965565b8060051b613a6c85820161397b565b918252838101850191858101908c841115613a8657600080fd5b948601945b83861015613aab57613a9c866139ab565b82529486019490860190613a8b565b98505050506040880135925080831115613ac457600080fd5b5050613ad2878288016139c1565b95989497509550505050565b60008083601f840112613af057600080fd5b5081356001600160401b03811115613b0757600080fd5b6020830191508360208260051b8501011115612e9f57600080fd5b60008060208385031215613b3557600080fd5b82356001600160401b03811115613b4b57600080fd5b613b5785828601613ade565b90969095509350505050565b600080600060608486031215613b7857600080fd5b8335613b838161381f565b92506020840135613b938161381f565b929592945050506040919091013590565b60008060408385031215613bb757600080fd5b8235613bc28161381f565b9150613bd0602084016139ab565b90509250929050565b600060208284031215613beb57600080fd5b6132d9826139ab565b60006001600160401b03831115613c0d57613c0d613965565b613c20601f8401601f191660200161397b565b9050828152838383011115613c3457600080fd5b828260208301376000602084830101529392505050565b600082601f830112613c5c57600080fd5b6132d983833560208501613bf4565b60008060408385031215613c7e57600080fd5b82356001600160401b0380821115613c9557600080fd5b613ca186838701613c4b565b93506020850135915080821115613cb757600080fd5b50613cc485828601613c4b565b9150509250929050565b600080600060408486031215613ce357600080fd5b8335613cee8161381f565b925060208401356001600160401b03811115613d0957600080fd5b613d1586828701613ade565b9497909650939450505050565b801515811461198457600080fd5b60008060408385031215613d4357600080fd5b8235613d4e8161381f565b91506020830135613d5e81613d22565b809150509250929050565b60008060008060808587031215613d7f57600080fd5b8435613d8a8161381f565b93506020850135613d9a8161381f565b92506040850135915060608501356001600160401b03811115613dbc57600080fd5b8501601f81018713613dcd57600080fd5b613ddc87823560208401613bf4565b91505092959194509250565b600060208284031215613dfa57600080fd5b81356132d981613d22565b60008060408385031215613e1857600080fd5b8235613e238161381f565b91506020830135613d5e8161381f565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103613e7557613e75613e49565b60010192915050565b600181811c90821680613e9257607f821691505b602082108103613eb257634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526023908201527f4f6e6c79206f776e6572732063616e2063616c6c20746869732066756e63746960408201526237b71760e91b606082015260800190565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b83811015613f6e57815160ff1685529382019390820190600101613f4f565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b600060ff821680613fc557613fc5613e49565b6000190192915050565b808201808211156107ef576107ef613e49565b634e487b7160e01b600052601260045260246000fd5b60008261400757614007613fe2565b500690565b818103818111156107ef576107ef613e49565b60006020828403121561403157600080fd5b81516132d981613d22565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60006020828403121561409b57600080fd5b81516132d98161381f565b6000826140b5576140b5613fe2565b500490565b6000600182016140cc576140cc613e49565b5060010190565b6001600160a01b03841681526060602082018190526000906140f790830185613851565b9050826040830152949350505050565b6020808252601490820152734e6f207469656e6573206573746120636172746160601b604082015260600190565b601f821115610c3357600081815260208120601f850160051c8101602086101561415c5750805b601f850160051c820191505b8181101561417b57828155600101614168565b505050505050565b81516001600160401b0381111561419c5761419c613965565b6141b0816141aa8454613e7e565b84614135565b602080601f8311600181146141e557600084156141cd5750858301515b600019600386901b1c1916600185901b17855561417b565b600085815260208120601f198616915b82811015614214578886015182559484019460019091019084016141f5565b50858210156142325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061425560408301856138e1565b82810360208401526138b481856138e1565b600080865461427581613e7e565b6001828116801561428d57600181146142a2576142d1565b60ff19841687528215158302870194506142d1565b8a60005260208060002060005b858110156142c85781548a8201529084019082016142af565b50505082870194505b5050505085516142e5818360208a016138bd565b85519101906142f88183602089016138bd565b845191019061430b8183602088016138bd565b019695505050505050565b60408152600061432960408301856138e1565b905060018060a01b03831660208301529392505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600083516143e98184602088016138bd565b8351908301906143fd8183602088016138bd565b01949350505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061444f908301846138e1565b9695505050505050565b60006020828403121561446b57600080fd5b81516132d9816137ec56fea2646970667358221220550d2b840163a69e1b0617b7ad5eac3a4f81492877f01c5d8d92389464d1670c64736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061030c5760003560e01c8063809eb3551161019d578063aaaeca17116100e9578063dec3f6d9116100a2578063e606df871161007c578063e606df8714610757578063e985e9c51461076a578063eb12d61e1461077d578063f2fde38b1461079057600080fd5b8063dec3f6d914610733578063e1883c6e1461073b578063e5db587a1461074e57600080fd5b8063aaaeca17146106d7578063b88d4fde146106df578063bf400a6a146106f2578063c3461c0714610705578063c87b56dd1461070d578063dbfc05cf1461072057600080fd5b806395d89b41116101565780639c7f707f116101305780639c7f707f146106955780639f4415d8146106a8578063a1af8ad4146106b1578063a22cb465146106c457600080fd5b806395d89b411461067857806396884135146106805780639abc83201461068d57600080fd5b8063809eb355146105875780638ba526fc146105c75780638da5cb5b146105da5780638dc10768146105eb5780638dd8be471461065d5780639038f4141461067057600080fd5b8063335c8b631161025c5780635dde20d81161021557806370a08231116101ef57806370a0823114610529578063715018a61461053c578063736c0d5b146105445780637e50fa8f1461056757600080fd5b80635dde20d8146104e35780636352211e146105035780637065cb481461051657600080fd5b8063335c8b631461045757806342842e0e1461046e57806342966c6814610481578063483823e8146104945780634e5ad3181461049d5780635312ea8e146104d057600080fd5b80630e316ab7116102c957806320965a5f116102a357806320965a5f1461040b57806323b872dd1461041e578063267b841d146104315780632ca699e71461044457600080fd5b80630e316ab7146103d25780631306952c146103e5578063173825d9146103f857600080fd5b806301ffc9a714610311578063022914a7146103395780630435dcaf1461035c57806306fdde031461037d578063081812fc14610392578063095ea7b3146103bd575b600080fd5b61032461031f366004613802565b6107a3565b60405190151581526020015b60405180910390f35b610324610347366004613834565b60176020526000908152604090205460ff1681565b61036f61036a366004613834565b6107f5565b60405161033092919061388f565b610385610a65565b604051610330919061390d565b6103a56103a0366004613920565b610af7565b6040516001600160a01b039091168152602001610330565b6103d06103cb366004613939565b610b1e565b005b6103d06103e0366004613834565b610c38565b6103a56103f3366004613a02565b610d7e565b6103d0610406366004613834565b610e8c565b6103d0610419366004613b22565b610fd1565b6103d061042c366004613b63565b6112d1565b6103d061043f366004613a02565b611303565b6103d0610452366004613ba4565b6117b9565b610460600b5481565b604051908152602001610330565b6103d061047c366004613b63565b61193b565b6103d061048f366004613920565b611956565b610460600f5481565b6103246104ab366004613bd9565b33600090815260156020908152604080832060ff948516845290915290205416151590565b6103d06104de366004613920565b611987565b6104606104f1366004613920565b60136020526000908152604090205481565b6103a5610511366004613920565b611a95565b6103d0610524366004613834565b611af5565b610460610537366004613834565b611bd7565b6103d0611c5d565b610324610552366004613834565b60186020526000908152604090205460ff1681565b610460610575366004613834565b60166020526000908152604090205481565b6105b5610595366004613ba4565b601560209081526000928352604080842090915290825290205460ff1681565b60405160ff9091168152602001610330565b6103d06105d5366004613920565b611c71565b6007546001600160a01b03166103a5565b61062d6105f9366004613920565b60146020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a001610330565b6008546103a5906001600160a01b031681565b6103d0611cde565b610385611fd3565b6012546103249060ff1681565b610385611fe2565b6103d06106a3366004613c6b565b612070565b610460600e5481565b6103d06106bf366004613cce565b6120ea565b6103d06106d2366004613d30565b612355565b6103d0612360565b6103d06106ed366004613d69565b6123c7565b6103d0610700366004613bd9565b6123f9565b6103856124f6565b61038561071b366004613920565b612503565b6103d061072e366004613de8565b61250e565b610385612550565b6103d0610749366004613920565b61255d565b610460600c5481565b600a546103a5906001600160a01b031681565b610324610778366004613e05565b6125b5565b6103d061078b366004613834565b6125e3565b6103d061079e366004613834565b6126c5565b60006001600160e01b031982166380ac58cd60e01b14806107d457506001600160e01b03198216635b5e139f60e01b145b806107ef57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604080516079808252610f408201909252606091829160009160208201610f20803683375050604080516079808252610f408201909252929350600092915060208201610f2080368337019050509050600060015b60788160ff161161091b576001600160a01b038716600090815260156020908152604080832060ff808616855292529091205416156109095780848360ff168151811061089957610899613e33565b60ff9283166020918202929092018101919091526001600160a01b03891660009081526015825260408082208585168352909252205484519082169185919085169081106108e9576108e9613e33565b60ff909216602092830291909101909101528161090581613e5f565b9250505b8061091381613e5f565b91505061084a565b5060008160ff166001600160401b0381111561093957610939613965565b604051908082528060200260200182016040528015610962578160200160208202803683370190505b50905060008260ff166001600160401b0381111561098257610982613965565b6040519080825280602002602001820160405280156109ab578160200160208202803683370190505b50905060005b8360ff168160ff161015610a5757858160ff16815181106109d4576109d4613e33565b6020026020010151838260ff16815181106109f1576109f1613e33565b60ff9283166020918202929092010152855186918316908110610a1657610a16613e33565b6020026020010151828260ff1681518110610a3357610a33613e33565b60ff9092166020928302919091019091015280610a4f81613e5f565b9150506109b1565b509097909650945050505050565b606060008054610a7490613e7e565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa090613e7e565b8015610aed5780601f10610ac257610100808354040283529160200191610aed565b820191906000526020600020905b815481529060010190602001808311610ad057829003601f168201915b5050505050905090565b6000610b028261273b565b506000908152600460205260409020546001600160a01b031690565b6000610b2982611a95565b9050806001600160a01b0316836001600160a01b031603610b9b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610bb75750610bb781336125b5565b610c295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b92565b610c33838361279a565b505050565b3360009081526017602052604090205460ff16610c675760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b038116610c8d5760405162461bcd60e51b8152600401610b9290613efb565b336001600160a01b03821603610cf55760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661039b4b3b732b960c91b6064820152608401610b92565b6001600160a01b03811660009081526018602052604090205460ff16610d5d5760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e207369676e657200000000000000006044820152606401610b92565b6001600160a01b03166000908152601860205260409020805460ff19169055565b600080610df9338787604051602001610d9993929190613f24565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b90506000610e3f85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506128089050565b9050610e806040518060400160405280601a81526020017f6f70656e207061636b207369676e6572207265636f76657265640000000000008152508261282c565b9150505b949350505050565b3360009081526017602052604090205460ff16610ebb5760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b038116610ee15760405162461bcd60e51b8152600401610b9290613efb565b336001600160a01b03821603610f485760405162461bcd60e51b815260206004820152602660248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152651037bbb732b960d11b6064820152608401610b92565b6001600160a01b03811660009081526017602052604090205460ff16610fb05760405162461bcd60e51b815260206004820152601760248201527f41646472657373206973206e6f7420616e206f776e65720000000000000000006044820152606401610b92565b6001600160a01b03166000908152601760205260409020805460ff19169055565b3360009081526015602090815260408083206079845290915290205460ff1661103c5760405162461bcd60e51b815260206004820152601860248201527f4e6f207469656e657320616c62756d206465207175656d6100000000000000006044820152606401610b92565b336000908152601560209081526040808320607984529091528120805460ff169161106683613fb2565b825460ff9182166101009390930a92830291909202199091161790555033600090815260166020526040812080548392906110a2908490613fcf565b90915550600090505b60ff81168211156111435733600090815260156020526040812090848460ff85168181106110db576110db613e33565b90506020020160208101906110f09190613bd9565b60ff9081168252602082019290925260400160009081208054909216919061111783613fb2565b91906101000a81548160ff021916908360ff16021790555050808061113b90613e5f565b9150506110ab565b503360009081526016602052604090205461116090603c90613ff8565b6000036112cd576111ff336011805461117890613e7e565b80601f01602080910402602001604051908101604052809291908181526020018280546111a490613e7e565b80156111f15780601f106111c6576101008083540402835291602001916111f1565b820191906000526020600020905b8154815290600101906020018083116111d457829003601f168201915b505050505060796002612871565b600e54600c6000828254611213919061400c565b9091555050600a54600f5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af115801561126d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611291919061401f565b5060408051338152600260208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa91015b60405180910390a15b5050565b6112dc335b826128d4565b6112f85760405162461bcd60e51b8152600401610b929061403c565b610c33838383612932565b60085460405163d3e6a7ad60e01b81526004810186905233916001600160a01b03169063d3e6a7ad90602401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190614089565b6001600160a01b0316146113be5760405162461bcd60e51b81526020600482015260156024820152744573746520736f627265206e6f206573207475796f60581b6044820152606401610b92565b600f83511061140f5760405162461bcd60e51b815260206004820152601960248201527f4c696d6974652064652063617274617320657863656469646f000000000000006044820152606401610b92565b60125460ff161561151a576000611434338686604051602001610d9993929190613f24565b9050600061147a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506128089050565b90506114bb6040518060400160405280601a81526020017f6f70656e207061636b207369676e6572207265636f76657265640000000000008152508261282c565b6001600160a01b03811660009081526018602052604090205460ff166115175760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606401610b92565b50505b6008546040516380f2540b60e01b8152600481018690523360248201526001600160a01b03909116906380f2540b90604401600060405180830381600087803b15801561156657600080fd5b505af115801561157a573d6000803e3d6000fd5b505050506006600b5461158d91906140a6565b600b5461159a919061400c565b600c60008282546115ab9190613fcf565b9091555050825160005b818160ff16101561177657848160ff16815181106115d5576115d5613e33565b602002602001015160ff166078146116235761138960136000878460ff168151811061160357611603613e33565b602002602001015160ff1681526020019081526020016000205410611654565b607860005260136020527fdf3e0ba85198d5d74c53175fb24486e82f8e6ac58d6fdc8357e123450eab705e54610bb9115b6116a05760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610b92565b60136000868360ff16815181106116b9576116b9613e33565b602002602001015160ff16815260200190815260200160002060008154809291906116e3906140ba565b90915550503360009081526015602052604081208651909190879060ff851690811061171157611711613e33565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff168092919061174a90613e5f565b91906101000a81548160ff021916908360ff16021790555050808061176e90613e5f565b9150506115b5565b507fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e33385876040516117aa939291906140d3565b60405180910390a15050505050565b33600090815260156020908152604080832060ff8086168552925290912054166117f55760405162461bcd60e51b8152600401610b9290614107565b336001600160a01b0383160361184d5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73662070726f706961206e6f207065726d69746964610000000000006044820152606401610b92565b6001600160a01b0382166118a35760405162461bcd60e51b815260206004820152601e60248201527f5175656d61646f20646520636172746173206e6f207065726d697469646f00006044820152606401610b92565b33600090815260156020908152604080832060ff8086168552925282208054909116916118cf83613fb2565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0384166000908152601560209081526040808320868516845290915281208054909216925061191e83613e5f565b91906101000a81548160ff021916908360ff160217905550505050565b610c33838383604051806020016040528060008152506123c7565b61195f336112d6565b61197b5760405162461bcd60e51b8152600401610b929061403c565b61198481612aa3565b50565b3360009081526017602052604090205460ff166119b65760405162461bcd60e51b8152600401610b9290613eb8565b806119c030611bd7565b10156119cb57600080fd5b80600c60008282546119dd919061400c565b9091555050600a5460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061401f565b5060408051338152602081018390527f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2091015b60405180910390a150565b6000818152600260205260408120546001600160a01b0316806107ef5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b92565b3360009081526017602052604090205460ff16611b245760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b038116611b4a5760405162461bcd60e51b8152600401610b9290613efb565b6001600160a01b03811660009081526017602052604090205460ff1615611bb35760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b92565b6001600160a01b03166000908152601760205260409020805460ff19166001179055565b60006001600160a01b038216611c415760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610b92565b506001600160a01b031660009081526003602052604090205490565b611c65612aac565b611c6f6000612b06565b565b6008546001600160a01b03163314611cc45760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b92565b80600c6000828254611cd69190613fcf565b909155505050565b3360009081526015602090815260408083206078845290915290205460ff16611d425760405162461bcd60e51b81526020600482015260166024820152754e6f207469656e6573206e696e67756e20616c62756d60501b6044820152606401610b92565b600e54600c541015611d8d5760405162461bcd60e51b8152602060048201526014602482015273466f6e646f7320696e737566696369656e74657360601b6044820152606401610b92565b6000805b60798160ff161015611e235733600090815260156020908152604080832060ff80861685529252822054169003611dcb5760019150611e23565b33600090815260156020908152604080832060ff808616855292528220805490911691611df783613fb2565b91906101000a81548160ff021916908360ff160217905550508080611e1b90613e5f565b915050611d91565b508015611e725760405162461bcd60e51b815260206004820152601760248201527f4d75737420636f6d706c6574652074686520616c62756d0000000000000000006044820152606401610b92565b611f0a3360108054611e8390613e7e565b80601f0160208091040260200160405190810160405280929190818152602001828054611eaf90613e7e565b8015611efc5780601f10611ed157610100808354040283529160200191611efc565b820191906000526020600020905b815481529060010190602001808311611edf57829003601f168201915b505050505060786002612871565b600e54600c6000828254611f1e919061400c565b9091555050600a54600e5460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9c919061401f565b5060408051338152600160208201527f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa9101611a8a565b606060018054610a7490613e7e565b600d8054611fef90613e7e565b80601f016020809104026020016040519081016040528092919081815260200182805461201b90613e7e565b80156120685780601f1061203d57610100808354040283529160200191612068565b820191906000526020600020905b81548152906001019060200180831161204b57829003601f168201915b505050505081565b3360009081526017602052604090205460ff1661209f5760405162461bcd60e51b8152600401610b9290613eb8565b60106120ab8382614183565b5060116120b88282614183565b507fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec682826040516112c4929190614242565b336001600160a01b038416036121505760405162461bcd60e51b815260206004820152602560248201527f4e6f2074652070756564657320656e76696172206361727461732061207469206044820152646d69736d6f60d81b6064820152608401610b92565b6001600160a01b0383166121b55760405162461bcd60e51b815260206004820152602660248201527f4e6f20707565646573207175656d6172206361727461732064652065737461206044820152656d616e65726160d01b6064820152608401610b92565b60005b60ff811682111561234f5733600090815260156020526040812081858560ff86168181106121e8576121e8613e33565b90506020020160208101906121fd9190613bd9565b60ff908116825260208201929092526040016000205416116122315760405162461bcd60e51b8152600401610b9290614107565b33600090815260156020526040812090848460ff851681811061225657612256613e33565b905060200201602081019061226b9190613bd9565b60ff9081168252602082019290925260400160009081208054909216919061229283613fb2565b91906101000a81548160ff021916908360ff1602179055505060156000856001600160a01b03166001600160a01b03168152602001908152602001600020600084848460ff168181106122e7576122e7613e33565b90506020020160208101906122fc9190613bd9565b60ff9081168252602082019290925260400160009081208054909216919061232383613e5f565b91906101000a81548160ff021916908360ff16021790555050808061234790613e5f565b9150506121b8565b50505050565b6112cd338383612b58565b60005b60798160ff1610156119845733600090815260156020908152604080832060ff80861685529252822080549091169161239b83613e5f565b91906101000a81548160ff021916908360ff1602179055505080806123bf90613e5f565b915050612363565b6123d133836128d4565b6123ed5760405162461bcd60e51b8152600401610b929061403c565b61234f84848484612c26565b33600090815260156020908152604080832060ff8086168552925290912054166124355760405162461bcd60e51b8152600401610b9290614107565b33600090815260156020908152604080832060ff80861685529252822080549091169161246183613fb2565b91906101000a81548160ff021916908360ff160217905550506000600d604051806040016040528060018152602001602f60f81b8152506124a48460ff16612c59565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016124d59493929190614267565b60405160208183030381529060405290506112cd33828460ff166001612871565b60108054611fef90613e7e565b60606107ef82612d59565b3360009081526017602052604090205460ff1661253d5760405162461bcd60e51b8152600401610b9290613eb8565b6012805460ff1916911515919091179055565b60118054611fef90613e7e565b6008546001600160a01b031633146125b05760405162461bcd60e51b8152602060048201526016602482015275536f6c6f20636f6e747261746f206465207061636b7360501b6044820152606401610b92565b600b55565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3360009081526017602052604090205460ff166126125760405162461bcd60e51b8152600401610b9290613eb8565b6001600160a01b0381166126385760405162461bcd60e51b8152600401610b9290613efb565b6001600160a01b03811660009081526018602052604090205460ff16156126a15760405162461bcd60e51b815260206004820152601b60248201527f4164647265737320697320616c726561647920616e206f776e657200000000006044820152606401610b92565b6001600160a01b03166000908152601860205260409020805460ff19166001179055565b6126cd612aac565b6001600160a01b0381166127325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b92565b61198481612b06565b6000818152600260205260409020546001600160a01b03166119845760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b92565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906127cf82611a95565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008060006128178585612e61565b9150915061282481612ea6565b509392505050565b6112cd8282604051602401612842929190614316565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052612ff0565b600061287c60095490565b905061288c600980546001019055565b600081815260146020526040902081815560018101849055600201805461ff00191661010060ff8516021790556128c38582612ff9565b6128cd8185613013565b5050505050565b6000806128e083611a95565b9050806001600160a01b0316846001600160a01b03161480612907575061290781856125b5565b80610e845750836001600160a01b031661292084610af7565b6001600160a01b031614949350505050565b826001600160a01b031661294582611a95565b6001600160a01b03161461296b5760405162461bcd60e51b8152600401610b9290614340565b6001600160a01b0382166129cd5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610b92565b6129da83838360016130a6565b826001600160a01b03166129ed82611a95565b6001600160a01b031614612a135760405162461bcd60e51b8152600401610b9290614340565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6119848161312e565b6007546001600160a01b03163314611c6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b92565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603612bb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b92565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612c31848484612932565b612c3d8484848461316e565b61234f5760405162461bcd60e51b8152600401610b9290614385565b606081600003612c805750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612caa5780612c94816140ba565b9150612ca39050600a836140a6565b9150612c84565b6000816001600160401b03811115612cc457612cc4613965565b6040519080825280601f01601f191660200182016040528015612cee576020820181803683370190505b5090505b8415610e8457612d0360018361400c565b9150612d10600a86613ff8565b612d1b906030613fcf565b60f81b818381518110612d3057612d30613e33565b60200101906001600160f81b031916908160001a905350612d52600a866140a6565b9450612cf2565b6060612d648261273b565b60008281526006602052604081208054612d7d90613e7e565b80601f0160208091040260200160405190810160405280929190818152602001828054612da990613e7e565b8015612df65780601f10612dcb57610100808354040283529160200191612df6565b820191906000526020600020905b815481529060010190602001808311612dd957829003601f168201915b505050505090506000612e1460408051602081019091526000815290565b90508051600003612e26575092915050565b815115612e58578082604051602001612e409291906143d7565b60405160208183030381529060405292505050919050565b610e848461326c565b6000808251604103612e975760208301516040840151606085015160001a612e8b878285856132e0565b94509450505050612e9f565b506000905060025b9250929050565b6000816004811115612eba57612eba614406565b03612ec25750565b6001816004811115612ed657612ed6614406565b03612f235760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b92565b6002816004811115612f3757612f37614406565b03612f845760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b92565b6003816004811115612f9857612f98614406565b036119845760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b92565b611984816133a4565b6112cd8282604051806020016040528060008152506133c5565b6000828152600260205260409020546001600160a01b031661308e5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610b92565b6000828152600660205260409020610c338282614183565b600181111561234f576001600160a01b038416156130ec576001600160a01b038416600090815260036020526040812080548392906130e690849061400c565b90915550505b6001600160a01b0383161561234f576001600160a01b03831660009081526003602052604081208054839290613123908490613fcf565b909155505050505050565b613137816133f8565b6000818152600660205260409020805461315090613e7e565b1590506119845760008181526006602052604081206119849161379e565b60006001600160a01b0384163b1561326457604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906131b290339089908890889060040161441c565b6020604051808303816000875af19250505080156131ed575060408051601f3d908101601f191682019092526131ea91810190614459565b60015b61324a573d80801561321b576040519150601f19603f3d011682016040523d82523d6000602084013e613220565b606091505b5080516000036132425760405162461bcd60e51b8152600401610b9290614385565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e84565b506001610e84565b60606132778261273b565b600061328e60408051602081019091526000815290565b905060008151116132ae57604051806020016040528060008152506132d9565b806132b88461349b565b6040516020016132c99291906143d7565b6040516020818303038152906040525b9392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613317575060009050600361339b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561336b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166133945760006001925092505061339b565b9150600090505b94509492505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b6133cf838361352d565b6133dc600084848461316e565b610c335760405162461bcd60e51b8152600401610b9290614385565b600061340382611a95565b90506134138160008460016130a6565b61341c82611a95565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006134a8836136c6565b60010190506000816001600160401b038111156134c7576134c7613965565b6040519080825280601f01601f1916602001820160405280156134f1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846134fb57509392505050565b6001600160a01b0382166135835760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b92565b6000818152600260205260409020546001600160a01b0316156135e85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b92565b6135f66000838360016130a6565b6000818152600260205260409020546001600160a01b03161561365b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b92565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106137055772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310613731576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061374f57662386f26fc10000830492506010015b6305f5e1008310613767576305f5e100830492506008015b612710831061377b57612710830492506004015b6064831061378d576064830492506002015b600a83106107ef5760010192915050565b5080546137aa90613e7e565b6000825580601f106137ba575050565b601f01602090049060005260206000209081019061198491905b808211156137e857600081556001016137d4565b5090565b6001600160e01b03198116811461198457600080fd5b60006020828403121561381457600080fd5b81356132d9816137ec565b6001600160a01b038116811461198457600080fd5b60006020828403121561384657600080fd5b81356132d98161381f565b600081518084526020808501945080840160005b8381101561388457815160ff1687529582019590820190600101613865565b509495945050505050565b6040815260006138a26040830185613851565b82810360208401526138b48185613851565b95945050505050565b60005b838110156138d85781810151838201526020016138c0565b50506000910152565b600081518084526138f98160208601602086016138bd565b601f01601f19169290920160200192915050565b6020815260006132d960208301846138e1565b60006020828403121561393257600080fd5b5035919050565b6000806040838503121561394c57600080fd5b82356139578161381f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156139a3576139a3613965565b604052919050565b803560ff811681146139bc57600080fd5b919050565b60008083601f8401126139d357600080fd5b5081356001600160401b038111156139ea57600080fd5b602083019150836020828501011115612e9f57600080fd5b60008060008060608587031215613a1857600080fd5b843593506020808601356001600160401b0380821115613a3757600080fd5b818801915088601f830112613a4b57600080fd5b813581811115613a5d57613a5d613965565b8060051b613a6c85820161397b565b918252838101850191858101908c841115613a8657600080fd5b948601945b83861015613aab57613a9c866139ab565b82529486019490860190613a8b565b98505050506040880135925080831115613ac457600080fd5b5050613ad2878288016139c1565b95989497509550505050565b60008083601f840112613af057600080fd5b5081356001600160401b03811115613b0757600080fd5b6020830191508360208260051b8501011115612e9f57600080fd5b60008060208385031215613b3557600080fd5b82356001600160401b03811115613b4b57600080fd5b613b5785828601613ade565b90969095509350505050565b600080600060608486031215613b7857600080fd5b8335613b838161381f565b92506020840135613b938161381f565b929592945050506040919091013590565b60008060408385031215613bb757600080fd5b8235613bc28161381f565b9150613bd0602084016139ab565b90509250929050565b600060208284031215613beb57600080fd5b6132d9826139ab565b60006001600160401b03831115613c0d57613c0d613965565b613c20601f8401601f191660200161397b565b9050828152838383011115613c3457600080fd5b828260208301376000602084830101529392505050565b600082601f830112613c5c57600080fd5b6132d983833560208501613bf4565b60008060408385031215613c7e57600080fd5b82356001600160401b0380821115613c9557600080fd5b613ca186838701613c4b565b93506020850135915080821115613cb757600080fd5b50613cc485828601613c4b565b9150509250929050565b600080600060408486031215613ce357600080fd5b8335613cee8161381f565b925060208401356001600160401b03811115613d0957600080fd5b613d1586828701613ade565b9497909650939450505050565b801515811461198457600080fd5b60008060408385031215613d4357600080fd5b8235613d4e8161381f565b91506020830135613d5e81613d22565b809150509250929050565b60008060008060808587031215613d7f57600080fd5b8435613d8a8161381f565b93506020850135613d9a8161381f565b92506040850135915060608501356001600160401b03811115613dbc57600080fd5b8501601f81018713613dcd57600080fd5b613ddc87823560208401613bf4565b91505092959194509250565b600060208284031215613dfa57600080fd5b81356132d981613d22565b60008060408385031215613e1857600080fd5b8235613e238161381f565b91506020830135613d5e8161381f565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103613e7557613e75613e49565b60010192915050565b600181811c90821680613e9257607f821691505b602082108103613eb257634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526023908201527f4f6e6c79206f776e6572732063616e2063616c6c20746869732066756e63746960408201526237b71760e91b606082015260800190565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b83811015613f6e57815160ff1685529382019390820190600101613f4f565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b600060ff821680613fc557613fc5613e49565b6000190192915050565b808201808211156107ef576107ef613e49565b634e487b7160e01b600052601260045260246000fd5b60008261400757614007613fe2565b500690565b818103818111156107ef576107ef613e49565b60006020828403121561403157600080fd5b81516132d981613d22565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60006020828403121561409b57600080fd5b81516132d98161381f565b6000826140b5576140b5613fe2565b500490565b6000600182016140cc576140cc613e49565b5060010190565b6001600160a01b03841681526060602082018190526000906140f790830185613851565b9050826040830152949350505050565b6020808252601490820152734e6f207469656e6573206573746120636172746160601b604082015260600190565b601f821115610c3357600081815260208120601f850160051c8101602086101561415c5750805b601f850160051c820191505b8181101561417b57828155600101614168565b505050505050565b81516001600160401b0381111561419c5761419c613965565b6141b0816141aa8454613e7e565b84614135565b602080601f8311600181146141e557600084156141cd5750858301515b600019600386901b1c1916600185901b17855561417b565b600085815260208120601f198616915b82811015614214578886015182559484019460019091019084016141f5565b50858210156142325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061425560408301856138e1565b82810360208401526138b481856138e1565b600080865461427581613e7e565b6001828116801561428d57600181146142a2576142d1565b60ff19841687528215158302870194506142d1565b8a60005260208060002060005b858110156142c85781548a8201529084019082016142af565b50505082870194505b5050505085516142e5818360208a016138bd565b85519101906142f88183602089016138bd565b845191019061430b8183602088016138bd565b019695505050505050565b60408152600061432960408301856138e1565b905060018060a01b03831660208301529392505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600083516143e98184602088016138bd565b8351908301906143fd8183602088016138bd565b01949350505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061444f908301846138e1565b9695505050505050565b60006020828403121561446b57600080fd5b81516132d9816137ec56fea2646970667358221220550d2b840163a69e1b0617b7ad5eac3a4f81492877f01c5d8d92389464d1670c64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } From 9322e8cb64d16df81e91a7dcc8565b6388ecbe60 Mon Sep 17 00:00:00 2001 From: dappsar Date: Tue, 14 Nov 2023 17:21:39 -0300 Subject: [PATCH 2/5] removed old contracts abis --- .../ContextMixin.sol/ContextMixin.dbg.json | 4 - .../_old/ContextMixin.sol/ContextMixin.json | 10 - .../abis/_old/Escrow.sol/Escrow.dbg.json | 4 - src/context/abis/_old/Escrow.sol/Escrow.json | 446 -------- .../GammaCardsV2.sol/GammaCardsV2.dbg.json | 4 - .../_old/GammaCardsV2.sol/GammaCardsV2.json | 976 ------------------ .../GammaCardsV2.sol/IGammaPacks.dbg.json | 4 - .../_old/GammaCardsV2.sol/IGammaPacks.json | 43 - .../_old/GammaPacks.sol/GammaPacks.dbg.json | 4 - .../abis/_old/GammaPacks.sol/GammaPacks.json | 403 -------- .../GammaPacks.sol/ICardsContract.dbg.json | 4 - .../_old/GammaPacks.sol/ICardsContract.json | 37 - .../abis/_old/NOF-SC.sol/NOF_Alpha.dbg.json | 4 - .../abis/_old/NOF-SC.sol/NOF_Alpha.json | 891 ---------------- .../_old/TestDAI.sol/AccessControl.dbg.json | 4 - .../abis/_old/TestDAI.sol/AccessControl.json | 239 ----- .../TestDAI.sol/AccessControlMixin.dbg.json | 4 - .../_old/TestDAI.sol/AccessControlMixin.json | 239 ----- .../abis/_old/TestDAI.sol/Address.dbg.json | 4 - .../abis/_old/TestDAI.sol/Address.json | 10 - .../_old/TestDAI.sol/ChainConstants.dbg.json | 4 - .../abis/_old/TestDAI.sol/ChainConstants.json | 76 -- .../abis/_old/TestDAI.sol/Context.dbg.json | 4 - .../abis/_old/TestDAI.sol/Context.json | 10 - .../_old/TestDAI.sol/ContextMixin.dbg.json | 4 - .../abis/_old/TestDAI.sol/ContextMixin.json | 10 - .../abis/_old/TestDAI.sol/EIP712Base.dbg.json | 4 - .../abis/_old/TestDAI.sol/EIP712Base.json | 37 - .../abis/_old/TestDAI.sol/ERC20.dbg.json | 4 - src/context/abis/_old/TestDAI.sol/ERC20.json | 297 ------ .../_old/TestDAI.sol/EnumerableSet.dbg.json | 4 - .../abis/_old/TestDAI.sol/EnumerableSet.json | 10 - .../_old/TestDAI.sol/IChildToken.dbg.json | 4 - .../abis/_old/TestDAI.sol/IChildToken.json | 29 - .../abis/_old/TestDAI.sol/IERC20.dbg.json | 4 - src/context/abis/_old/TestDAI.sol/IERC20.json | 194 ---- .../_old/TestDAI.sol/Initializable.dbg.json | 4 - .../abis/_old/TestDAI.sol/Initializable.json | 10 - .../NativeMetaTransaction.dbg.json | 4 - .../TestDAI.sol/NativeMetaTransaction.json | 120 --- .../abis/_old/TestDAI.sol/SafeMath.dbg.json | 4 - .../abis/_old/TestDAI.sol/SafeMath.json | 10 - .../abis/_old/TestDAI.sol/UChildDAI.dbg.json | 4 - .../abis/_old/TestDAI.sol/UChildDAI.json | 888 ---------------- .../_old/TestDAI.sol/UChildERC20.dbg.json | 4 - .../abis/_old/TestDAI.sol/UChildERC20.json | 773 -------------- 46 files changed, 5850 deletions(-) delete mode 100644 src/context/abis/_old/ContextMixin.sol/ContextMixin.dbg.json delete mode 100644 src/context/abis/_old/ContextMixin.sol/ContextMixin.json delete mode 100644 src/context/abis/_old/Escrow.sol/Escrow.dbg.json delete mode 100644 src/context/abis/_old/Escrow.sol/Escrow.json delete mode 100644 src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.dbg.json delete mode 100644 src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.json delete mode 100644 src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.dbg.json delete mode 100644 src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.json delete mode 100644 src/context/abis/_old/GammaPacks.sol/GammaPacks.dbg.json delete mode 100644 src/context/abis/_old/GammaPacks.sol/GammaPacks.json delete mode 100644 src/context/abis/_old/GammaPacks.sol/ICardsContract.dbg.json delete mode 100644 src/context/abis/_old/GammaPacks.sol/ICardsContract.json delete mode 100644 src/context/abis/_old/NOF-SC.sol/NOF_Alpha.dbg.json delete mode 100644 src/context/abis/_old/NOF-SC.sol/NOF_Alpha.json delete mode 100644 src/context/abis/_old/TestDAI.sol/AccessControl.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/AccessControl.json delete mode 100644 src/context/abis/_old/TestDAI.sol/AccessControlMixin.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/AccessControlMixin.json delete mode 100644 src/context/abis/_old/TestDAI.sol/Address.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/Address.json delete mode 100644 src/context/abis/_old/TestDAI.sol/ChainConstants.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/ChainConstants.json delete mode 100644 src/context/abis/_old/TestDAI.sol/Context.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/Context.json delete mode 100644 src/context/abis/_old/TestDAI.sol/ContextMixin.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/ContextMixin.json delete mode 100644 src/context/abis/_old/TestDAI.sol/EIP712Base.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/EIP712Base.json delete mode 100644 src/context/abis/_old/TestDAI.sol/ERC20.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/ERC20.json delete mode 100644 src/context/abis/_old/TestDAI.sol/EnumerableSet.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/EnumerableSet.json delete mode 100644 src/context/abis/_old/TestDAI.sol/IChildToken.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/IChildToken.json delete mode 100644 src/context/abis/_old/TestDAI.sol/IERC20.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/IERC20.json delete mode 100644 src/context/abis/_old/TestDAI.sol/Initializable.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/Initializable.json delete mode 100644 src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.json delete mode 100644 src/context/abis/_old/TestDAI.sol/SafeMath.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/SafeMath.json delete mode 100644 src/context/abis/_old/TestDAI.sol/UChildDAI.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/UChildDAI.json delete mode 100644 src/context/abis/_old/TestDAI.sol/UChildERC20.dbg.json delete mode 100644 src/context/abis/_old/TestDAI.sol/UChildERC20.json diff --git a/src/context/abis/_old/ContextMixin.sol/ContextMixin.dbg.json b/src/context/abis/_old/ContextMixin.sol/ContextMixin.dbg.json deleted file mode 100644 index bdbea7ed..00000000 --- a/src/context/abis/_old/ContextMixin.sol/ContextMixin.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/d8335d68ccd3ee04b6567eadbc52d129.json" -} diff --git a/src/context/abis/_old/ContextMixin.sol/ContextMixin.json b/src/context/abis/_old/ContextMixin.sol/ContextMixin.json deleted file mode 100644 index d1f1f9da..00000000 --- a/src/context/abis/_old/ContextMixin.sol/ContextMixin.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ContextMixin", - "sourceName": "contracts/ContextMixin.sol", - "abi": [], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/Escrow.sol/Escrow.dbg.json b/src/context/abis/_old/Escrow.sol/Escrow.dbg.json deleted file mode 100644 index 68bdcec2..00000000 --- a/src/context/abis/_old/Escrow.sol/Escrow.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/3fecf878d858f57289563b65f8b9e1f9.json" -} diff --git a/src/context/abis/_old/Escrow.sol/Escrow.json b/src/context/abis/_old/Escrow.sol/Escrow.json deleted file mode 100644 index 4a73c1b9..00000000 --- a/src/context/abis/_old/Escrow.sol/Escrow.json +++ /dev/null @@ -1,446 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Escrow", - "sourceName": "contracts/Escrow.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract GammaCardsV2", - "name": "_gammaCardsContract", - "type": "address" - }, - { - "internalType": "address", - "name": "_daiTokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "saleId", - "type": "uint256" - } - ], - "name": "SaleCancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "saleId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "soldCard", - "type": "uint8" - } - ], - "name": "SaleCompleted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "saleId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "offeredCard", - "type": "uint8" - } - ], - "name": "SaleCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tradeId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "offeror", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "offeredCard", - "type": "uint8" - }, - { - "indexed": true, - "internalType": "address", - "name": "acceptor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "wantedCard", - "type": "uint8" - } - ], - "name": "TradeAccepted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tradeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "offeredCard", - "type": "uint8" - } - ], - "name": "TradeCancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tradeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "offeredCard", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8[]", - "name": "wantedCards", - "type": "uint8[]" - } - ], - "name": "TradeCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newIndex", - "type": "uint256" - } - ], - "name": "UpdateSaleIndex", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newIndex", - "type": "uint256" - } - ], - "name": "UpdateTradeIndex", - "type": "event" - }, - { - "inputs": [], - "name": "CARD_PRICE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DAI_TOKEN", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tradeId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "_wantedCard", - "type": "uint8" - } - ], - "name": "acceptTrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_saleId", - "type": "uint256" - } - ], - "name": "buyCardForDAI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_saleId", - "type": "uint256" - } - ], - "name": "cancelSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tradeId", - "type": "uint256" - } - ], - "name": "cancelTrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_offeredCard", - "type": "uint8" - } - ], - "name": "createSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_offeredCard", - "type": "uint8" - }, - { - "internalType": "uint8[]", - "name": "_wantedCards", - "type": "uint8[]" - } - ], - "name": "createTrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gammaCardsContract", - "outputs": [ - { - "internalType": "contract GammaCardsV2", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sales", - "outputs": [ - { - "internalType": "uint8", - "name": "offeredCard", - "type": "uint8" - }, - { - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "internalType": "uint32", - "name": "createdOn", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "trades", - "outputs": [ - { - "internalType": "uint8", - "name": "offeredCard", - "type": "uint8" - }, - { - "internalType": "address", - "name": "offeror", - "type": "address" - }, - { - "internalType": "uint32", - "name": "createdOn", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002d5d38038062002d5d833981810160405281019062000037919062000242565b620000576200004b620000c760201b60201c565b620000cf60201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050505062000289565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001c58262000198565b9050919050565b6000620001d982620001b8565b9050919050565b620001eb81620001cc565b8114620001f757600080fd5b50565b6000815190506200020b81620001e0565b92915050565b6200021c81620001b8565b81146200022857600080fd5b50565b6000815190506200023c8162000211565b92915050565b600080604083850312156200025c576200025b62000193565b5b60006200026c85828601620001fa565b92505060206200027f858286016200022b565b9150509250929050565b60805160a051612a99620002c4600039600081816108090152610d39015260008181610ae601528181610d150152610d5f0152612a996000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063bd94b0051161008c578063d250f03a11610066578063d250f03a14610225578063e606df8714610243578063eb00863914610261578063f2fde38b1461027d576100ea565b8063bd94b005146101cf578063be0b680b146101eb578063cb0adce814610207576100ea565b80636aed7294116100c85780636aed729414610159578063715018a6146101755780638da5cb5b1461017f578063b5f522f71461019d576100ea565b806309ec6cc7146100ef5780631e6c598e1461010b5780635283efb81461013d575b600080fd5b61010960048036038101906101049190611aeb565b610299565b005b61012560048036038101906101209190611aeb565b61049c565b60405161013493929190611b94565b60405180910390f35b61015760048036038101906101529190611bf7565b610513565b005b610173600480360381019061016e9190611aeb565b610726565b005b61017d6108c0565b005b6101876108d4565b6040516101949190611c37565b60405180910390f35b6101b760048036038101906101b29190611aeb565b6108fd565b6040516101c693929190611b94565b60405180910390f35b6101e960048036038101906101e49190611aeb565b610970565b005b61020560048036038101906102009190611c52565b610ae2565b005b61020f610d07565b60405161021c9190611c8e565b60405180910390f35b61022d610d13565b60405161023a9190611d08565b60405180910390f35b61024b610d37565b6040516102589190611d44565b60405180910390f35b61027b60048036038101906102769190611eb8565b610d5b565b005b61029760048036038101906102929190611f40565b611031565b005b6000600182815481106102af576102ae611f6d565b5b90600052602060002090600302016040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801561035a57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116103235790505b505050505081526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160149054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090503373ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff1614610453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044a9061201f565b60405180910390fd5b61045c826110b4565b817fd8767bc2b7bed52eec7a5330cc4879f1b6a5a9f15823bac1b62d9d69dd6120778260000151604051610490919061203f565b60405180910390a25050565b600181815481106104ac57600080fd5b90600052602060002090600302016000915090508060000160009054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160149054906101000a900463ffffffff16905083565b60006001838154811061052957610528611f6d565b5b90600052602060002090600302016040518060800160405290816000820160009054906101000a900460ff1660ff1660ff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156105d457602002820191906000526020600020906000905b82829054906101000a900460ff1660ff168152602001906001019060208260000104928301926001038202915080841161059d5790505b505050505081526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160149054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090506106698160200151836112bb565b6106a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069f906120cc565b60405180910390fd5b6106b1836110b4565b3373ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff16847f3b6381e5c6a5537f4d406471b2fcad0c750a5709c3f066683014eb05a6215b118460000151866040516107199291906120ec565b60405180910390a4505050565b60006002828154811061073c5761073b611f6d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160159054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090506107f582611318565b61084e33826020015167016345785d8a00007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166114ee909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff16837fa525b79b09b1da3de88bd5564bd6ec0fa5066d47864a109fcfea9fced4e8083a84600001516040516108b4919061203f565b60405180910390a45050565b6108c8611577565b6108d260006115f5565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6002818154811061090d57600080fd5b906000526020600020016000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160159054906101000a900463ffffffff16905083565b60006002828154811061098657610985611f6d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160159054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090503373ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90612187565b60405180910390fd5b610ab182611318565b817f2c56893f6f6026d19bd17b7d05c9f15c522de1ae2b1c3a825f91a73c799321f260405160405180910390a25050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663809eb35533846040518363ffffffff1660e01b8152600401610b3f9291906121a7565b602060405180830381865afa158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8091906121e5565b60ff1611610bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bba90612284565b60405180910390fd5b600060405180606001604052808360ff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014263ffffffff1681525090506002819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160000160156101000a81548163ffffffff021916908363ffffffff16021790555050506001600280549050610ccc91906122d3565b7f90322bdf9d3b1ad74a17e8643f146d8a012efddd3182c6e4806e3c213d18feb183604051610cfb919061203f565b60405180910390a25050565b67016345785d8a000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663809eb35533856040518363ffffffff1660e01b8152600401610db89291906121a7565b602060405180830381865afa158015610dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df991906121e5565b60ff1611610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390612379565b60405180910390fd5b6000815111610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061240b565b60405180910390fd5b600b815110610ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebb9061249d565b60405180910390fd5b600060405180608001604052808460ff1681526020018381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014263ffffffff168152509050600181908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001019080519060200190610f71929190611955565b5060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160146101000a81548163ffffffff021916908363ffffffff160217905550505060018080549050610ff391906122d3565b7f6503ddddbee715c7befd4e9e87ceacd356008bd7fd90821ffe2f14142ca69ccb848460405161102492919061257b565b60405180910390a2505050565b611039611577565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061261d565b60405180910390fd5b6110b1816115f5565b50565b60018080805490506110c691906122d3565b815481106110d7576110d6611f6d565b5b9060005260206000209060030201600182815481106110f9576110f8611f6d565b5b90600052602060002090600302016000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff160217905550600182018160010190805461114b9291906119fc565b506002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002820160149054906101000a900463ffffffff168160020160146101000a81548163ffffffff021916908363ffffffff16021790555090505060018054806111ff576111fe61263d565b5b6001900381819060005260206000209060030201600080820160006101000a81549060ff02191690556001820160006112389190611a5c565b6002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160146101000a81549063ffffffff0219169055505090557f10cdefed467d2761fb1ec7ec838133bde98b22c15a4e7e9e8ce89839e709f1a0600180549050826040516112b092919061266c565b60405180910390a150565b6000805b835181101561130c578260ff168482815181106112df576112de611f6d565b5b602002602001015160ff16036112f9576001915050611312565b808061130490612695565b9150506112bf565b50600090505b92915050565b6002600160028054905061132c91906122d3565b8154811061133d5761133c611f6d565b5b906000526020600020016002828154811061135b5761135a611f6d565b5b906000526020600020016000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000820160159054906101000a900463ffffffff168160000160156101000a81548163ffffffff021916908363ffffffff16021790555090505060028054806114465761144561263d565b5b60019003818190600052602060002001600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160156101000a81549063ffffffff0219169055505090557f0b1f1db3c44893aec8d8654dade31dfc4d5057bef99c5c56b5b2f292bf57dee7600280549050826040516114e392919061266c565b60405180910390a150565b611571846323b872dd60e01b85858560405160240161150f939291906126dd565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506116b9565b50505050565b61157f611780565b73ffffffffffffffffffffffffffffffffffffffff1661159d6108d4565b73ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea90612760565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600061171b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166117889092919063ffffffff16565b905060008151111561177b578080602001905181019061173b91906127b8565b61177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190612857565b60405180910390fd5b5b505050565b600033905090565b606061179784846000856117a0565b90509392505050565b6060824710156117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc906128e9565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161180e919061297a565b60006040518083038185875af1925050503d806000811461184b576040519150601f19603f3d011682016040523d82523d6000602084013e611850565b606091505b50915091506118618783838761186d565b92505050949350505050565b606083156118cf5760008351036118c757611887856118e2565b6118c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bd906129dd565b60405180910390fd5b5b8290506118da565b6118d98383611905565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156119185781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194c9190612a41565b60405180910390fd5b82805482825590600052602060002090601f016020900481019282156119eb5791602002820160005b838211156119bc57835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261197e565b80156119e95782816101000a81549060ff02191690556001016020816000010492830192600103026119bc565b505b5090506119f89190611a84565b5090565b82805482825590600052602060002090601f01602090048101928215611a4b57600052602060002091601f016020900482015b82811115611a4a578254825591600101919060010190611a2f565b5b509050611a589190611a84565b5090565b50805460008255601f016020900490600052602060002090810190611a819190611a84565b50565b5b80821115611a9d576000816000905550600101611a85565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611ac881611ab5565b8114611ad357600080fd5b50565b600081359050611ae581611abf565b92915050565b600060208284031215611b0157611b00611aab565b5b6000611b0f84828501611ad6565b91505092915050565b600060ff82169050919050565b611b2e81611b18565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b5f82611b34565b9050919050565b611b6f81611b54565b82525050565b600063ffffffff82169050919050565b611b8e81611b75565b82525050565b6000606082019050611ba96000830186611b25565b611bb66020830185611b66565b611bc36040830184611b85565b949350505050565b611bd481611b18565b8114611bdf57600080fd5b50565b600081359050611bf181611bcb565b92915050565b60008060408385031215611c0e57611c0d611aab565b5b6000611c1c85828601611ad6565b9250506020611c2d85828601611be2565b9150509250929050565b6000602082019050611c4c6000830184611b66565b92915050565b600060208284031215611c6857611c67611aab565b5b6000611c7684828501611be2565b91505092915050565b611c8881611ab5565b82525050565b6000602082019050611ca36000830184611c7f565b92915050565b6000819050919050565b6000611cce611cc9611cc484611b34565b611ca9565b611b34565b9050919050565b6000611ce082611cb3565b9050919050565b6000611cf282611cd5565b9050919050565b611d0281611ce7565b82525050565b6000602082019050611d1d6000830184611cf9565b92915050565b6000611d2e82611cd5565b9050919050565b611d3e81611d23565b82525050565b6000602082019050611d596000830184611d35565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611dad82611d64565b810181811067ffffffffffffffff82111715611dcc57611dcb611d75565b5b80604052505050565b6000611ddf611aa1565b9050611deb8282611da4565b919050565b600067ffffffffffffffff821115611e0b57611e0a611d75565b5b602082029050602081019050919050565b600080fd5b6000611e34611e2f84611df0565b611dd5565b90508083825260208201905060208402830185811115611e5757611e56611e1c565b5b835b81811015611e805780611e6c8882611be2565b845260208401935050602081019050611e59565b5050509392505050565b600082601f830112611e9f57611e9e611d5f565b5b8135611eaf848260208601611e21565b91505092915050565b60008060408385031215611ecf57611ece611aab565b5b6000611edd85828601611be2565b925050602083013567ffffffffffffffff811115611efe57611efd611ab0565b5b611f0a85828601611e8a565b9150509250929050565b611f1d81611b54565b8114611f2857600080fd5b50565b600081359050611f3a81611f14565b92915050565b600060208284031215611f5657611f55611aab565b5b6000611f6484828501611f2b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f596f7520617265206e6f7420746865206f666665726f72206f6620746869732060008201527f7472616465000000000000000000000000000000000000000000000000000000602082015250565b6000612009602583611f9c565b915061201482611fad565b604082019050919050565b6000602082019050818103600083015261203881611ffc565b9050919050565b60006020820190506120546000830184611b25565b92915050565b7f596f7520617265206e6f74206f66666572696e6720746865206361726420746860008201527f65206f666665726f722069732061736b696e6720666f72000000000000000000602082015250565b60006120b6603783611f9c565b91506120c18261205a565b604082019050919050565b600060208201905081810360008301526120e5816120a9565b9050919050565b60006040820190506121016000830185611b25565b61210e6020830184611b25565b9392505050565b7f596f7520617265206e6f74207468652073656c6c6572206f662074686973207360008201527f616c650000000000000000000000000000000000000000000000000000000000602082015250565b6000612171602383611f9c565b915061217c82612115565b604082019050919050565b600060208201905081810360008301526121a081612164565b9050919050565b60006040820190506121bc6000830185611b66565b6121c96020830184611b25565b9392505050565b6000815190506121df81611bcb565b92915050565b6000602082840312156121fb576121fa611aab565b5b6000612209848285016121d0565b91505092915050565b7f596f7520646f6e2774206f776e20746865206361726420796f7520617265207460008201527f7279696e6720746f2073656c6c00000000000000000000000000000000000000602082015250565b600061226e602d83611f9c565b915061227982612212565b604082019050919050565b6000602082019050818103600083015261229d81612261565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122de82611ab5565b91506122e983611ab5565b9250828203905081811115612301576123006122a4565b5b92915050565b7f596f7520646f6e2774206f776e20746865206361726420796f7520617265207460008201527f7279696e6720746f207472616465000000000000000000000000000000000000602082015250565b6000612363602e83611f9c565b915061236e82612307565b604082019050919050565b6000602082019050818103600083015261239281612356565b9050919050565b7f596f75206d7573742061736b20666f72206174206c65617374206f6e6520636160008201527f7264000000000000000000000000000000000000000000000000000000000000602082015250565b60006123f5602283611f9c565b915061240082612399565b604082019050919050565b60006020820190508181036000830152612424816123e8565b9050919050565b7f596f752063616e27742061736b20666f72206d6f7265207468616e203130206360008201527f6172647300000000000000000000000000000000000000000000000000000000602082015250565b6000612487602483611f9c565b91506124928261242b565b604082019050919050565b600060208201905081810360008301526124b68161247a565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6124f281611b18565b82525050565b600061250483836124e9565b60208301905092915050565b6000602082019050919050565b6000612528826124bd565b61253281856124c8565b935061253d836124d9565b8060005b8381101561256e57815161255588826124f8565b975061256083612510565b925050600181019050612541565b5085935050505092915050565b60006040820190506125906000830185611b25565b81810360208301526125a2818461251d565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612607602683611f9c565b9150612612826125ab565b604082019050919050565b60006020820190508181036000830152612636816125fa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006040820190506126816000830185611c7f565b61268e6020830184611c7f565b9392505050565b60006126a082611ab5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126d2576126d16122a4565b5b600182019050919050565b60006060820190506126f26000830186611b66565b6126ff6020830185611b66565b61270c6040830184611c7f565b949350505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061274a602083611f9c565b915061275582612714565b602082019050919050565b600060208201905081810360008301526127798161273d565b9050919050565b60008115159050919050565b61279581612780565b81146127a057600080fd5b50565b6000815190506127b28161278c565b92915050565b6000602082840312156127ce576127cd611aab565b5b60006127dc848285016127a3565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612841602a83611f9c565b915061284c826127e5565b604082019050919050565b6000602082019050818103600083015261287081612834565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006128d3602683611f9c565b91506128de82612877565b604082019050919050565b60006020820190508181036000830152612902816128c6565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561293d578082015181840152602081019050612922565b60008484015250505050565b600061295482612909565b61295e8185612914565b935061296e81856020860161291f565b80840191505092915050565b60006129868284612949565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006129c7601d83611f9c565b91506129d282612991565b602082019050919050565b600060208201905081810360008301526129f6816129ba565b9050919050565b600081519050919050565b6000612a13826129fd565b612a1d8185611f9c565b9350612a2d81856020860161291f565b612a3681611d64565b840191505092915050565b60006020820190508181036000830152612a5b8184612a08565b90509291505056fea26469706673582212205e64d40d6454bf6a92e41d498e17162c2623392d6f254418ed634d07c4eb2b2164736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063bd94b0051161008c578063d250f03a11610066578063d250f03a14610225578063e606df8714610243578063eb00863914610261578063f2fde38b1461027d576100ea565b8063bd94b005146101cf578063be0b680b146101eb578063cb0adce814610207576100ea565b80636aed7294116100c85780636aed729414610159578063715018a6146101755780638da5cb5b1461017f578063b5f522f71461019d576100ea565b806309ec6cc7146100ef5780631e6c598e1461010b5780635283efb81461013d575b600080fd5b61010960048036038101906101049190611aeb565b610299565b005b61012560048036038101906101209190611aeb565b61049c565b60405161013493929190611b94565b60405180910390f35b61015760048036038101906101529190611bf7565b610513565b005b610173600480360381019061016e9190611aeb565b610726565b005b61017d6108c0565b005b6101876108d4565b6040516101949190611c37565b60405180910390f35b6101b760048036038101906101b29190611aeb565b6108fd565b6040516101c693929190611b94565b60405180910390f35b6101e960048036038101906101e49190611aeb565b610970565b005b61020560048036038101906102009190611c52565b610ae2565b005b61020f610d07565b60405161021c9190611c8e565b60405180910390f35b61022d610d13565b60405161023a9190611d08565b60405180910390f35b61024b610d37565b6040516102589190611d44565b60405180910390f35b61027b60048036038101906102769190611eb8565b610d5b565b005b61029760048036038101906102929190611f40565b611031565b005b6000600182815481106102af576102ae611f6d565b5b90600052602060002090600302016040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801561035a57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116103235790505b505050505081526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160149054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090503373ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff1614610453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044a9061201f565b60405180910390fd5b61045c826110b4565b817fd8767bc2b7bed52eec7a5330cc4879f1b6a5a9f15823bac1b62d9d69dd6120778260000151604051610490919061203f565b60405180910390a25050565b600181815481106104ac57600080fd5b90600052602060002090600302016000915090508060000160009054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160149054906101000a900463ffffffff16905083565b60006001838154811061052957610528611f6d565b5b90600052602060002090600302016040518060800160405290816000820160009054906101000a900460ff1660ff1660ff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156105d457602002820191906000526020600020906000905b82829054906101000a900460ff1660ff168152602001906001019060208260000104928301926001038202915080841161059d5790505b505050505081526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160149054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090506106698160200151836112bb565b6106a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069f906120cc565b60405180910390fd5b6106b1836110b4565b3373ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff16847f3b6381e5c6a5537f4d406471b2fcad0c750a5709c3f066683014eb05a6215b118460000151866040516107199291906120ec565b60405180910390a4505050565b60006002828154811061073c5761073b611f6d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160159054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090506107f582611318565b61084e33826020015167016345785d8a00007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166114ee909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff16837fa525b79b09b1da3de88bd5564bd6ec0fa5066d47864a109fcfea9fced4e8083a84600001516040516108b4919061203f565b60405180910390a45050565b6108c8611577565b6108d260006115f5565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6002818154811061090d57600080fd5b906000526020600020016000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160159054906101000a900463ffffffff16905083565b60006002828154811061098657610985611f6d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160159054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090503373ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90612187565b60405180910390fd5b610ab182611318565b817f2c56893f6f6026d19bd17b7d05c9f15c522de1ae2b1c3a825f91a73c799321f260405160405180910390a25050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663809eb35533846040518363ffffffff1660e01b8152600401610b3f9291906121a7565b602060405180830381865afa158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8091906121e5565b60ff1611610bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bba90612284565b60405180910390fd5b600060405180606001604052808360ff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014263ffffffff1681525090506002819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160000160156101000a81548163ffffffff021916908363ffffffff16021790555050506001600280549050610ccc91906122d3565b7f90322bdf9d3b1ad74a17e8643f146d8a012efddd3182c6e4806e3c213d18feb183604051610cfb919061203f565b60405180910390a25050565b67016345785d8a000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663809eb35533856040518363ffffffff1660e01b8152600401610db89291906121a7565b602060405180830381865afa158015610dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df991906121e5565b60ff1611610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390612379565b60405180910390fd5b6000815111610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061240b565b60405180910390fd5b600b815110610ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebb9061249d565b60405180910390fd5b600060405180608001604052808460ff1681526020018381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014263ffffffff168152509050600181908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001019080519060200190610f71929190611955565b5060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160146101000a81548163ffffffff021916908363ffffffff160217905550505060018080549050610ff391906122d3565b7f6503ddddbee715c7befd4e9e87ceacd356008bd7fd90821ffe2f14142ca69ccb848460405161102492919061257b565b60405180910390a2505050565b611039611577565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061261d565b60405180910390fd5b6110b1816115f5565b50565b60018080805490506110c691906122d3565b815481106110d7576110d6611f6d565b5b9060005260206000209060030201600182815481106110f9576110f8611f6d565b5b90600052602060002090600302016000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff160217905550600182018160010190805461114b9291906119fc565b506002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002820160149054906101000a900463ffffffff168160020160146101000a81548163ffffffff021916908363ffffffff16021790555090505060018054806111ff576111fe61263d565b5b6001900381819060005260206000209060030201600080820160006101000a81549060ff02191690556001820160006112389190611a5c565b6002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160146101000a81549063ffffffff0219169055505090557f10cdefed467d2761fb1ec7ec838133bde98b22c15a4e7e9e8ce89839e709f1a0600180549050826040516112b092919061266c565b60405180910390a150565b6000805b835181101561130c578260ff168482815181106112df576112de611f6d565b5b602002602001015160ff16036112f9576001915050611312565b808061130490612695565b9150506112bf565b50600090505b92915050565b6002600160028054905061132c91906122d3565b8154811061133d5761133c611f6d565b5b906000526020600020016002828154811061135b5761135a611f6d565b5b906000526020600020016000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000820160159054906101000a900463ffffffff168160000160156101000a81548163ffffffff021916908363ffffffff16021790555090505060028054806114465761144561263d565b5b60019003818190600052602060002001600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160156101000a81549063ffffffff0219169055505090557f0b1f1db3c44893aec8d8654dade31dfc4d5057bef99c5c56b5b2f292bf57dee7600280549050826040516114e392919061266c565b60405180910390a150565b611571846323b872dd60e01b85858560405160240161150f939291906126dd565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506116b9565b50505050565b61157f611780565b73ffffffffffffffffffffffffffffffffffffffff1661159d6108d4565b73ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea90612760565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600061171b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166117889092919063ffffffff16565b905060008151111561177b578080602001905181019061173b91906127b8565b61177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190612857565b60405180910390fd5b5b505050565b600033905090565b606061179784846000856117a0565b90509392505050565b6060824710156117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc906128e9565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161180e919061297a565b60006040518083038185875af1925050503d806000811461184b576040519150601f19603f3d011682016040523d82523d6000602084013e611850565b606091505b50915091506118618783838761186d565b92505050949350505050565b606083156118cf5760008351036118c757611887856118e2565b6118c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bd906129dd565b60405180910390fd5b5b8290506118da565b6118d98383611905565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156119185781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194c9190612a41565b60405180910390fd5b82805482825590600052602060002090601f016020900481019282156119eb5791602002820160005b838211156119bc57835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261197e565b80156119e95782816101000a81549060ff02191690556001016020816000010492830192600103026119bc565b505b5090506119f89190611a84565b5090565b82805482825590600052602060002090601f01602090048101928215611a4b57600052602060002091601f016020900482015b82811115611a4a578254825591600101919060010190611a2f565b5b509050611a589190611a84565b5090565b50805460008255601f016020900490600052602060002090810190611a819190611a84565b50565b5b80821115611a9d576000816000905550600101611a85565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611ac881611ab5565b8114611ad357600080fd5b50565b600081359050611ae581611abf565b92915050565b600060208284031215611b0157611b00611aab565b5b6000611b0f84828501611ad6565b91505092915050565b600060ff82169050919050565b611b2e81611b18565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b5f82611b34565b9050919050565b611b6f81611b54565b82525050565b600063ffffffff82169050919050565b611b8e81611b75565b82525050565b6000606082019050611ba96000830186611b25565b611bb66020830185611b66565b611bc36040830184611b85565b949350505050565b611bd481611b18565b8114611bdf57600080fd5b50565b600081359050611bf181611bcb565b92915050565b60008060408385031215611c0e57611c0d611aab565b5b6000611c1c85828601611ad6565b9250506020611c2d85828601611be2565b9150509250929050565b6000602082019050611c4c6000830184611b66565b92915050565b600060208284031215611c6857611c67611aab565b5b6000611c7684828501611be2565b91505092915050565b611c8881611ab5565b82525050565b6000602082019050611ca36000830184611c7f565b92915050565b6000819050919050565b6000611cce611cc9611cc484611b34565b611ca9565b611b34565b9050919050565b6000611ce082611cb3565b9050919050565b6000611cf282611cd5565b9050919050565b611d0281611ce7565b82525050565b6000602082019050611d1d6000830184611cf9565b92915050565b6000611d2e82611cd5565b9050919050565b611d3e81611d23565b82525050565b6000602082019050611d596000830184611d35565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611dad82611d64565b810181811067ffffffffffffffff82111715611dcc57611dcb611d75565b5b80604052505050565b6000611ddf611aa1565b9050611deb8282611da4565b919050565b600067ffffffffffffffff821115611e0b57611e0a611d75565b5b602082029050602081019050919050565b600080fd5b6000611e34611e2f84611df0565b611dd5565b90508083825260208201905060208402830185811115611e5757611e56611e1c565b5b835b81811015611e805780611e6c8882611be2565b845260208401935050602081019050611e59565b5050509392505050565b600082601f830112611e9f57611e9e611d5f565b5b8135611eaf848260208601611e21565b91505092915050565b60008060408385031215611ecf57611ece611aab565b5b6000611edd85828601611be2565b925050602083013567ffffffffffffffff811115611efe57611efd611ab0565b5b611f0a85828601611e8a565b9150509250929050565b611f1d81611b54565b8114611f2857600080fd5b50565b600081359050611f3a81611f14565b92915050565b600060208284031215611f5657611f55611aab565b5b6000611f6484828501611f2b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f596f7520617265206e6f7420746865206f666665726f72206f6620746869732060008201527f7472616465000000000000000000000000000000000000000000000000000000602082015250565b6000612009602583611f9c565b915061201482611fad565b604082019050919050565b6000602082019050818103600083015261203881611ffc565b9050919050565b60006020820190506120546000830184611b25565b92915050565b7f596f7520617265206e6f74206f66666572696e6720746865206361726420746860008201527f65206f666665726f722069732061736b696e6720666f72000000000000000000602082015250565b60006120b6603783611f9c565b91506120c18261205a565b604082019050919050565b600060208201905081810360008301526120e5816120a9565b9050919050565b60006040820190506121016000830185611b25565b61210e6020830184611b25565b9392505050565b7f596f7520617265206e6f74207468652073656c6c6572206f662074686973207360008201527f616c650000000000000000000000000000000000000000000000000000000000602082015250565b6000612171602383611f9c565b915061217c82612115565b604082019050919050565b600060208201905081810360008301526121a081612164565b9050919050565b60006040820190506121bc6000830185611b66565b6121c96020830184611b25565b9392505050565b6000815190506121df81611bcb565b92915050565b6000602082840312156121fb576121fa611aab565b5b6000612209848285016121d0565b91505092915050565b7f596f7520646f6e2774206f776e20746865206361726420796f7520617265207460008201527f7279696e6720746f2073656c6c00000000000000000000000000000000000000602082015250565b600061226e602d83611f9c565b915061227982612212565b604082019050919050565b6000602082019050818103600083015261229d81612261565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122de82611ab5565b91506122e983611ab5565b9250828203905081811115612301576123006122a4565b5b92915050565b7f596f7520646f6e2774206f776e20746865206361726420796f7520617265207460008201527f7279696e6720746f207472616465000000000000000000000000000000000000602082015250565b6000612363602e83611f9c565b915061236e82612307565b604082019050919050565b6000602082019050818103600083015261239281612356565b9050919050565b7f596f75206d7573742061736b20666f72206174206c65617374206f6e6520636160008201527f7264000000000000000000000000000000000000000000000000000000000000602082015250565b60006123f5602283611f9c565b915061240082612399565b604082019050919050565b60006020820190508181036000830152612424816123e8565b9050919050565b7f596f752063616e27742061736b20666f72206d6f7265207468616e203130206360008201527f6172647300000000000000000000000000000000000000000000000000000000602082015250565b6000612487602483611f9c565b91506124928261242b565b604082019050919050565b600060208201905081810360008301526124b68161247a565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6124f281611b18565b82525050565b600061250483836124e9565b60208301905092915050565b6000602082019050919050565b6000612528826124bd565b61253281856124c8565b935061253d836124d9565b8060005b8381101561256e57815161255588826124f8565b975061256083612510565b925050600181019050612541565b5085935050505092915050565b60006040820190506125906000830185611b25565b81810360208301526125a2818461251d565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612607602683611f9c565b9150612612826125ab565b604082019050919050565b60006020820190508181036000830152612636816125fa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006040820190506126816000830185611c7f565b61268e6020830184611c7f565b9392505050565b60006126a082611ab5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126d2576126d16122a4565b5b600182019050919050565b60006060820190506126f26000830186611b66565b6126ff6020830185611b66565b61270c6040830184611c7f565b949350505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061274a602083611f9c565b915061275582612714565b602082019050919050565b600060208201905081810360008301526127798161273d565b9050919050565b60008115159050919050565b61279581612780565b81146127a057600080fd5b50565b6000815190506127b28161278c565b92915050565b6000602082840312156127ce576127cd611aab565b5b60006127dc848285016127a3565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612841602a83611f9c565b915061284c826127e5565b604082019050919050565b6000602082019050818103600083015261287081612834565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006128d3602683611f9c565b91506128de82612877565b604082019050919050565b60006020820190508181036000830152612902816128c6565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561293d578082015181840152602081019050612922565b60008484015250505050565b600061295482612909565b61295e8185612914565b935061296e81856020860161291f565b80840191505092915050565b60006129868284612949565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006129c7601d83611f9c565b91506129d282612991565b602082019050919050565b600060208201905081810360008301526129f6816129ba565b9050919050565b600081519050919050565b6000612a13826129fd565b612a1d8185611f9c565b9350612a2d81856020860161291f565b612a3681611d64565b840191505092915050565b60006020820190508181036000830152612a5b8184612a08565b90509291505056fea26469706673582212205e64d40d6454bf6a92e41d498e17162c2623392d6f254418ed634d07c4eb2b2164736f6c63430008120033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.dbg.json b/src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.dbg.json deleted file mode 100644 index 68bdcec2..00000000 --- a/src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/3fecf878d858f57289563b65f8b9e1f9.json" -} diff --git a/src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.json b/src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.json deleted file mode 100644 index 90485637..00000000 --- a/src/context/abis/_old/GammaCardsV2.sol/GammaCardsV2.json +++ /dev/null @@ -1,976 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "GammaCardsV2", - "sourceName": "contracts/GammaCardsV2.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_daiTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_packsContract", - "type": "address" - }, - { - "internalType": "string", - "name": "_baseUri", - "type": "string" - }, - { - "internalType": "address", - "name": "_signer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "player", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "albumClass", - "type": "uint8" - } - ], - "name": "AlbumCompleted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "player", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "cardTokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "albumTokenId", - "type": "uint256" - } - ], - "name": "CardPasted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "EmergencyWithdrawal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newSigner", - "type": "address" - } - ], - "name": "NewSigner", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "newMainUri", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "newSecondaryUri", - "type": "string" - } - ], - "name": "NewUris", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "player", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8[]", - "name": "packData", - "type": "uint8[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "packNumber", - "type": "uint256" - } - ], - "name": "PackOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DAI_TOKEN", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseUri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8[]", - "name": "cardNumbers", - "type": "uint8[]" - } - ], - "name": "burnCards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "burnedCards", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "cards", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "number", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "pasted", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "class", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "completion", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint8", - "name": "cardNumber", - "type": "uint8" - } - ], - "name": "cardsByUser", - "outputs": [ - { - "internalType": "uint8", - "name": "amount", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "cardNumber", - "type": "uint256" - } - ], - "name": "cardsInventory", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPackPrice", - "type": "uint256" - } - ], - "name": "changePackPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "emergencyWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finishAlbum", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getCardsByUser", - "outputs": [ - { - "internalType": "uint8[]", - "name": "", - "type": "uint8[]" - }, - { - "internalType": "uint8[]", - "name": "", - "type": "uint8[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "mainAlbumPrize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "mainUri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "cardNum", - "type": "uint8" - } - ], - "name": "mintCard", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "packNumber", - "type": "uint256" - }, - { - "internalType": "uint8[]", - "name": "packData", - "type": "uint8[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "openPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "packPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "packsContract", - "outputs": [ - { - "internalType": "contract IGammaPacks", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "prizesBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "receivePrizesBalance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "secondaryAlbumPrize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "secondaryUri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newSigner", - "type": "address" - } - ], - "name": "setSigner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "newMainUri", - "type": "string" - }, - { - "internalType": "string", - "name": "newSecondaryUri", - "type": "string" - } - ], - "name": "setUris", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "signer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "testAddCards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint8", - "name": "cardNumber", - "type": "uint8" - } - ], - "name": "transferCard", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint8[]", - "name": "cardNumbers", - "type": "uint8[]" - } - ], - "name": "transferCards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526710a741a462780000600c5567d02ab486cedc0000600f55670de0b6b3a76400006010553480156200003557600080fd5b5060405162007a4b38038062007a4b83398181016040528101906200005b9190620006a1565b6040518060400160405280600a81526020017f47616d6d614361726473000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4e4f465f474300000000000000000000000000000000000000000000000000008152508160009081620000d891906200097d565b508060019081620000ea91906200097d565b5050506200010d62000101620003db60201b60201c565b620003e360201b60201c565b82600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9081620001a091906200097d565b50600e6040518060400160405280600181526020017f2f000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f31323000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f462e6a736f6e00000000000000000000000000000000000000000000000000008152506040516020016200025a949392919062000b55565b604051602081830303815290604052601190816200027991906200097d565b50600e6040518060400160405280600181526020017f2f000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f31323100000000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f462e6a736f6e000000000000000000000000000000000000000000000000000081525060405160200162000333949392919062000b55565b604051602081830303815290604052601290816200035291906200097d565b5080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b607a811015620003d057600160136000838152602001908152602001600020819055508080620003c79062000bca565b91505062000397565b505050505062000c17565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004ea82620004bd565b9050919050565b620004fc81620004dd565b81146200050857600080fd5b50565b6000815190506200051c81620004f1565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000577826200052c565b810181811067ffffffffffffffff821117156200059957620005986200053d565b5b80604052505050565b6000620005ae620004a9565b9050620005bc82826200056c565b919050565b600067ffffffffffffffff821115620005df57620005de6200053d565b5b620005ea826200052c565b9050602081019050919050565b60005b8381101562000617578082015181840152602081019050620005fa565b60008484015250505050565b60006200063a6200063484620005c1565b620005a2565b90508281526020810184848401111562000659576200065862000527565b5b62000666848285620005f7565b509392505050565b600082601f83011262000686576200068562000522565b5b81516200069884826020860162000623565b91505092915050565b60008060008060808587031215620006be57620006bd620004b3565b5b6000620006ce878288016200050b565b9450506020620006e1878288016200050b565b935050604085015167ffffffffffffffff811115620007055762000704620004b8565b5b62000713878288016200066e565b925050606062000726878288016200050b565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200078557607f821691505b6020821081036200079b576200079a6200073d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007c6565b620008118683620007c6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200085e62000858620008528462000829565b62000833565b62000829565b9050919050565b6000819050919050565b6200087a836200083d565b62000892620008898262000865565b848454620007d3565b825550505050565b600090565b620008a96200089a565b620008b68184846200086f565b505050565b5b81811015620008de57620008d26000826200089f565b600181019050620008bc565b5050565b601f8211156200092d57620008f781620007a1565b6200090284620007b6565b8101602085101562000912578190505b6200092a6200092185620007b6565b830182620008bb565b50505b505050565b600082821c905092915050565b6000620009526000198460080262000932565b1980831691505092915050565b60006200096d83836200093f565b9150826002028217905092915050565b620009888262000732565b67ffffffffffffffff811115620009a457620009a36200053d565b5b620009b082546200076c565b620009bd828285620008e2565b600060209050601f831160018114620009f55760008415620009e0578287015190505b620009ec85826200095f565b86555062000a5c565b601f19841662000a0586620007a1565b60005b8281101562000a2f5784890151825560018201915060208501945060208101905062000a08565b8683101562000a4f578489015162000a4b601f8916826200093f565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60008190508160005260206000209050919050565b6000815462000a93816200076c565b62000a9f818662000a64565b9450600182166000811462000abd576001811462000ad35762000b0a565b60ff198316865281151582028601935062000b0a565b62000ade8562000a6f565b60005b8381101562000b025781548189015260018201915060208101905062000ae1565b838801955050505b50505092915050565b600081519050919050565b600062000b2b8262000b13565b62000b37818562000a64565b935062000b49818560208601620005f7565b80840191505092915050565b600062000b63828762000a84565b915062000b71828662000b1e565b915062000b7f828562000b1e565b915062000b8d828462000b1e565b915081905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000bd78262000829565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000c0c5762000c0b62000b9b565b5b600182019050919050565b616e248062000c276000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80638ba526fc11610151578063aaaeca17116100c3578063dec3f6d911610087578063dec3f6d91461074c578063e1883c6e1461076a578063e5db587a14610786578063e606df87146107a4578063e985e9c5146107c2578063f2fde38b146107f257610274565b8063aaaeca17146106bc578063b88d4fde146106c6578063bf400a6a146106e2578063c3461c07146106fe578063c87b56dd1461071c57610274565b806395d89b411161011557806395d89b411461060e5780639abc83201461062c5780639c7f707f1461064a5780639f4415d814610666578063a1af8ad414610684578063a22cb465146106a057610274565b80638ba526fc146105785780638da5cb5b146105945780638dc10768146105b25780638dd8be47146105e65780639038f4141461060457610274565b806342842e0e116101ea5780636352211e116101ae5780636352211e146104925780636c19e783146104c257806370a08231146104de578063715018a61461050e5780637e50fa8f14610518578063809eb3551461054857610274565b806342842e0e146103f057806342966c681461040c578063483823e8146104285780635312ea8e146104465780635dde20d81461046257610274565b806320965a5f1161023c57806320965a5f14610344578063238ac9331461036057806323b872dd1461037e578063267b841d1461039a5780632ca699e7146103b6578063335c8b63146103d257610274565b806301ffc9a7146102795780630435dcaf146102a957806306fdde03146102da578063081812fc146102f8578063095ea7b314610328575b600080fd5b610293600480360381019061028e9190614868565b61080e565b6040516102a091906148b0565b60405180910390f35b6102c360048036038101906102be9190614929565b6108f0565b6040516102d1929190614a21565b60405180910390f35b6102e2610c52565b6040516102ef9190614ae8565b60405180910390f35b610312600480360381019061030d9190614b40565b610ce4565b60405161031f9190614b7c565b60405180910390f35b610342600480360381019061033d9190614b97565b610d2a565b005b61035e60048036038101906103599190614c3c565b610e41565b005b61036861128e565b6040516103759190614b7c565b60405180910390f35b61039860048036038101906103939190614c89565b6112b4565b005b6103b460048036038101906103af9190614e9c565b611314565b005b6103d060048036038101906103cb9190614f2c565b61183a565b005b6103da611adc565b6040516103e79190614f7b565b60405180910390f35b61040a60048036038101906104059190614c89565b611ae2565b005b61042660048036038101906104219190614b40565b611b02565b005b610430611b5e565b60405161043d9190614f7b565b60405180910390f35b610460600480360381019061045b9190614b40565b611b64565b005b61047c60048036038101906104779190614b40565b611c77565b6040516104899190614f7b565b60405180910390f35b6104ac60048036038101906104a79190614b40565b611c8f565b6040516104b99190614b7c565b60405180910390f35b6104dc60048036038101906104d79190614929565b611d15565b005b6104f860048036038101906104f39190614929565b611d98565b6040516105059190614f7b565b60405180910390f35b610516611e4f565b005b610532600480360381019061052d9190614929565b611e63565b60405161053f9190614f7b565b60405180910390f35b610562600480360381019061055d9190614f2c565b611e7b565b60405161056f9190614fa5565b60405180910390f35b610592600480360381019061058d9190614b40565b611eaa565b005b61059c611f56565b6040516105a99190614b7c565b60405180910390f35b6105cc60048036038101906105c79190614b40565b611f80565b6040516105dd959493929190614fc0565b60405180910390f35b6105ee611fd0565b6040516105fb9190615072565b60405180910390f35b61060c611ff6565b005b6106166123df565b6040516106239190614ae8565b60405180910390f35b610634612471565b6040516106419190614ae8565b60405180910390f35b610664600480360381019061065f9190615142565b6124ff565b005b61066e612564565b60405161067b9190614f7b565b60405180910390f35b61069e600480360381019061069991906151ba565b61256a565b005b6106ba60048036038101906106b59190615246565b6128b0565b005b6106c46128c6565b005b6106e060048036038101906106db9190615327565b612977565b005b6106fc60048036038101906106f791906153aa565b6129d9565b005b610706612bc2565b6040516107139190614ae8565b60405180910390f35b61073660048036038101906107319190614b40565b612c50565b6040516107439190614ae8565b60405180910390f35b610754612c62565b6040516107619190614ae8565b60405180910390f35b610784600480360381019061077f9190614b40565b612cf0565b005b61078e612d8a565b60405161079b9190614f7b565b60405180910390f35b6107ac612d90565b6040516107b99190614b7c565b60405180910390f35b6107dc60048036038101906107d791906153d7565b612db6565b6040516107e991906148b0565b60405180910390f35b61080c60048036038101906108079190614929565b612e4a565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108d957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108e957506108e882612ecd565b5b9050919050565b6060806000607967ffffffffffffffff8111156109105761090f614cdc565b5b60405190808252806020026020018201604052801561093e5781602001602082028036833780820191505090505b5090506000607967ffffffffffffffff81111561095e5761095d614cdc565b5b60405190808252806020026020018201604052801561098c5781602001602082028036833780820191505090505b509050600080600190505b60788160ff1611610aec576000601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff161115610ad95780848360ff1681518110610a2857610a27615417565b5b602002602001019060ff16908160ff1681525050601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff16815260200190815260200160002060009054906101000a900460ff16838360ff1681518110610ab657610ab5615417565b5b602002602001019060ff16908160ff16815250508180610ad590615475565b9250505b8080610ae490615475565b915050610997565b5060008160ff1667ffffffffffffffff811115610b0c57610b0b614cdc565b5b604051908082528060200260200182016040528015610b3a5781602001602082028036833780820191505090505b50905060008260ff1667ffffffffffffffff811115610b5c57610b5b614cdc565b5b604051908082528060200260200182016040528015610b8a5781602001602082028036833780820191505090505b50905060005b8360ff168160ff161015610c4157858160ff1681518110610bb457610bb3615417565b5b6020026020010151838260ff1681518110610bd257610bd1615417565b5b602002602001019060ff16908160ff1681525050848160ff1681518110610bfc57610bfb615417565b5b6020026020010151828260ff1681518110610c1a57610c19615417565b5b602002602001019060ff16908160ff16815250508080610c3990615475565b915050610b90565b508181965096505050505050915091565b606060008054610c61906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8d906154cd565b8015610cda5780601f10610caf57610100808354040283529160200191610cda565b820191906000526020600020905b815481529060010190602001808311610cbd57829003601f168201915b5050505050905090565b6000610cef82612f37565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610d3582611c8f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90615570565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610dc4612f82565b73ffffffffffffffffffffffffffffffffffffffff161480610df35750610df281610ded612f82565b612db6565b5b610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990615602565b60405180910390fd5b610e3c8383612f8a565b505050565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000607960ff16815260200190815260200160002060009054906101000a900460ff1660ff1611610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf9061566e565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000607960ff168152602001908152602001600020600081819054906101000a900460ff1680929190610f599061568e565b91906101000a81548160ff021916908360ff1602179055505081819050601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fc491906156b7565b9250508190555060005b828290508160ff1610156110a557601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848460ff1681811061103357611032615417565b5b905060200201602081019061104891906153aa565b60ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906110799061568e565b91906101000a81548160ff021916908360ff16021790555050808061109d90615475565b915050610fce565b506000603c601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f4919061571a565b0361128a57611191336012805461110a906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054611136906154cd565b80156111835780601f1061115857610100808354040283529160200191611183565b820191906000526020600020905b81548152906001019060200180831161116657829003601f168201915b505050505060796002613043565b600f54600d60008282546111a5919061574b565b92505081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336010546040518363ffffffff1660e01b815260040161120b92919061577f565b6020604051808303816000875af115801561122a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124e91906157bd565b507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa336002604051611281929190615825565b60405180910390a15b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112c56112bf612f82565b826130db565b611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb906158c0565b60405180910390fd5b61130f838383613170565b505050565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d3e6a7ad866040518263ffffffff1660e01b81526004016113869190614f7b565b602060405180830381865afa1580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c791906158f5565b73ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114149061596e565b60405180910390fd5b600f835110611461576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611458906159da565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350a88c7e856040518263ffffffff1660e01b81526004016114bc9190614f7b565b600060405180830381600087803b1580156114d657600080fd5b505af11580156114ea573d6000803e3d6000fd5b505050506006600c546114fd91906159fa565b600c5461150a919061574b565b600d600082825461151b91906156b7565b92505081905550600061156d33868673f1dd71895e49b1563693969de50898197cdf34816040516020016115529493929190615b24565b60405160208183030381529060405280519060200120613469565b9050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ff84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508361349990919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90615bba565b60405180910390fd5b60008451905060005b818160ff1610156117f6576078868260ff168151811061168157611680615417565b5b602002602001015160ff16146116ce5761138960136000888460ff16815181106116ae576116ad615417565b5b602002602001015160ff16815260200190815260200160002054106116e8565b610bb9601360006078815260200190815260200160002054105b6116f157600080fd5b60136000878360ff168151811061170b5761170a615417565b5b602002602001015160ff168152602001908152602001600020600081548092919061173590615bda565b9190505550601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878360ff168151811061179157611790615417565b5b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906117ca90615475565b91906101000a81548160ff021916908360ff1602179055505080806117ee90615475565b91505061165e565b507fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e333868860405161182a93929190615c22565b60405180910390a1505050505050565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff16116118e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118da90615cac565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194890615d18565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b790615d84565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611a339061568e565b91906101000a81548160ff021916908360ff16021790555050601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611abf90615475565b91906101000a81548160ff021916908360ff160217905550505050565b600c5481565b611afd83838360405180602001604052806000815250612977565b505050565b611b13611b0d612f82565b826130db565b611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b49906158c0565b60405180910390fd5b611b5b816134c0565b50565b60105481565b611b6c6134cc565b80611b7630611d98565b1015611b8157600080fd5b80600d6000828254611b93919061574b565b92505081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611bf792919061577f565b6020604051808303816000875af1158015611c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3a91906157bd565b507f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f203382604051611c6c92919061577f565b60405180910390a150565b60136020528060005260406000206000915090505481565b600080611c9b8361354a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0390615df0565b60405180910390fd5b80915050919050565b611d1d6134cc565b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffafe5c39be83f4bcf20d7e1a150f6e21c1858ea0948315ba84b6b1c386d45bb81604051611d8d9190614b7c565b60405180910390a150565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90615e82565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611e576134cc565b611e616000613587565b565b60166020528060005260406000206000915090505481565b60156020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3190615eee565b60405180910390fd5b80600d6000828254611f4c91906156b7565b9250508190555050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60146020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060030154905085565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000607860ff16815260200190815260200160002060009054906101000a900460ff1660ff161161209d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209490615f5a565b60405180910390fd5b600f54600d5410156120e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120db90615fc6565b60405180910390fd5b6000805b60798160ff16101561220a576000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff160361216b576001915061220a565b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906121de9061568e565b91906101000a81548160ff021916908360ff16021790555050808061220290615475565b9150506120e8565b50801561224c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224390616032565b60405180910390fd5b6122e4336011805461225d906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054612289906154cd565b80156122d65780601f106122ab576101008083540402835291602001916122d6565b820191906000526020600020905b8154815290600101906020018083116122b957829003601f168201915b505050505060786002613043565b600f54600d60008282546122f8919061574b565b92505081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600f546040518363ffffffff1660e01b815260040161235e92919061577f565b6020604051808303816000875af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a191906157bd565b507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa3360016040516123d492919061608d565b60405180910390a150565b6060600180546123ee906154cd565b80601f016020809104026020016040519081016040528092919081815260200182805461241a906154cd565b80156124675780601f1061243c57610100808354040283529160200191612467565b820191906000526020600020905b81548152906001019060200180831161244a57829003601f168201915b5050505050905090565b600e805461247e906154cd565b80601f01602080910402602001604051908101604052809291908181526020018280546124aa906154cd565b80156124f75780601f106124cc576101008083540402835291602001916124f7565b820191906000526020600020905b8154815290600101906020018083116124da57829003601f168201915b505050505081565b6125076134cc565b81601190816125169190616258565b5080601290816125269190616258565b507fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec6828260405161255892919061632a565b60405180910390a15050565b600f5481565b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cf906163d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263e90616465565b60405180910390fd5b60005b828290508160ff1610156128aa576000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085858560ff168181106126b1576126b0615417565b5b90506020020160208101906126c691906153aa565b60ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff161161272b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272290615cac565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848460ff1681811061278257612781615417565b5b905060200201602081019061279791906153aa565b60ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906127c89061568e565b91906101000a81548160ff021916908360ff16021790555050601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848460ff1681811061283857612837615417565b5b905060200201602081019061284d91906153aa565b60ff1660ff168152602001908152602001600020600081819054906101000a900460ff168092919061287e90615475565b91906101000a81548160ff021916908360ff1602179055505080806128a290615475565b91505061264a565b50505050565b6128c26128bb612f82565b838361364d565b5050565b60005b60798160ff16101561297457601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff168092919061294890615475565b91906101000a81548160ff021916908360ff16021790555050808061296c90615475565b9150506128c9565b50565b612988612982612f82565b836130db565b6129c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129be906158c0565b60405180910390fd5b6129d3848484846137b9565b50505050565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff1611612a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7990615cac565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190612af59061568e565b91906101000a81548160ff021916908360ff160217905550506000600e6040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250612b548460ff16613815565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001612b9d9493929190616564565b6040516020818303038152906040529050612bbe33828460ff166001613043565b5050565b60118054612bcf906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054612bfb906154cd565b8015612c485780601f10612c1d57610100808354040283529160200191612c48565b820191906000526020600020905b815481529060010190602001808311612c2b57829003601f168201915b505050505081565b6060612c5b82613975565b9050919050565b60128054612c6f906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054612c9b906154cd565b8015612ce85780601f10612cbd57610100808354040283529160200191612ce8565b820191906000526020600020905b815481529060010190602001808311612ccb57829003601f168201915b505050505081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7790615eee565b60405180910390fd5b80600c8190555050565b600d5481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612e526134cc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb890616614565b60405180910390fd5b612eca81613587565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612f4081613a87565b612f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7690615df0565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612ffd83611c8f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061304f6009613ac8565b905061305b6009613ad6565b806014600083815260200190815260200160002060000181905550826014600083815260200190815260200160002060010181905550816014600083815260200190815260200160002060020160016101000a81548160ff021916908360ff1602179055506130ca8582613aec565b6130d48185613b0a565b5050505050565b6000806130e783611c8f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061312957506131288185612db6565b5b8061316757508373ffffffffffffffffffffffffffffffffffffffff1661314f84610ce4565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661319082611c8f565b73ffffffffffffffffffffffffffffffffffffffff16146131e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131dd906166a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324c90616738565b60405180910390fd5b6132628383836001613b77565b8273ffffffffffffffffffffffffffffffffffffffff1661328282611c8f565b73ffffffffffffffffffffffffffffffffffffffff16146132d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132cf906166a6565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46134648383836001613c9d565b505050565b60008160405160200161347c91906167da565b604051602081830303815290604052805190602001209050919050565b60008060006134a88585613ca3565b915091506134b581613cf4565b819250505092915050565b6134c981613e5a565b50565b6134d4612f82565b73ffffffffffffffffffffffffffffffffffffffff166134f2611f56565b73ffffffffffffffffffffffffffffffffffffffff1614613548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161353f9061684c565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036136bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136b2906168b8565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516137ac91906148b0565b60405180910390a3505050565b6137c4848484613170565b6137d084848484613ead565b61380f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138069061694a565b60405180910390fd5b50505050565b60606000820361385c576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613970565b600082905060005b6000821461388e57808061387790615bda565b915050600a8261388791906159fa565b9150613864565b60008167ffffffffffffffff8111156138aa576138a9614cdc565b5b6040519080825280601f01601f1916602001820160405280156138dc5781602001600182028036833780820191505090505b5090505b60008514613969576001826138f5919061574b565b9150600a85613904919061571a565b603061391091906156b7565b60f81b81838151811061392657613925615417565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561396291906159fa565b94506138e0565b8093505050505b919050565b606061398082612f37565b60006006600084815260200190815260200160002080546139a0906154cd565b80601f01602080910402602001604051908101604052809291908181526020018280546139cc906154cd565b8015613a195780601f106139ee57610100808354040283529160200191613a19565b820191906000526020600020905b8154815290600101906020018083116139fc57829003601f168201915b505050505090506000613a2a614034565b90506000815103613a3f578192505050613a82565b600082511115613a74578082604051602001613a5c92919061699b565b60405160208183030381529060405292505050613a82565b613a7d8461404b565b925050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff16613aa98361354a565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b613b068282604051806020016040528060008152506140b3565b5050565b613b1382613a87565b613b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b4990616a31565b60405180910390fd5b80600660008481526020019081526020016000209081613b729190616258565b505050565b6001811115613c9757600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614613c0b5780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613c03919061574b565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614613c965780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613c8e91906156b7565b925050819055505b5b50505050565b50505050565b6000806041835103613ce45760008060006020860151925060408601519150606086015160001a9050613cd88782858561410e565b94509450505050613ced565b60006002915091505b9250929050565b60006004811115613d0857613d07616a51565b5b816004811115613d1b57613d1a616a51565b5b0315613e575760016004811115613d3557613d34616a51565b5b816004811115613d4857613d47616a51565b5b03613d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d7f90616acc565b60405180910390fd5b60026004811115613d9c57613d9b616a51565b5b816004811115613daf57613dae616a51565b5b03613def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613de690616b38565b60405180910390fd5b60036004811115613e0357613e02616a51565b5b816004811115613e1657613e15616a51565b5b03613e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e4d90616bca565b60405180910390fd5b5b50565b613e63816141f0565b6000600660008381526020019081526020016000208054613e83906154cd565b905014613eaa57600660008281526020019081526020016000206000613ea9919061479f565b5b50565b6000613ece8473ffffffffffffffffffffffffffffffffffffffff1661433e565b15614027578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613ef7612f82565b8786866040518563ffffffff1660e01b8152600401613f199493929190616c34565b6020604051808303816000875af1925050508015613f5557506040513d601f19601f82011682018060405250810190613f529190616c95565b60015b613fd7573d8060008114613f85576040519150601f19603f3d011682016040523d82523d6000602084013e613f8a565b606091505b506000815103613fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fc69061694a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061402c565b600190505b949350505050565b606060405180602001604052806000815250905090565b606061405682612f37565b6000614060614034565b9050600081511161408057604051806020016040528060008152506140ab565b8061408a84614361565b60405160200161409b92919061699b565b6040516020818303038152906040525b915050919050565b6140bd838361442f565b6140ca6000848484613ead565b614109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141009061694a565b60405180910390fd5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156141495760006003915091506141e7565b60006001878787876040516000815260200160405260405161416e9493929190616cd1565b6020604051602081039080840390855afa158015614190573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036141de576000600192509250506141e7565b80600092509250505b94509492505050565b60006141fb82611c8f565b905061420b816000846001613b77565b61421482611c8f565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461433a816000846001613c9d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060600060016143708461464c565b01905060008167ffffffffffffffff81111561438f5761438e614cdc565b5b6040519080825280601f01601f1916602001820160405280156143c15781602001600182028036833780820191505090505b509050600082602001820190505b600115614424578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581614418576144176156eb565b5b049450600085036143cf575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361449e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161449590616d62565b60405180910390fd5b6144a781613a87565b156144e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016144de90616dce565b60405180910390fd5b6144f5600083836001613b77565b6144fe81613a87565b1561453e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161453590616dce565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4614648600083836001613c9d565b5050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106146aa577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816146a05761469f6156eb565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106146e7576d04ee2d6d415b85acef810000000083816146dd576146dc6156eb565b5b0492506020810190505b662386f26fc10000831061471657662386f26fc10000838161470c5761470b6156eb565b5b0492506010810190505b6305f5e100831061473f576305f5e1008381614735576147346156eb565b5b0492506008810190505b612710831061476457612710838161475a576147596156eb565b5b0492506004810190505b60648310614787576064838161477d5761477c6156eb565b5b0492506002810190505b600a8310614796576001810190505b80915050919050565b5080546147ab906154cd565b6000825580601f106147bd57506147dc565b601f0160209004906000526020600020908101906147db91906147df565b5b50565b5b808211156147f85760008160009055506001016147e0565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61484581614810565b811461485057600080fd5b50565b6000813590506148628161483c565b92915050565b60006020828403121561487e5761487d614806565b5b600061488c84828501614853565b91505092915050565b60008115159050919050565b6148aa81614895565b82525050565b60006020820190506148c560008301846148a1565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006148f6826148cb565b9050919050565b614906816148eb565b811461491157600080fd5b50565b600081359050614923816148fd565b92915050565b60006020828403121561493f5761493e614806565b5b600061494d84828501614914565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060ff82169050919050565b61499881614982565b82525050565b60006149aa838361498f565b60208301905092915050565b6000602082019050919050565b60006149ce82614956565b6149d88185614961565b93506149e383614972565b8060005b83811015614a145781516149fb888261499e565b9750614a06836149b6565b9250506001810190506149e7565b5085935050505092915050565b60006040820190508181036000830152614a3b81856149c3565b90508181036020830152614a4f81846149c3565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614a92578082015181840152602081019050614a77565b60008484015250505050565b6000601f19601f8301169050919050565b6000614aba82614a58565b614ac48185614a63565b9350614ad4818560208601614a74565b614add81614a9e565b840191505092915050565b60006020820190508181036000830152614b028184614aaf565b905092915050565b6000819050919050565b614b1d81614b0a565b8114614b2857600080fd5b50565b600081359050614b3a81614b14565b92915050565b600060208284031215614b5657614b55614806565b5b6000614b6484828501614b2b565b91505092915050565b614b76816148eb565b82525050565b6000602082019050614b916000830184614b6d565b92915050565b60008060408385031215614bae57614bad614806565b5b6000614bbc85828601614914565b9250506020614bcd85828601614b2b565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112614bfc57614bfb614bd7565b5b8235905067ffffffffffffffff811115614c1957614c18614bdc565b5b602083019150836020820283011115614c3557614c34614be1565b5b9250929050565b60008060208385031215614c5357614c52614806565b5b600083013567ffffffffffffffff811115614c7157614c7061480b565b5b614c7d85828601614be6565b92509250509250929050565b600080600060608486031215614ca257614ca1614806565b5b6000614cb086828701614914565b9350506020614cc186828701614914565b9250506040614cd286828701614b2b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614d1482614a9e565b810181811067ffffffffffffffff82111715614d3357614d32614cdc565b5b80604052505050565b6000614d466147fc565b9050614d528282614d0b565b919050565b600067ffffffffffffffff821115614d7257614d71614cdc565b5b602082029050602081019050919050565b614d8c81614982565b8114614d9757600080fd5b50565b600081359050614da981614d83565b92915050565b6000614dc2614dbd84614d57565b614d3c565b90508083825260208201905060208402830185811115614de557614de4614be1565b5b835b81811015614e0e5780614dfa8882614d9a565b845260208401935050602081019050614de7565b5050509392505050565b600082601f830112614e2d57614e2c614bd7565b5b8135614e3d848260208601614daf565b91505092915050565b60008083601f840112614e5c57614e5b614bd7565b5b8235905067ffffffffffffffff811115614e7957614e78614bdc565b5b602083019150836001820283011115614e9557614e94614be1565b5b9250929050565b60008060008060608587031215614eb657614eb5614806565b5b6000614ec487828801614b2b565b945050602085013567ffffffffffffffff811115614ee557614ee461480b565b5b614ef187828801614e18565b935050604085013567ffffffffffffffff811115614f1257614f1161480b565b5b614f1e87828801614e46565b925092505092959194509250565b60008060408385031215614f4357614f42614806565b5b6000614f5185828601614914565b9250506020614f6285828601614d9a565b9150509250929050565b614f7581614b0a565b82525050565b6000602082019050614f906000830184614f6c565b92915050565b614f9f81614982565b82525050565b6000602082019050614fba6000830184614f96565b92915050565b600060a082019050614fd56000830188614f6c565b614fe26020830187614f6c565b614fef60408301866148a1565b614ffc6060830185614f96565b6150096080830184614f6c565b9695505050505050565b6000819050919050565b600061503861503361502e846148cb565b615013565b6148cb565b9050919050565b600061504a8261501d565b9050919050565b600061505c8261503f565b9050919050565b61506c81615051565b82525050565b60006020820190506150876000830184615063565b92915050565b600080fd5b600067ffffffffffffffff8211156150ad576150ac614cdc565b5b6150b682614a9e565b9050602081019050919050565b82818337600083830152505050565b60006150e56150e084615092565b614d3c565b9050828152602081018484840111156151015761510061508d565b5b61510c8482856150c3565b509392505050565b600082601f83011261512957615128614bd7565b5b81356151398482602086016150d2565b91505092915050565b6000806040838503121561515957615158614806565b5b600083013567ffffffffffffffff8111156151775761517661480b565b5b61518385828601615114565b925050602083013567ffffffffffffffff8111156151a4576151a361480b565b5b6151b085828601615114565b9150509250929050565b6000806000604084860312156151d3576151d2614806565b5b60006151e186828701614914565b935050602084013567ffffffffffffffff8111156152025761520161480b565b5b61520e86828701614be6565b92509250509250925092565b61522381614895565b811461522e57600080fd5b50565b6000813590506152408161521a565b92915050565b6000806040838503121561525d5761525c614806565b5b600061526b85828601614914565b925050602061527c85828601615231565b9150509250929050565b600067ffffffffffffffff8211156152a1576152a0614cdc565b5b6152aa82614a9e565b9050602081019050919050565b60006152ca6152c584615286565b614d3c565b9050828152602081018484840111156152e6576152e561508d565b5b6152f18482856150c3565b509392505050565b600082601f83011261530e5761530d614bd7565b5b813561531e8482602086016152b7565b91505092915050565b6000806000806080858703121561534157615340614806565b5b600061534f87828801614914565b945050602061536087828801614914565b935050604061537187828801614b2b565b925050606085013567ffffffffffffffff8111156153925761539161480b565b5b61539e878288016152f9565b91505092959194509250565b6000602082840312156153c0576153bf614806565b5b60006153ce84828501614d9a565b91505092915050565b600080604083850312156153ee576153ed614806565b5b60006153fc85828601614914565b925050602061540d85828601614914565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061548082614982565b915060ff820361549357615492615446565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806154e557607f821691505b6020821081036154f8576154f761549e565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061555a602183614a63565b9150615565826154fe565b604082019050919050565b600060208201905081810360008301526155898161554d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006155ec603d83614a63565b91506155f782615590565b604082019050919050565b6000602082019050818103600083015261561b816155df565b9050919050565b7f4e6f207469656e657320616c62756d206465207175656d610000000000000000600082015250565b6000615658601883614a63565b915061566382615622565b602082019050919050565b600060208201905081810360008301526156878161564b565b9050919050565b600061569982614982565b9150600082036156ac576156ab615446565b5b600182039050919050565b60006156c282614b0a565b91506156cd83614b0a565b92508282019050808211156156e5576156e4615446565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061572582614b0a565b915061573083614b0a565b9250826157405761573f6156eb565b5b828206905092915050565b600061575682614b0a565b915061576183614b0a565b925082820390508181111561577957615778615446565b5b92915050565b60006040820190506157946000830185614b6d565b6157a16020830184614f6c565b9392505050565b6000815190506157b78161521a565b92915050565b6000602082840312156157d3576157d2614806565b5b60006157e1848285016157a8565b91505092915050565b6000819050919050565b600061580f61580a615805846157ea565b615013565b614982565b9050919050565b61581f816157f4565b82525050565b600060408201905061583a6000830185614b6d565b6158476020830184615816565b9392505050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006158aa602d83614a63565b91506158b58261584e565b604082019050919050565b600060208201905081810360008301526158d98161589d565b9050919050565b6000815190506158ef816148fd565b92915050565b60006020828403121561590b5761590a614806565b5b6000615919848285016158e0565b91505092915050565b7f4573746520736f627265206e6f206573207475796f0000000000000000000000600082015250565b6000615958601583614a63565b915061596382615922565b602082019050919050565b600060208201905081810360008301526159878161594b565b9050919050565b7f4c696d6974652064652063617274617320657863656469646f00000000000000600082015250565b60006159c4601983614a63565b91506159cf8261598e565b602082019050919050565b600060208201905081810360008301526159f3816159b7565b9050919050565b6000615a0582614b0a565b9150615a1083614b0a565b925082615a2057615a1f6156eb565b5b828204905092915050565b60008160601b9050919050565b6000615a4382615a2b565b9050919050565b6000615a5582615a38565b9050919050565b615a6d615a68826148eb565b615a4a565b82525050565b6000819050919050565b615a8e615a8982614b0a565b615a73565b82525050565b600081905092915050565b615aa881614982565b82525050565b6000615aba8383615a9f565b60208301905092915050565b6000615ad182614956565b615adb8185615a94565b9350615ae683614972565b8060005b83811015615b17578151615afe8882615aae565b9750615b09836149b6565b925050600181019050615aea565b5085935050505092915050565b6000615b308287615a5c565b601482019150615b408286615a7d565b602082019150615b508285615ac6565b9150615b5c8284615a5c565b60148201915081905095945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000615ba4601183614a63565b9150615baf82615b6e565b602082019050919050565b60006020820190508181036000830152615bd381615b97565b9050919050565b6000615be582614b0a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615c1757615c16615446565b5b600182019050919050565b6000606082019050615c376000830186614b6d565b8181036020830152615c4981856149c3565b9050615c586040830184614f6c565b949350505050565b7f4e6f207469656e65732065737461206361727461000000000000000000000000600082015250565b6000615c96601483614a63565b9150615ca182615c60565b602082019050919050565b60006020820190508181036000830152615cc581615c89565b9050919050565b7f5472616e73662070726f706961206e6f207065726d6974696461000000000000600082015250565b6000615d02601a83614a63565b9150615d0d82615ccc565b602082019050919050565b60006020820190508181036000830152615d3181615cf5565b9050919050565b7f5175656d61646f20646520636172746173206e6f207065726d697469646f0000600082015250565b6000615d6e601e83614a63565b9150615d7982615d38565b602082019050919050565b60006020820190508181036000830152615d9d81615d61565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000615dda601883614a63565b9150615de582615da4565b602082019050919050565b60006020820190508181036000830152615e0981615dcd565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000615e6c602983614a63565b9150615e7782615e10565b604082019050919050565b60006020820190508181036000830152615e9b81615e5f565b9050919050565b7f536f6c6f20636f6e747261746f206465207061636b7300000000000000000000600082015250565b6000615ed8601683614a63565b9150615ee382615ea2565b602082019050919050565b60006020820190508181036000830152615f0781615ecb565b9050919050565b7f4e6f207469656e6573206e696e67756e20616c62756d00000000000000000000600082015250565b6000615f44601683614a63565b9150615f4f82615f0e565b602082019050919050565b60006020820190508181036000830152615f7381615f37565b9050919050565b7f466f6e646f7320696e737566696369656e746573000000000000000000000000600082015250565b6000615fb0601483614a63565b9150615fbb82615f7a565b602082019050919050565b60006020820190508181036000830152615fdf81615fa3565b9050919050565b7f4d75737420636f6d706c6574652074686520616c62756d000000000000000000600082015250565b600061601c601783614a63565b915061602782615fe6565b602082019050919050565b6000602082019050818103600083015261604b8161600f565b9050919050565b6000819050919050565b600061607761607261606d84616052565b615013565b614982565b9050919050565b6160878161605c565b82525050565b60006040820190506160a26000830185614b6d565b6160af602083018461607e565b9392505050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026161187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826160db565b61612286836160db565b95508019841693508086168417925050509392505050565b600061615561615061614b84614b0a565b615013565b614b0a565b9050919050565b6000819050919050565b61616f8361613a565b61618361617b8261615c565b8484546160e8565b825550505050565b600090565b61619861618b565b6161a3818484616166565b505050565b5b818110156161c7576161bc600082616190565b6001810190506161a9565b5050565b601f82111561620c576161dd816160b6565b6161e6846160cb565b810160208510156161f5578190505b616209616201856160cb565b8301826161a8565b50505b505050565b600082821c905092915050565b600061622f60001984600802616211565b1980831691505092915050565b6000616248838361621e565b9150826002028217905092915050565b61626182614a58565b67ffffffffffffffff81111561627a57616279614cdc565b5b61628482546154cd565b61628f8282856161cb565b600060209050601f8311600181146162c257600084156162b0578287015190505b6162ba858261623c565b865550616322565b601f1984166162d0866160b6565b60005b828110156162f8578489015182556001820191506020850194506020810190506162d3565b868310156163155784890151616311601f89168261621e565b8355505b6001600288020188555050505b505050505050565b600060408201905081810360008301526163448185614aaf565b905081810360208301526163588184614aaf565b90509392505050565b7f4e6f2074652070756564657320656e766961722063617274617320612074692060008201527f6d69736d6f000000000000000000000000000000000000000000000000000000602082015250565b60006163bd602583614a63565b91506163c882616361565b604082019050919050565b600060208201905081810360008301526163ec816163b0565b9050919050565b7f4e6f20707565646573207175656d61722063617274617320646520657374612060008201527f6d616e6572610000000000000000000000000000000000000000000000000000602082015250565b600061644f602683614a63565b915061645a826163f3565b604082019050919050565b6000602082019050818103600083015261647e81616442565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546164b2816154cd565b6164bc8186616485565b945060018216600081146164d757600181146164ec5761651f565b60ff198316865281151582028601935061651f565b6164f585616490565b60005b83811015616517578154818901526001820191506020810190506164f8565b838801955050505b50505092915050565b600081519050919050565b600061653e82616528565b6165488185616485565b9350616558818560208601614a74565b80840191505092915050565b600061657082876164a5565b915061657c8286616533565b91506165888285616533565b91506165948284616533565b915081905095945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006165fe602683614a63565b9150616609826165a2565b604082019050919050565b6000602082019050818103600083015261662d816165f1565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000616690602583614a63565b915061669b82616634565b604082019050919050565b600060208201905081810360008301526166bf81616683565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000616722602483614a63565b915061672d826166c6565b604082019050919050565b6000602082019050818103600083015261675181616715565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000616799601c83616758565b91506167a482616763565b601c82019050919050565b6000819050919050565b6000819050919050565b6167d46167cf826167af565b6167b9565b82525050565b60006167e58261678c565b91506167f182846167c3565b60208201915081905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000616836602083614a63565b915061684182616800565b602082019050919050565b6000602082019050818103600083015261686581616829565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006168a2601983614a63565b91506168ad8261686c565b602082019050919050565b600060208201905081810360008301526168d181616895565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000616934603283614a63565b915061693f826168d8565b604082019050919050565b6000602082019050818103600083015261696381616927565b9050919050565b600061697582614a58565b61697f8185616758565b935061698f818560208601614a74565b80840191505092915050565b60006169a7828561696a565b91506169b3828461696a565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000616a1b602e83614a63565b9150616a26826169bf565b604082019050919050565b60006020820190508181036000830152616a4a81616a0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000616ab6601883614a63565b9150616ac182616a80565b602082019050919050565b60006020820190508181036000830152616ae581616aa9565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000616b22601f83614a63565b9150616b2d82616aec565b602082019050919050565b60006020820190508181036000830152616b5181616b15565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000616bb4602283614a63565b9150616bbf82616b58565b604082019050919050565b60006020820190508181036000830152616be381616ba7565b9050919050565b600082825260208201905092915050565b6000616c0682616528565b616c108185616bea565b9350616c20818560208601614a74565b616c2981614a9e565b840191505092915050565b6000608082019050616c496000830187614b6d565b616c566020830186614b6d565b616c636040830185614f6c565b8181036060830152616c758184616bfb565b905095945050505050565b600081519050616c8f8161483c565b92915050565b600060208284031215616cab57616caa614806565b5b6000616cb984828501616c80565b91505092915050565b616ccb816167af565b82525050565b6000608082019050616ce66000830187616cc2565b616cf36020830186614f96565b616d006040830185616cc2565b616d0d6060830184616cc2565b95945050505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000616d4c602083614a63565b9150616d5782616d16565b602082019050919050565b60006020820190508181036000830152616d7b81616d3f565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000616db8601c83614a63565b9150616dc382616d82565b602082019050919050565b60006020820190508181036000830152616de781616dab565b905091905056fea2646970667358221220a435ca4423cdb64bb372f0e0c2084241551008dbccd057870aaaeeccf41e60a764736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c80638ba526fc11610151578063aaaeca17116100c3578063dec3f6d911610087578063dec3f6d91461074c578063e1883c6e1461076a578063e5db587a14610786578063e606df87146107a4578063e985e9c5146107c2578063f2fde38b146107f257610274565b8063aaaeca17146106bc578063b88d4fde146106c6578063bf400a6a146106e2578063c3461c07146106fe578063c87b56dd1461071c57610274565b806395d89b411161011557806395d89b411461060e5780639abc83201461062c5780639c7f707f1461064a5780639f4415d814610666578063a1af8ad414610684578063a22cb465146106a057610274565b80638ba526fc146105785780638da5cb5b146105945780638dc10768146105b25780638dd8be47146105e65780639038f4141461060457610274565b806342842e0e116101ea5780636352211e116101ae5780636352211e146104925780636c19e783146104c257806370a08231146104de578063715018a61461050e5780637e50fa8f14610518578063809eb3551461054857610274565b806342842e0e146103f057806342966c681461040c578063483823e8146104285780635312ea8e146104465780635dde20d81461046257610274565b806320965a5f1161023c57806320965a5f14610344578063238ac9331461036057806323b872dd1461037e578063267b841d1461039a5780632ca699e7146103b6578063335c8b63146103d257610274565b806301ffc9a7146102795780630435dcaf146102a957806306fdde03146102da578063081812fc146102f8578063095ea7b314610328575b600080fd5b610293600480360381019061028e9190614868565b61080e565b6040516102a091906148b0565b60405180910390f35b6102c360048036038101906102be9190614929565b6108f0565b6040516102d1929190614a21565b60405180910390f35b6102e2610c52565b6040516102ef9190614ae8565b60405180910390f35b610312600480360381019061030d9190614b40565b610ce4565b60405161031f9190614b7c565b60405180910390f35b610342600480360381019061033d9190614b97565b610d2a565b005b61035e60048036038101906103599190614c3c565b610e41565b005b61036861128e565b6040516103759190614b7c565b60405180910390f35b61039860048036038101906103939190614c89565b6112b4565b005b6103b460048036038101906103af9190614e9c565b611314565b005b6103d060048036038101906103cb9190614f2c565b61183a565b005b6103da611adc565b6040516103e79190614f7b565b60405180910390f35b61040a60048036038101906104059190614c89565b611ae2565b005b61042660048036038101906104219190614b40565b611b02565b005b610430611b5e565b60405161043d9190614f7b565b60405180910390f35b610460600480360381019061045b9190614b40565b611b64565b005b61047c60048036038101906104779190614b40565b611c77565b6040516104899190614f7b565b60405180910390f35b6104ac60048036038101906104a79190614b40565b611c8f565b6040516104b99190614b7c565b60405180910390f35b6104dc60048036038101906104d79190614929565b611d15565b005b6104f860048036038101906104f39190614929565b611d98565b6040516105059190614f7b565b60405180910390f35b610516611e4f565b005b610532600480360381019061052d9190614929565b611e63565b60405161053f9190614f7b565b60405180910390f35b610562600480360381019061055d9190614f2c565b611e7b565b60405161056f9190614fa5565b60405180910390f35b610592600480360381019061058d9190614b40565b611eaa565b005b61059c611f56565b6040516105a99190614b7c565b60405180910390f35b6105cc60048036038101906105c79190614b40565b611f80565b6040516105dd959493929190614fc0565b60405180910390f35b6105ee611fd0565b6040516105fb9190615072565b60405180910390f35b61060c611ff6565b005b6106166123df565b6040516106239190614ae8565b60405180910390f35b610634612471565b6040516106419190614ae8565b60405180910390f35b610664600480360381019061065f9190615142565b6124ff565b005b61066e612564565b60405161067b9190614f7b565b60405180910390f35b61069e600480360381019061069991906151ba565b61256a565b005b6106ba60048036038101906106b59190615246565b6128b0565b005b6106c46128c6565b005b6106e060048036038101906106db9190615327565b612977565b005b6106fc60048036038101906106f791906153aa565b6129d9565b005b610706612bc2565b6040516107139190614ae8565b60405180910390f35b61073660048036038101906107319190614b40565b612c50565b6040516107439190614ae8565b60405180910390f35b610754612c62565b6040516107619190614ae8565b60405180910390f35b610784600480360381019061077f9190614b40565b612cf0565b005b61078e612d8a565b60405161079b9190614f7b565b60405180910390f35b6107ac612d90565b6040516107b99190614b7c565b60405180910390f35b6107dc60048036038101906107d791906153d7565b612db6565b6040516107e991906148b0565b60405180910390f35b61080c60048036038101906108079190614929565b612e4a565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108d957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108e957506108e882612ecd565b5b9050919050565b6060806000607967ffffffffffffffff8111156109105761090f614cdc565b5b60405190808252806020026020018201604052801561093e5781602001602082028036833780820191505090505b5090506000607967ffffffffffffffff81111561095e5761095d614cdc565b5b60405190808252806020026020018201604052801561098c5781602001602082028036833780820191505090505b509050600080600190505b60788160ff1611610aec576000601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff161115610ad95780848360ff1681518110610a2857610a27615417565b5b602002602001019060ff16908160ff1681525050601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff16815260200190815260200160002060009054906101000a900460ff16838360ff1681518110610ab657610ab5615417565b5b602002602001019060ff16908160ff16815250508180610ad590615475565b9250505b8080610ae490615475565b915050610997565b5060008160ff1667ffffffffffffffff811115610b0c57610b0b614cdc565b5b604051908082528060200260200182016040528015610b3a5781602001602082028036833780820191505090505b50905060008260ff1667ffffffffffffffff811115610b5c57610b5b614cdc565b5b604051908082528060200260200182016040528015610b8a5781602001602082028036833780820191505090505b50905060005b8360ff168160ff161015610c4157858160ff1681518110610bb457610bb3615417565b5b6020026020010151838260ff1681518110610bd257610bd1615417565b5b602002602001019060ff16908160ff1681525050848160ff1681518110610bfc57610bfb615417565b5b6020026020010151828260ff1681518110610c1a57610c19615417565b5b602002602001019060ff16908160ff16815250508080610c3990615475565b915050610b90565b508181965096505050505050915091565b606060008054610c61906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8d906154cd565b8015610cda5780601f10610caf57610100808354040283529160200191610cda565b820191906000526020600020905b815481529060010190602001808311610cbd57829003601f168201915b5050505050905090565b6000610cef82612f37565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610d3582611c8f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90615570565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610dc4612f82565b73ffffffffffffffffffffffffffffffffffffffff161480610df35750610df281610ded612f82565b612db6565b5b610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990615602565b60405180910390fd5b610e3c8383612f8a565b505050565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000607960ff16815260200190815260200160002060009054906101000a900460ff1660ff1611610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf9061566e565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000607960ff168152602001908152602001600020600081819054906101000a900460ff1680929190610f599061568e565b91906101000a81548160ff021916908360ff1602179055505081819050601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fc491906156b7565b9250508190555060005b828290508160ff1610156110a557601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848460ff1681811061103357611032615417565b5b905060200201602081019061104891906153aa565b60ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906110799061568e565b91906101000a81548160ff021916908360ff16021790555050808061109d90615475565b915050610fce565b506000603c601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f4919061571a565b0361128a57611191336012805461110a906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054611136906154cd565b80156111835780601f1061115857610100808354040283529160200191611183565b820191906000526020600020905b81548152906001019060200180831161116657829003601f168201915b505050505060796002613043565b600f54600d60008282546111a5919061574b565b92505081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336010546040518363ffffffff1660e01b815260040161120b92919061577f565b6020604051808303816000875af115801561122a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124e91906157bd565b507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa336002604051611281929190615825565b60405180910390a15b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112c56112bf612f82565b826130db565b611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb906158c0565b60405180910390fd5b61130f838383613170565b505050565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d3e6a7ad866040518263ffffffff1660e01b81526004016113869190614f7b565b602060405180830381865afa1580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c791906158f5565b73ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114149061596e565b60405180910390fd5b600f835110611461576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611458906159da565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350a88c7e856040518263ffffffff1660e01b81526004016114bc9190614f7b565b600060405180830381600087803b1580156114d657600080fd5b505af11580156114ea573d6000803e3d6000fd5b505050506006600c546114fd91906159fa565b600c5461150a919061574b565b600d600082825461151b91906156b7565b92505081905550600061156d33868673f1dd71895e49b1563693969de50898197cdf34816040516020016115529493929190615b24565b60405160208183030381529060405280519060200120613469565b9050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ff84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508361349990919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90615bba565b60405180910390fd5b60008451905060005b818160ff1610156117f6576078868260ff168151811061168157611680615417565b5b602002602001015160ff16146116ce5761138960136000888460ff16815181106116ae576116ad615417565b5b602002602001015160ff16815260200190815260200160002054106116e8565b610bb9601360006078815260200190815260200160002054105b6116f157600080fd5b60136000878360ff168151811061170b5761170a615417565b5b602002602001015160ff168152602001908152602001600020600081548092919061173590615bda565b9190505550601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878360ff168151811061179157611790615417565b5b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906117ca90615475565b91906101000a81548160ff021916908360ff1602179055505080806117ee90615475565b91505061165e565b507fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e333868860405161182a93929190615c22565b60405180910390a1505050505050565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff16116118e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118da90615cac565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194890615d18565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b790615d84565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611a339061568e565b91906101000a81548160ff021916908360ff16021790555050601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611abf90615475565b91906101000a81548160ff021916908360ff160217905550505050565b600c5481565b611afd83838360405180602001604052806000815250612977565b505050565b611b13611b0d612f82565b826130db565b611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b49906158c0565b60405180910390fd5b611b5b816134c0565b50565b60105481565b611b6c6134cc565b80611b7630611d98565b1015611b8157600080fd5b80600d6000828254611b93919061574b565b92505081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611bf792919061577f565b6020604051808303816000875af1158015611c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3a91906157bd565b507f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f203382604051611c6c92919061577f565b60405180910390a150565b60136020528060005260406000206000915090505481565b600080611c9b8361354a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0390615df0565b60405180910390fd5b80915050919050565b611d1d6134cc565b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffafe5c39be83f4bcf20d7e1a150f6e21c1858ea0948315ba84b6b1c386d45bb81604051611d8d9190614b7c565b60405180910390a150565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90615e82565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611e576134cc565b611e616000613587565b565b60166020528060005260406000206000915090505481565b60156020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3190615eee565b60405180910390fd5b80600d6000828254611f4c91906156b7565b9250508190555050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60146020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060030154905085565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000607860ff16815260200190815260200160002060009054906101000a900460ff1660ff161161209d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209490615f5a565b60405180910390fd5b600f54600d5410156120e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120db90615fc6565b60405180910390fd5b6000805b60798160ff16101561220a576000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff160361216b576001915061220a565b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906121de9061568e565b91906101000a81548160ff021916908360ff16021790555050808061220290615475565b9150506120e8565b50801561224c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224390616032565b60405180910390fd5b6122e4336011805461225d906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054612289906154cd565b80156122d65780601f106122ab576101008083540402835291602001916122d6565b820191906000526020600020905b8154815290600101906020018083116122b957829003601f168201915b505050505060786002613043565b600f54600d60008282546122f8919061574b565b92505081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600f546040518363ffffffff1660e01b815260040161235e92919061577f565b6020604051808303816000875af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a191906157bd565b507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa3360016040516123d492919061608d565b60405180910390a150565b6060600180546123ee906154cd565b80601f016020809104026020016040519081016040528092919081815260200182805461241a906154cd565b80156124675780601f1061243c57610100808354040283529160200191612467565b820191906000526020600020905b81548152906001019060200180831161244a57829003601f168201915b5050505050905090565b600e805461247e906154cd565b80601f01602080910402602001604051908101604052809291908181526020018280546124aa906154cd565b80156124f75780601f106124cc576101008083540402835291602001916124f7565b820191906000526020600020905b8154815290600101906020018083116124da57829003601f168201915b505050505081565b6125076134cc565b81601190816125169190616258565b5080601290816125269190616258565b507fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec6828260405161255892919061632a565b60405180910390a15050565b600f5481565b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cf906163d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263e90616465565b60405180910390fd5b60005b828290508160ff1610156128aa576000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085858560ff168181106126b1576126b0615417565b5b90506020020160208101906126c691906153aa565b60ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff161161272b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272290615cac565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848460ff1681811061278257612781615417565b5b905060200201602081019061279791906153aa565b60ff1660ff168152602001908152602001600020600081819054906101000a900460ff16809291906127c89061568e565b91906101000a81548160ff021916908360ff16021790555050601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848460ff1681811061283857612837615417565b5b905060200201602081019061284d91906153aa565b60ff1660ff168152602001908152602001600020600081819054906101000a900460ff168092919061287e90615475565b91906101000a81548160ff021916908360ff1602179055505080806128a290615475565b91505061264a565b50505050565b6128c26128bb612f82565b838361364d565b5050565b60005b60798160ff16101561297457601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff168092919061294890615475565b91906101000a81548160ff021916908360ff16021790555050808061296c90615475565b9150506128c9565b50565b612988612982612f82565b836130db565b6129c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129be906158c0565b60405180910390fd5b6129d3848484846137b9565b50505050565b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1660ff1611612a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7990615cac565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008260ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190612af59061568e565b91906101000a81548160ff021916908360ff160217905550506000600e6040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250612b548460ff16613815565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001612b9d9493929190616564565b6040516020818303038152906040529050612bbe33828460ff166001613043565b5050565b60118054612bcf906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054612bfb906154cd565b8015612c485780601f10612c1d57610100808354040283529160200191612c48565b820191906000526020600020905b815481529060010190602001808311612c2b57829003601f168201915b505050505081565b6060612c5b82613975565b9050919050565b60128054612c6f906154cd565b80601f0160208091040260200160405190810160405280929190818152602001828054612c9b906154cd565b8015612ce85780601f10612cbd57610100808354040283529160200191612ce8565b820191906000526020600020905b815481529060010190602001808311612ccb57829003601f168201915b505050505081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7790615eee565b60405180910390fd5b80600c8190555050565b600d5481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612e526134cc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb890616614565b60405180910390fd5b612eca81613587565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612f4081613a87565b612f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7690615df0565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612ffd83611c8f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061304f6009613ac8565b905061305b6009613ad6565b806014600083815260200190815260200160002060000181905550826014600083815260200190815260200160002060010181905550816014600083815260200190815260200160002060020160016101000a81548160ff021916908360ff1602179055506130ca8582613aec565b6130d48185613b0a565b5050505050565b6000806130e783611c8f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061312957506131288185612db6565b5b8061316757508373ffffffffffffffffffffffffffffffffffffffff1661314f84610ce4565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661319082611c8f565b73ffffffffffffffffffffffffffffffffffffffff16146131e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131dd906166a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324c90616738565b60405180910390fd5b6132628383836001613b77565b8273ffffffffffffffffffffffffffffffffffffffff1661328282611c8f565b73ffffffffffffffffffffffffffffffffffffffff16146132d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132cf906166a6565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46134648383836001613c9d565b505050565b60008160405160200161347c91906167da565b604051602081830303815290604052805190602001209050919050565b60008060006134a88585613ca3565b915091506134b581613cf4565b819250505092915050565b6134c981613e5a565b50565b6134d4612f82565b73ffffffffffffffffffffffffffffffffffffffff166134f2611f56565b73ffffffffffffffffffffffffffffffffffffffff1614613548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161353f9061684c565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036136bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136b2906168b8565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516137ac91906148b0565b60405180910390a3505050565b6137c4848484613170565b6137d084848484613ead565b61380f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138069061694a565b60405180910390fd5b50505050565b60606000820361385c576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613970565b600082905060005b6000821461388e57808061387790615bda565b915050600a8261388791906159fa565b9150613864565b60008167ffffffffffffffff8111156138aa576138a9614cdc565b5b6040519080825280601f01601f1916602001820160405280156138dc5781602001600182028036833780820191505090505b5090505b60008514613969576001826138f5919061574b565b9150600a85613904919061571a565b603061391091906156b7565b60f81b81838151811061392657613925615417565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561396291906159fa565b94506138e0565b8093505050505b919050565b606061398082612f37565b60006006600084815260200190815260200160002080546139a0906154cd565b80601f01602080910402602001604051908101604052809291908181526020018280546139cc906154cd565b8015613a195780601f106139ee57610100808354040283529160200191613a19565b820191906000526020600020905b8154815290600101906020018083116139fc57829003601f168201915b505050505090506000613a2a614034565b90506000815103613a3f578192505050613a82565b600082511115613a74578082604051602001613a5c92919061699b565b60405160208183030381529060405292505050613a82565b613a7d8461404b565b925050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff16613aa98361354a565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b613b068282604051806020016040528060008152506140b3565b5050565b613b1382613a87565b613b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b4990616a31565b60405180910390fd5b80600660008481526020019081526020016000209081613b729190616258565b505050565b6001811115613c9757600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614613c0b5780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613c03919061574b565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614613c965780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613c8e91906156b7565b925050819055505b5b50505050565b50505050565b6000806041835103613ce45760008060006020860151925060408601519150606086015160001a9050613cd88782858561410e565b94509450505050613ced565b60006002915091505b9250929050565b60006004811115613d0857613d07616a51565b5b816004811115613d1b57613d1a616a51565b5b0315613e575760016004811115613d3557613d34616a51565b5b816004811115613d4857613d47616a51565b5b03613d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d7f90616acc565b60405180910390fd5b60026004811115613d9c57613d9b616a51565b5b816004811115613daf57613dae616a51565b5b03613def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613de690616b38565b60405180910390fd5b60036004811115613e0357613e02616a51565b5b816004811115613e1657613e15616a51565b5b03613e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e4d90616bca565b60405180910390fd5b5b50565b613e63816141f0565b6000600660008381526020019081526020016000208054613e83906154cd565b905014613eaa57600660008281526020019081526020016000206000613ea9919061479f565b5b50565b6000613ece8473ffffffffffffffffffffffffffffffffffffffff1661433e565b15614027578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613ef7612f82565b8786866040518563ffffffff1660e01b8152600401613f199493929190616c34565b6020604051808303816000875af1925050508015613f5557506040513d601f19601f82011682018060405250810190613f529190616c95565b60015b613fd7573d8060008114613f85576040519150601f19603f3d011682016040523d82523d6000602084013e613f8a565b606091505b506000815103613fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fc69061694a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061402c565b600190505b949350505050565b606060405180602001604052806000815250905090565b606061405682612f37565b6000614060614034565b9050600081511161408057604051806020016040528060008152506140ab565b8061408a84614361565b60405160200161409b92919061699b565b6040516020818303038152906040525b915050919050565b6140bd838361442f565b6140ca6000848484613ead565b614109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141009061694a565b60405180910390fd5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156141495760006003915091506141e7565b60006001878787876040516000815260200160405260405161416e9493929190616cd1565b6020604051602081039080840390855afa158015614190573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036141de576000600192509250506141e7565b80600092509250505b94509492505050565b60006141fb82611c8f565b905061420b816000846001613b77565b61421482611c8f565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461433a816000846001613c9d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060600060016143708461464c565b01905060008167ffffffffffffffff81111561438f5761438e614cdc565b5b6040519080825280601f01601f1916602001820160405280156143c15781602001600182028036833780820191505090505b509050600082602001820190505b600115614424578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581614418576144176156eb565b5b049450600085036143cf575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361449e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161449590616d62565b60405180910390fd5b6144a781613a87565b156144e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016144de90616dce565b60405180910390fd5b6144f5600083836001613b77565b6144fe81613a87565b1561453e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161453590616dce565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4614648600083836001613c9d565b5050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106146aa577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816146a05761469f6156eb565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106146e7576d04ee2d6d415b85acef810000000083816146dd576146dc6156eb565b5b0492506020810190505b662386f26fc10000831061471657662386f26fc10000838161470c5761470b6156eb565b5b0492506010810190505b6305f5e100831061473f576305f5e1008381614735576147346156eb565b5b0492506008810190505b612710831061476457612710838161475a576147596156eb565b5b0492506004810190505b60648310614787576064838161477d5761477c6156eb565b5b0492506002810190505b600a8310614796576001810190505b80915050919050565b5080546147ab906154cd565b6000825580601f106147bd57506147dc565b601f0160209004906000526020600020908101906147db91906147df565b5b50565b5b808211156147f85760008160009055506001016147e0565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61484581614810565b811461485057600080fd5b50565b6000813590506148628161483c565b92915050565b60006020828403121561487e5761487d614806565b5b600061488c84828501614853565b91505092915050565b60008115159050919050565b6148aa81614895565b82525050565b60006020820190506148c560008301846148a1565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006148f6826148cb565b9050919050565b614906816148eb565b811461491157600080fd5b50565b600081359050614923816148fd565b92915050565b60006020828403121561493f5761493e614806565b5b600061494d84828501614914565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060ff82169050919050565b61499881614982565b82525050565b60006149aa838361498f565b60208301905092915050565b6000602082019050919050565b60006149ce82614956565b6149d88185614961565b93506149e383614972565b8060005b83811015614a145781516149fb888261499e565b9750614a06836149b6565b9250506001810190506149e7565b5085935050505092915050565b60006040820190508181036000830152614a3b81856149c3565b90508181036020830152614a4f81846149c3565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614a92578082015181840152602081019050614a77565b60008484015250505050565b6000601f19601f8301169050919050565b6000614aba82614a58565b614ac48185614a63565b9350614ad4818560208601614a74565b614add81614a9e565b840191505092915050565b60006020820190508181036000830152614b028184614aaf565b905092915050565b6000819050919050565b614b1d81614b0a565b8114614b2857600080fd5b50565b600081359050614b3a81614b14565b92915050565b600060208284031215614b5657614b55614806565b5b6000614b6484828501614b2b565b91505092915050565b614b76816148eb565b82525050565b6000602082019050614b916000830184614b6d565b92915050565b60008060408385031215614bae57614bad614806565b5b6000614bbc85828601614914565b9250506020614bcd85828601614b2b565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112614bfc57614bfb614bd7565b5b8235905067ffffffffffffffff811115614c1957614c18614bdc565b5b602083019150836020820283011115614c3557614c34614be1565b5b9250929050565b60008060208385031215614c5357614c52614806565b5b600083013567ffffffffffffffff811115614c7157614c7061480b565b5b614c7d85828601614be6565b92509250509250929050565b600080600060608486031215614ca257614ca1614806565b5b6000614cb086828701614914565b9350506020614cc186828701614914565b9250506040614cd286828701614b2b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614d1482614a9e565b810181811067ffffffffffffffff82111715614d3357614d32614cdc565b5b80604052505050565b6000614d466147fc565b9050614d528282614d0b565b919050565b600067ffffffffffffffff821115614d7257614d71614cdc565b5b602082029050602081019050919050565b614d8c81614982565b8114614d9757600080fd5b50565b600081359050614da981614d83565b92915050565b6000614dc2614dbd84614d57565b614d3c565b90508083825260208201905060208402830185811115614de557614de4614be1565b5b835b81811015614e0e5780614dfa8882614d9a565b845260208401935050602081019050614de7565b5050509392505050565b600082601f830112614e2d57614e2c614bd7565b5b8135614e3d848260208601614daf565b91505092915050565b60008083601f840112614e5c57614e5b614bd7565b5b8235905067ffffffffffffffff811115614e7957614e78614bdc565b5b602083019150836001820283011115614e9557614e94614be1565b5b9250929050565b60008060008060608587031215614eb657614eb5614806565b5b6000614ec487828801614b2b565b945050602085013567ffffffffffffffff811115614ee557614ee461480b565b5b614ef187828801614e18565b935050604085013567ffffffffffffffff811115614f1257614f1161480b565b5b614f1e87828801614e46565b925092505092959194509250565b60008060408385031215614f4357614f42614806565b5b6000614f5185828601614914565b9250506020614f6285828601614d9a565b9150509250929050565b614f7581614b0a565b82525050565b6000602082019050614f906000830184614f6c565b92915050565b614f9f81614982565b82525050565b6000602082019050614fba6000830184614f96565b92915050565b600060a082019050614fd56000830188614f6c565b614fe26020830187614f6c565b614fef60408301866148a1565b614ffc6060830185614f96565b6150096080830184614f6c565b9695505050505050565b6000819050919050565b600061503861503361502e846148cb565b615013565b6148cb565b9050919050565b600061504a8261501d565b9050919050565b600061505c8261503f565b9050919050565b61506c81615051565b82525050565b60006020820190506150876000830184615063565b92915050565b600080fd5b600067ffffffffffffffff8211156150ad576150ac614cdc565b5b6150b682614a9e565b9050602081019050919050565b82818337600083830152505050565b60006150e56150e084615092565b614d3c565b9050828152602081018484840111156151015761510061508d565b5b61510c8482856150c3565b509392505050565b600082601f83011261512957615128614bd7565b5b81356151398482602086016150d2565b91505092915050565b6000806040838503121561515957615158614806565b5b600083013567ffffffffffffffff8111156151775761517661480b565b5b61518385828601615114565b925050602083013567ffffffffffffffff8111156151a4576151a361480b565b5b6151b085828601615114565b9150509250929050565b6000806000604084860312156151d3576151d2614806565b5b60006151e186828701614914565b935050602084013567ffffffffffffffff8111156152025761520161480b565b5b61520e86828701614be6565b92509250509250925092565b61522381614895565b811461522e57600080fd5b50565b6000813590506152408161521a565b92915050565b6000806040838503121561525d5761525c614806565b5b600061526b85828601614914565b925050602061527c85828601615231565b9150509250929050565b600067ffffffffffffffff8211156152a1576152a0614cdc565b5b6152aa82614a9e565b9050602081019050919050565b60006152ca6152c584615286565b614d3c565b9050828152602081018484840111156152e6576152e561508d565b5b6152f18482856150c3565b509392505050565b600082601f83011261530e5761530d614bd7565b5b813561531e8482602086016152b7565b91505092915050565b6000806000806080858703121561534157615340614806565b5b600061534f87828801614914565b945050602061536087828801614914565b935050604061537187828801614b2b565b925050606085013567ffffffffffffffff8111156153925761539161480b565b5b61539e878288016152f9565b91505092959194509250565b6000602082840312156153c0576153bf614806565b5b60006153ce84828501614d9a565b91505092915050565b600080604083850312156153ee576153ed614806565b5b60006153fc85828601614914565b925050602061540d85828601614914565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061548082614982565b915060ff820361549357615492615446565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806154e557607f821691505b6020821081036154f8576154f761549e565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061555a602183614a63565b9150615565826154fe565b604082019050919050565b600060208201905081810360008301526155898161554d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006155ec603d83614a63565b91506155f782615590565b604082019050919050565b6000602082019050818103600083015261561b816155df565b9050919050565b7f4e6f207469656e657320616c62756d206465207175656d610000000000000000600082015250565b6000615658601883614a63565b915061566382615622565b602082019050919050565b600060208201905081810360008301526156878161564b565b9050919050565b600061569982614982565b9150600082036156ac576156ab615446565b5b600182039050919050565b60006156c282614b0a565b91506156cd83614b0a565b92508282019050808211156156e5576156e4615446565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061572582614b0a565b915061573083614b0a565b9250826157405761573f6156eb565b5b828206905092915050565b600061575682614b0a565b915061576183614b0a565b925082820390508181111561577957615778615446565b5b92915050565b60006040820190506157946000830185614b6d565b6157a16020830184614f6c565b9392505050565b6000815190506157b78161521a565b92915050565b6000602082840312156157d3576157d2614806565b5b60006157e1848285016157a8565b91505092915050565b6000819050919050565b600061580f61580a615805846157ea565b615013565b614982565b9050919050565b61581f816157f4565b82525050565b600060408201905061583a6000830185614b6d565b6158476020830184615816565b9392505050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006158aa602d83614a63565b91506158b58261584e565b604082019050919050565b600060208201905081810360008301526158d98161589d565b9050919050565b6000815190506158ef816148fd565b92915050565b60006020828403121561590b5761590a614806565b5b6000615919848285016158e0565b91505092915050565b7f4573746520736f627265206e6f206573207475796f0000000000000000000000600082015250565b6000615958601583614a63565b915061596382615922565b602082019050919050565b600060208201905081810360008301526159878161594b565b9050919050565b7f4c696d6974652064652063617274617320657863656469646f00000000000000600082015250565b60006159c4601983614a63565b91506159cf8261598e565b602082019050919050565b600060208201905081810360008301526159f3816159b7565b9050919050565b6000615a0582614b0a565b9150615a1083614b0a565b925082615a2057615a1f6156eb565b5b828204905092915050565b60008160601b9050919050565b6000615a4382615a2b565b9050919050565b6000615a5582615a38565b9050919050565b615a6d615a68826148eb565b615a4a565b82525050565b6000819050919050565b615a8e615a8982614b0a565b615a73565b82525050565b600081905092915050565b615aa881614982565b82525050565b6000615aba8383615a9f565b60208301905092915050565b6000615ad182614956565b615adb8185615a94565b9350615ae683614972565b8060005b83811015615b17578151615afe8882615aae565b9750615b09836149b6565b925050600181019050615aea565b5085935050505092915050565b6000615b308287615a5c565b601482019150615b408286615a7d565b602082019150615b508285615ac6565b9150615b5c8284615a5c565b60148201915081905095945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000615ba4601183614a63565b9150615baf82615b6e565b602082019050919050565b60006020820190508181036000830152615bd381615b97565b9050919050565b6000615be582614b0a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615c1757615c16615446565b5b600182019050919050565b6000606082019050615c376000830186614b6d565b8181036020830152615c4981856149c3565b9050615c586040830184614f6c565b949350505050565b7f4e6f207469656e65732065737461206361727461000000000000000000000000600082015250565b6000615c96601483614a63565b9150615ca182615c60565b602082019050919050565b60006020820190508181036000830152615cc581615c89565b9050919050565b7f5472616e73662070726f706961206e6f207065726d6974696461000000000000600082015250565b6000615d02601a83614a63565b9150615d0d82615ccc565b602082019050919050565b60006020820190508181036000830152615d3181615cf5565b9050919050565b7f5175656d61646f20646520636172746173206e6f207065726d697469646f0000600082015250565b6000615d6e601e83614a63565b9150615d7982615d38565b602082019050919050565b60006020820190508181036000830152615d9d81615d61565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000615dda601883614a63565b9150615de582615da4565b602082019050919050565b60006020820190508181036000830152615e0981615dcd565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000615e6c602983614a63565b9150615e7782615e10565b604082019050919050565b60006020820190508181036000830152615e9b81615e5f565b9050919050565b7f536f6c6f20636f6e747261746f206465207061636b7300000000000000000000600082015250565b6000615ed8601683614a63565b9150615ee382615ea2565b602082019050919050565b60006020820190508181036000830152615f0781615ecb565b9050919050565b7f4e6f207469656e6573206e696e67756e20616c62756d00000000000000000000600082015250565b6000615f44601683614a63565b9150615f4f82615f0e565b602082019050919050565b60006020820190508181036000830152615f7381615f37565b9050919050565b7f466f6e646f7320696e737566696369656e746573000000000000000000000000600082015250565b6000615fb0601483614a63565b9150615fbb82615f7a565b602082019050919050565b60006020820190508181036000830152615fdf81615fa3565b9050919050565b7f4d75737420636f6d706c6574652074686520616c62756d000000000000000000600082015250565b600061601c601783614a63565b915061602782615fe6565b602082019050919050565b6000602082019050818103600083015261604b8161600f565b9050919050565b6000819050919050565b600061607761607261606d84616052565b615013565b614982565b9050919050565b6160878161605c565b82525050565b60006040820190506160a26000830185614b6d565b6160af602083018461607e565b9392505050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026161187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826160db565b61612286836160db565b95508019841693508086168417925050509392505050565b600061615561615061614b84614b0a565b615013565b614b0a565b9050919050565b6000819050919050565b61616f8361613a565b61618361617b8261615c565b8484546160e8565b825550505050565b600090565b61619861618b565b6161a3818484616166565b505050565b5b818110156161c7576161bc600082616190565b6001810190506161a9565b5050565b601f82111561620c576161dd816160b6565b6161e6846160cb565b810160208510156161f5578190505b616209616201856160cb565b8301826161a8565b50505b505050565b600082821c905092915050565b600061622f60001984600802616211565b1980831691505092915050565b6000616248838361621e565b9150826002028217905092915050565b61626182614a58565b67ffffffffffffffff81111561627a57616279614cdc565b5b61628482546154cd565b61628f8282856161cb565b600060209050601f8311600181146162c257600084156162b0578287015190505b6162ba858261623c565b865550616322565b601f1984166162d0866160b6565b60005b828110156162f8578489015182556001820191506020850194506020810190506162d3565b868310156163155784890151616311601f89168261621e565b8355505b6001600288020188555050505b505050505050565b600060408201905081810360008301526163448185614aaf565b905081810360208301526163588184614aaf565b90509392505050565b7f4e6f2074652070756564657320656e766961722063617274617320612074692060008201527f6d69736d6f000000000000000000000000000000000000000000000000000000602082015250565b60006163bd602583614a63565b91506163c882616361565b604082019050919050565b600060208201905081810360008301526163ec816163b0565b9050919050565b7f4e6f20707565646573207175656d61722063617274617320646520657374612060008201527f6d616e6572610000000000000000000000000000000000000000000000000000602082015250565b600061644f602683614a63565b915061645a826163f3565b604082019050919050565b6000602082019050818103600083015261647e81616442565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546164b2816154cd565b6164bc8186616485565b945060018216600081146164d757600181146164ec5761651f565b60ff198316865281151582028601935061651f565b6164f585616490565b60005b83811015616517578154818901526001820191506020810190506164f8565b838801955050505b50505092915050565b600081519050919050565b600061653e82616528565b6165488185616485565b9350616558818560208601614a74565b80840191505092915050565b600061657082876164a5565b915061657c8286616533565b91506165888285616533565b91506165948284616533565b915081905095945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006165fe602683614a63565b9150616609826165a2565b604082019050919050565b6000602082019050818103600083015261662d816165f1565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000616690602583614a63565b915061669b82616634565b604082019050919050565b600060208201905081810360008301526166bf81616683565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000616722602483614a63565b915061672d826166c6565b604082019050919050565b6000602082019050818103600083015261675181616715565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000616799601c83616758565b91506167a482616763565b601c82019050919050565b6000819050919050565b6000819050919050565b6167d46167cf826167af565b6167b9565b82525050565b60006167e58261678c565b91506167f182846167c3565b60208201915081905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000616836602083614a63565b915061684182616800565b602082019050919050565b6000602082019050818103600083015261686581616829565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006168a2601983614a63565b91506168ad8261686c565b602082019050919050565b600060208201905081810360008301526168d181616895565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000616934603283614a63565b915061693f826168d8565b604082019050919050565b6000602082019050818103600083015261696381616927565b9050919050565b600061697582614a58565b61697f8185616758565b935061698f818560208601614a74565b80840191505092915050565b60006169a7828561696a565b91506169b3828461696a565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000616a1b602e83614a63565b9150616a26826169bf565b604082019050919050565b60006020820190508181036000830152616a4a81616a0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000616ab6601883614a63565b9150616ac182616a80565b602082019050919050565b60006020820190508181036000830152616ae581616aa9565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000616b22601f83614a63565b9150616b2d82616aec565b602082019050919050565b60006020820190508181036000830152616b5181616b15565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000616bb4602283614a63565b9150616bbf82616b58565b604082019050919050565b60006020820190508181036000830152616be381616ba7565b9050919050565b600082825260208201905092915050565b6000616c0682616528565b616c108185616bea565b9350616c20818560208601614a74565b616c2981614a9e565b840191505092915050565b6000608082019050616c496000830187614b6d565b616c566020830186614b6d565b616c636040830185614f6c565b8181036060830152616c758184616bfb565b905095945050505050565b600081519050616c8f8161483c565b92915050565b600060208284031215616cab57616caa614806565b5b6000616cb984828501616c80565b91505092915050565b616ccb816167af565b82525050565b6000608082019050616ce66000830187616cc2565b616cf36020830186614f96565b616d006040830185616cc2565b616d0d6060830184616cc2565b95945050505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000616d4c602083614a63565b9150616d5782616d16565b602082019050919050565b60006020820190508181036000830152616d7b81616d3f565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000616db8601c83614a63565b9150616dc382616d82565b602082019050919050565b60006020820190508181036000830152616de781616dab565b905091905056fea2646970667358221220a435ca4423cdb64bb372f0e0c2084241551008dbccd057870aaaeeccf41e60a764736f6c63430008120033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.dbg.json b/src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.dbg.json deleted file mode 100644 index 68bdcec2..00000000 --- a/src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/3fecf878d858f57289563b65f8b9e1f9.json" -} diff --git a/src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.json b/src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.json deleted file mode 100644 index 2ec4a7a9..00000000 --- a/src/context/abis/_old/GammaCardsV2.sol/IGammaPacks.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IGammaPacks", - "sourceName": "contracts/GammaCardsV2.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getPackOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "openPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/GammaPacks.sol/GammaPacks.dbg.json b/src/context/abis/_old/GammaPacks.sol/GammaPacks.dbg.json deleted file mode 100644 index fed7d2d8..00000000 --- a/src/context/abis/_old/GammaPacks.sol/GammaPacks.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/a78c390a74d62f24c31a296445ed397a.json" -} diff --git a/src/context/abis/_old/GammaPacks.sol/GammaPacks.json b/src/context/abis/_old/GammaPacks.sol/GammaPacks.json deleted file mode 100644 index 2d537f03..00000000 --- a/src/context/abis/_old/GammaPacks.sol/GammaPacks.json +++ /dev/null @@ -1,403 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "GammaPacks", - "sourceName": "contracts/GammaPacks.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_daiTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_balanceReceiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newCardsContract", - "type": "address" - } - ], - "name": "NewCardsContract", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "NewPrice", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "PackPurchase", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "PackTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenIds", - "type": "uint256[]" - } - ], - "name": "PacksPurchase", - "type": "event" - }, - { - "inputs": [], - "name": "DAI_TOKEN", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "balanceReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "buyPack", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "numberOfPacks", - "type": "uint256" - } - ], - "name": "buyPacks", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "cardsContract", - "outputs": [ - { - "internalType": "contract ICardsContract", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newPrice", - "type": "uint256" - } - ], - "name": "changePrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getPackOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "getPacksByUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "openPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "packPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "packs", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "packsByUser", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenIds", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_cardsContract", - "type": "address" - } - ], - "name": "setCardsContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a06040526000196080908152506710a741a4627800006004553480156200002657600080fd5b50604051620022523803806200225283398181016040528101906200004c91906200022c565b6200006c62000060620000f660201b60201c565b620000fe60201b60201c565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000273565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001f482620001c7565b9050919050565b6200020681620001e7565b81146200021257600080fd5b50565b6000815190506200022681620001fb565b92915050565b60008060408385031215620002465762000245620001c2565b5b6000620002568582860162000215565b9250506020620002698582860162000215565b9150509250929050565b608051611fc66200028c60003960005050611fc66000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c80638fd5baf7116100a2578063c37b9bcd11610071578063c37b9bcd146102ce578063d3e6a7ad146102ec578063d611713e1461031c578063e606df8714610338578063f2fde38b1461035657610115565b80638fd5baf714610222578063a2b40d1914610252578063b84c13921461026e578063bd7133801461029e57610115565b8063627b253f116100e9578063627b253f146101905780636374cb8b146101ae5780636adbaf75146101ca578063715018a6146101fa5780638da5cb5b1461020457610115565b806279ee211461011a57806318160ddd14610138578063335c8b631461015657806350a88c7e14610174575b600080fd5b610122610372565b60405161012f9190611734565b60405180910390f35b610140610398565b60405161014d9190611768565b60405180910390f35b61015e61039e565b60405161016b9190611768565b60405180910390f35b61018e600480360381019061018991906117b4565b6103a4565b005b610198610476565b6040516101a59190611802565b60405180910390f35b6101c860048036038101906101c39190611849565b61049c565b005b6101e460048036038101906101df91906117b4565b61051f565b6040516101f19190611934565b60405180910390f35b6102026109f0565b005b61020c610a04565b6040516102199190611802565b60405180910390f35b61023c60048036038101906102379190611849565b610a2d565b6040516102499190611934565b60405180910390f35b61026c600480360381019061026791906117b4565b610ac4565b005b610288600480360381019061028391906117b4565b610b9a565b6040516102959190611802565b60405180910390f35b6102b860048036038101906102b39190611956565b610bcd565b6040516102c59190611768565b60405180910390f35b6102d6610bfe565b6040516102e39190611768565b60405180910390f35b610306600480360381019061030191906117b4565b611029565b6040516103139190611802565b60405180910390f35b61033660048036038101906103319190611956565b611066565b005b610340611276565b60405161034d9190611802565b60405180910390f35b610370600480360381019061036b9190611849565b61129c565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61c35081565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042b906119f3565b60405180910390fd5b61043d8161131f565b6006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104a4611547565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f03fb71c656441080e12a35ef543bf2141601e59906bf22cf1952f28da56f45e1816040516105149190611802565b60405180910390a150565b6060600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990611a5f565b60405180910390fd5b60008260066004546105c49190611add565b6004546105d19190611b0e565b6105db9190611b42565b905060008367ffffffffffffffff8111156105f9576105f8611b84565b5b6040519080825280602002602001820160405280156106275781602001602082028036833780820191505090505b50905060005b8481101561077d57600061064160016115c5565b905061c3508110610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e90611bff565b60405180910390fd5b61069160016115d3565b336006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150558083838151811061075d5761075c611c1f565b5b60200260200101818152505050808061077590611c4e565b91505061062d565b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ba526fc836040518263ffffffff1660e01b81526004016107d99190611768565b600060405180830381600087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040161088c93929190611c96565b6020604051808303816000875af11580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190611d05565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685886004546109419190611b42565b61094b9190611b0e565b6040518463ffffffff1660e01b815260040161096993929190611c96565b6020604051808303816000875af1158015610988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ac9190611d05565b507fccced7f637f56c0164dc795f58e00b6eab6aed650e35721023dc6dd2b8f6746d33826040516109de929190611d32565b60405180910390a18092505050919050565b6109f8611547565b610a0260006115e9565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610ab857602002820191906000526020600020905b815481526020019060010190808311610aa4575b50505050509050919050565b610acc611547565b80600481905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1883c6e826040518263ffffffff1660e01b8152600401610b2e9190611768565b600060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b505050507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b781604051610b8f9190611768565b60405180910390a150565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528160005260406000208181548110610be957600080fd5b90600052602060002001600091509150505481565b60008073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790611a5f565b60405180910390fd5b6000610c9c60016115c5565b905061c3508110610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990611bff565b60405180910390fd5b610cec60016115d3565b336006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081908060018154018082558091505060019003906000526020600020016000909190919091505560006006600454610db59190611add565b600454610dc29190611b0e565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ba526fc826040518263ffffffff1660e01b8152600401610e1f9190611768565b600060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610ed293929190611c96565b6020604051808303816000875af1158015610ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f159190611d05565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600454610f869190611b0e565b6040518463ffffffff1660e01b8152600401610fa493929190611c96565b6020604051808303816000875af1158015610fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe79190611d05565b507f4bec02a302b11f990fe586d595753fd0163e88c0f3fff0cdcc10e831ac620e9a3383604051611019929190611d62565b60405180910390a1819250505090565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b3373ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fe90611dd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90611e43565b60405180910390fd5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111d18161131f565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150557fddb6f61cc68e099150dacab8be873f19cc91f6ceb7d8237794124ede38722aaf33838360405161126a93929190611c96565b60405180910390a15050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112a4611547565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a90611ed5565b60405180910390fd5b61131c816115e9565b50565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000818110156115425782600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106113c2576113c1611c1f565b5b90600052602060002001540361154157600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506114609190611b0e565b8154811061147157611470611c1f565b5b9060005260206000200154600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106114cd576114cc611c1f565b5b9060005260206000200181905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548061152a57611529611ef5565b5b600190038181906000526020600020016000905590555b5b505050565b61154f6116ad565b73ffffffffffffffffffffffffffffffffffffffff1661156d610a04565b73ffffffffffffffffffffffffffffffffffffffff16146115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba90611f70565b60405180910390fd5b565b600081600001549050919050565b6001816000016000828254019250508190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006116fa6116f56116f0846116b5565b6116d5565b6116b5565b9050919050565b600061170c826116df565b9050919050565b600061171e82611701565b9050919050565b61172e81611713565b82525050565b60006020820190506117496000830184611725565b92915050565b6000819050919050565b6117628161174f565b82525050565b600060208201905061177d6000830184611759565b92915050565b600080fd5b6117918161174f565b811461179c57600080fd5b50565b6000813590506117ae81611788565b92915050565b6000602082840312156117ca576117c9611783565b5b60006117d88482850161179f565b91505092915050565b60006117ec826116b5565b9050919050565b6117fc816117e1565b82525050565b600060208201905061181760008301846117f3565b92915050565b611826816117e1565b811461183157600080fd5b50565b6000813590506118438161181d565b92915050565b60006020828403121561185f5761185e611783565b5b600061186d84828501611834565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118ab8161174f565b82525050565b60006118bd83836118a2565b60208301905092915050565b6000602082019050919050565b60006118e182611876565b6118eb8185611881565b93506118f683611892565b8060005b8381101561192757815161190e88826118b1565b9750611919836118c9565b9250506001810190506118fa565b5085935050505092915050565b6000602082019050818103600083015261194e81846118d6565b905092915050565b6000806040838503121561196d5761196c611783565b5b600061197b85828601611834565b925050602061198c8582860161179f565b9150509250929050565b600082825260208201905092915050565b7f4e6f20657320636f6e747261746f206465206361727461730000000000000000600082015250565b60006119dd601883611996565b91506119e8826119a7565b602082019050919050565b60006020820190508181036000830152611a0c816119d0565b9050919050565b7f436f6e747261746f20646520636172746173206e6f207365746561646f000000600082015250565b6000611a49601d83611996565b9150611a5482611a13565b602082019050919050565b60006020820190508181036000830152611a7881611a3c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ae88261174f565b9150611af38361174f565b925082611b0357611b02611a7f565b5b828204905092915050565b6000611b198261174f565b9150611b248361174f565b9250828203905081811115611b3c57611b3b611aae565b5b92915050565b6000611b4d8261174f565b9150611b588361174f565b9250828202611b668161174f565b91508282048414831517611b7d57611b7c611aae565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f5365206163616261726f6e206c6f7320736f6272657300000000000000000000600082015250565b6000611be9601683611996565b9150611bf482611bb3565b602082019050919050565b60006020820190508181036000830152611c1881611bdc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611c598261174f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c8b57611c8a611aae565b5b600182019050919050565b6000606082019050611cab60008301866117f3565b611cb860208301856117f3565b611cc56040830184611759565b949350505050565b60008115159050919050565b611ce281611ccd565b8114611ced57600080fd5b50565b600081519050611cff81611cd9565b92915050565b600060208284031215611d1b57611d1a611783565b5b6000611d2984828501611cf0565b91505092915050565b6000604082019050611d4760008301856117f3565b8181036020830152611d5981846118d6565b90509392505050565b6000604082019050611d7760008301856117f3565b611d846020830184611759565b9392505050565b7f457374652070617175657465206e6f206573207475796f000000000000000000600082015250565b6000611dc1601783611996565b9150611dcc82611d8b565b602082019050919050565b60006020820190508181036000830152611df081611db4565b9050919050565b7f5175656d6172206e6f207065726d697469646f00000000000000000000000000600082015250565b6000611e2d601383611996565b9150611e3882611df7565b602082019050919050565b60006020820190508181036000830152611e5c81611e20565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ebf602683611996565b9150611eca82611e63565b604082019050919050565b60006020820190508181036000830152611eee81611eb2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f5a602083611996565b9150611f6582611f24565b602082019050919050565b60006020820190508181036000830152611f8981611f4d565b905091905056fea26469706673582212202debacca29a251ced0e5cd3bd63e103dff251909124cba07eb084a47aac0190964736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101155760003560e01c80638fd5baf7116100a2578063c37b9bcd11610071578063c37b9bcd146102ce578063d3e6a7ad146102ec578063d611713e1461031c578063e606df8714610338578063f2fde38b1461035657610115565b80638fd5baf714610222578063a2b40d1914610252578063b84c13921461026e578063bd7133801461029e57610115565b8063627b253f116100e9578063627b253f146101905780636374cb8b146101ae5780636adbaf75146101ca578063715018a6146101fa5780638da5cb5b1461020457610115565b806279ee211461011a57806318160ddd14610138578063335c8b631461015657806350a88c7e14610174575b600080fd5b610122610372565b60405161012f9190611734565b60405180910390f35b610140610398565b60405161014d9190611768565b60405180910390f35b61015e61039e565b60405161016b9190611768565b60405180910390f35b61018e600480360381019061018991906117b4565b6103a4565b005b610198610476565b6040516101a59190611802565b60405180910390f35b6101c860048036038101906101c39190611849565b61049c565b005b6101e460048036038101906101df91906117b4565b61051f565b6040516101f19190611934565b60405180910390f35b6102026109f0565b005b61020c610a04565b6040516102199190611802565b60405180910390f35b61023c60048036038101906102379190611849565b610a2d565b6040516102499190611934565b60405180910390f35b61026c600480360381019061026791906117b4565b610ac4565b005b610288600480360381019061028391906117b4565b610b9a565b6040516102959190611802565b60405180910390f35b6102b860048036038101906102b39190611956565b610bcd565b6040516102c59190611768565b60405180910390f35b6102d6610bfe565b6040516102e39190611768565b60405180910390f35b610306600480360381019061030191906117b4565b611029565b6040516103139190611802565b60405180910390f35b61033660048036038101906103319190611956565b611066565b005b610340611276565b60405161034d9190611802565b60405180910390f35b610370600480360381019061036b9190611849565b61129c565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61c35081565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042b906119f3565b60405180910390fd5b61043d8161131f565b6006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104a4611547565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f03fb71c656441080e12a35ef543bf2141601e59906bf22cf1952f28da56f45e1816040516105149190611802565b60405180910390a150565b6060600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990611a5f565b60405180910390fd5b60008260066004546105c49190611add565b6004546105d19190611b0e565b6105db9190611b42565b905060008367ffffffffffffffff8111156105f9576105f8611b84565b5b6040519080825280602002602001820160405280156106275781602001602082028036833780820191505090505b50905060005b8481101561077d57600061064160016115c5565b905061c3508110610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e90611bff565b60405180910390fd5b61069160016115d3565b336006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150558083838151811061075d5761075c611c1f565b5b60200260200101818152505050808061077590611c4e565b91505061062d565b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ba526fc836040518263ffffffff1660e01b81526004016107d99190611768565b600060405180830381600087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040161088c93929190611c96565b6020604051808303816000875af11580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190611d05565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685886004546109419190611b42565b61094b9190611b0e565b6040518463ffffffff1660e01b815260040161096993929190611c96565b6020604051808303816000875af1158015610988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ac9190611d05565b507fccced7f637f56c0164dc795f58e00b6eab6aed650e35721023dc6dd2b8f6746d33826040516109de929190611d32565b60405180910390a18092505050919050565b6109f8611547565b610a0260006115e9565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610ab857602002820191906000526020600020905b815481526020019060010190808311610aa4575b50505050509050919050565b610acc611547565b80600481905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1883c6e826040518263ffffffff1660e01b8152600401610b2e9190611768565b600060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b505050507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b781604051610b8f9190611768565b60405180910390a150565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528160005260406000208181548110610be957600080fd5b90600052602060002001600091509150505481565b60008073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790611a5f565b60405180910390fd5b6000610c9c60016115c5565b905061c3508110610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990611bff565b60405180910390fd5b610cec60016115d3565b336006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081908060018154018082558091505060019003906000526020600020016000909190919091505560006006600454610db59190611add565b600454610dc29190611b0e565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ba526fc826040518263ffffffff1660e01b8152600401610e1f9190611768565b600060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610ed293929190611c96565b6020604051808303816000875af1158015610ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f159190611d05565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600454610f869190611b0e565b6040518463ffffffff1660e01b8152600401610fa493929190611c96565b6020604051808303816000875af1158015610fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe79190611d05565b507f4bec02a302b11f990fe586d595753fd0163e88c0f3fff0cdcc10e831ac620e9a3383604051611019929190611d62565b60405180910390a1819250505090565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b3373ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fe90611dd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90611e43565b60405180910390fd5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111d18161131f565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150557fddb6f61cc68e099150dacab8be873f19cc91f6ceb7d8237794124ede38722aaf33838360405161126a93929190611c96565b60405180910390a15050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112a4611547565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a90611ed5565b60405180910390fd5b61131c816115e9565b50565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000818110156115425782600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106113c2576113c1611c1f565b5b90600052602060002001540361154157600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506114609190611b0e565b8154811061147157611470611c1f565b5b9060005260206000200154600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106114cd576114cc611c1f565b5b9060005260206000200181905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548061152a57611529611ef5565b5b600190038181906000526020600020016000905590555b5b505050565b61154f6116ad565b73ffffffffffffffffffffffffffffffffffffffff1661156d610a04565b73ffffffffffffffffffffffffffffffffffffffff16146115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba90611f70565b60405180910390fd5b565b600081600001549050919050565b6001816000016000828254019250508190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006116fa6116f56116f0846116b5565b6116d5565b6116b5565b9050919050565b600061170c826116df565b9050919050565b600061171e82611701565b9050919050565b61172e81611713565b82525050565b60006020820190506117496000830184611725565b92915050565b6000819050919050565b6117628161174f565b82525050565b600060208201905061177d6000830184611759565b92915050565b600080fd5b6117918161174f565b811461179c57600080fd5b50565b6000813590506117ae81611788565b92915050565b6000602082840312156117ca576117c9611783565b5b60006117d88482850161179f565b91505092915050565b60006117ec826116b5565b9050919050565b6117fc816117e1565b82525050565b600060208201905061181760008301846117f3565b92915050565b611826816117e1565b811461183157600080fd5b50565b6000813590506118438161181d565b92915050565b60006020828403121561185f5761185e611783565b5b600061186d84828501611834565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118ab8161174f565b82525050565b60006118bd83836118a2565b60208301905092915050565b6000602082019050919050565b60006118e182611876565b6118eb8185611881565b93506118f683611892565b8060005b8381101561192757815161190e88826118b1565b9750611919836118c9565b9250506001810190506118fa565b5085935050505092915050565b6000602082019050818103600083015261194e81846118d6565b905092915050565b6000806040838503121561196d5761196c611783565b5b600061197b85828601611834565b925050602061198c8582860161179f565b9150509250929050565b600082825260208201905092915050565b7f4e6f20657320636f6e747261746f206465206361727461730000000000000000600082015250565b60006119dd601883611996565b91506119e8826119a7565b602082019050919050565b60006020820190508181036000830152611a0c816119d0565b9050919050565b7f436f6e747261746f20646520636172746173206e6f207365746561646f000000600082015250565b6000611a49601d83611996565b9150611a5482611a13565b602082019050919050565b60006020820190508181036000830152611a7881611a3c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ae88261174f565b9150611af38361174f565b925082611b0357611b02611a7f565b5b828204905092915050565b6000611b198261174f565b9150611b248361174f565b9250828203905081811115611b3c57611b3b611aae565b5b92915050565b6000611b4d8261174f565b9150611b588361174f565b9250828202611b668161174f565b91508282048414831517611b7d57611b7c611aae565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f5365206163616261726f6e206c6f7320736f6272657300000000000000000000600082015250565b6000611be9601683611996565b9150611bf482611bb3565b602082019050919050565b60006020820190508181036000830152611c1881611bdc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611c598261174f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c8b57611c8a611aae565b5b600182019050919050565b6000606082019050611cab60008301866117f3565b611cb860208301856117f3565b611cc56040830184611759565b949350505050565b60008115159050919050565b611ce281611ccd565b8114611ced57600080fd5b50565b600081519050611cff81611cd9565b92915050565b600060208284031215611d1b57611d1a611783565b5b6000611d2984828501611cf0565b91505092915050565b6000604082019050611d4760008301856117f3565b8181036020830152611d5981846118d6565b90509392505050565b6000604082019050611d7760008301856117f3565b611d846020830184611759565b9392505050565b7f457374652070617175657465206e6f206573207475796f000000000000000000600082015250565b6000611dc1601783611996565b9150611dcc82611d8b565b602082019050919050565b60006020820190508181036000830152611df081611db4565b9050919050565b7f5175656d6172206e6f207065726d697469646f00000000000000000000000000600082015250565b6000611e2d601383611996565b9150611e3882611df7565b602082019050919050565b60006020820190508181036000830152611e5c81611e20565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ebf602683611996565b9150611eca82611e63565b604082019050919050565b60006020820190508181036000830152611eee81611eb2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f5a602083611996565b9150611f6582611f24565b602082019050919050565b60006020820190508181036000830152611f8981611f4d565b905091905056fea26469706673582212202debacca29a251ced0e5cd3bd63e103dff251909124cba07eb084a47aac0190964736f6c63430008120033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/GammaPacks.sol/ICardsContract.dbg.json b/src/context/abis/_old/GammaPacks.sol/ICardsContract.dbg.json deleted file mode 100644 index fed7d2d8..00000000 --- a/src/context/abis/_old/GammaPacks.sol/ICardsContract.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/a78c390a74d62f24c31a296445ed397a.json" -} diff --git a/src/context/abis/_old/GammaPacks.sol/ICardsContract.json b/src/context/abis/_old/GammaPacks.sol/ICardsContract.json deleted file mode 100644 index aca340a2..00000000 --- a/src/context/abis/_old/GammaPacks.sol/ICardsContract.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ICardsContract", - "sourceName": "contracts/GammaPacks.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "changePackPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "receivePrizesBalance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/NOF-SC.sol/NOF_Alpha.dbg.json b/src/context/abis/_old/NOF-SC.sol/NOF_Alpha.dbg.json deleted file mode 100644 index bdbea7ed..00000000 --- a/src/context/abis/_old/NOF-SC.sol/NOF_Alpha.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/d8335d68ccd3ee04b6567eadbc52d129.json" -} diff --git a/src/context/abis/_old/NOF-SC.sol/NOF_Alpha.json b/src/context/abis/_old/NOF-SC.sol/NOF_Alpha.json deleted file mode 100644 index 431ac091..00000000 --- a/src/context/abis/_old/NOF-SC.sol/NOF_Alpha.json +++ /dev/null @@ -1,891 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "NOF_Alpha", - "sourceName": "contracts/NOF-SC.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "__baseUri", - "type": "string" - }, - { - "internalType": "address", - "name": "_daiTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_balanceReceiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "seasonName", - "type": "string" - } - ], - "name": "BuyPack", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "winner", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "season", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "position", - "type": "uint256" - } - ], - "name": "Winner", - "type": "event" - }, - { - "inputs": [], - "name": "DAI_TOKEN", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "balanceReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseUri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "buyPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "cards", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "class", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collection", - "type": "uint256" - }, - { - "internalType": "string", - "name": "season", - "type": "string" - }, - { - "internalType": "uint256", - "name": "completion", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "number", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "cardsByUserBySeason", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "class", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collection", - "type": "uint256" - }, - { - "internalType": "string", - "name": "season", - "type": "string" - }, - { - "internalType": "uint256", - "name": "completion", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "number", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "string", - "name": "_seasonName", - "type": "string" - } - ], - "name": "getCardsByUserBySeason", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "class", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collection", - "type": "uint256" - }, - { - "internalType": "string", - "name": "season", - "type": "string" - }, - { - "internalType": "uint256", - "name": "completion", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "number", - "type": "uint256" - } - ], - "internalType": "struct NOF_Alpha.Card[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "getSeasonAlbums", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "getSeasonCards", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSeasonData", - "outputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_seasonName", - "type": "string" - } - ], - "name": "getWinners", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "string", - "name": "folder", - "type": "string" - } - ], - "name": "newSeason", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "card", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "album", - "type": "uint256" - } - ], - "name": "pasteCards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "prizesBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "seasonNames", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "seasonPrices", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "seasons", - "outputs": [ - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "string", - "name": "folder", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newBalanceReceiver", - "type": "address" - } - ], - "name": "setBalanceReceiver", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "__baseURI", - "type": "string" - } - ], - "name": "setBaseURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526040518060e00160405280601460ff168152602001600e60ff168152602001600c60ff168152602001600a60ff168152602001600860ff168152602001600660ff168152602001600560ff16815250600f906007620000659291906200037c565b503480156200007357600080fd5b5060405162007ced38038062007ced833981810160405281019062000099919062000634565b6040518060400160405280600981526020017f4e4f4620416c70686100000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4e4f4641000000000000000000000000000000000000000000000000000000008152508160009081620001169190620008fa565b508060019081620001289190620008fa565b5050506200014b6200013f620001e860201b60201c565b6200020460201b60201c565b82600990816200015c9190620008fa565b5081601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620009e1565b6000620001ff620002ca60201b62002cfb1760201c565b905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036200037557600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff81830151169250505062000379565b3390505b90565b826007601f016020900481019282156200040a5791602002820160005b83821115620003d957835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000399565b8015620004085782816101000a81549060ff0219169055600101602081600001049283019260010302620003d9565b505b5090506200041991906200041d565b5090565b5b80821115620004385760008160009055506001016200041e565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004a5826200045a565b810181811067ffffffffffffffff82111715620004c757620004c66200046b565b5b80604052505050565b6000620004dc6200043c565b9050620004ea82826200049a565b919050565b600067ffffffffffffffff8211156200050d576200050c6200046b565b5b62000518826200045a565b9050602081019050919050565b60005b838110156200054557808201518184015260208101905062000528565b60008484015250505050565b6000620005686200056284620004ef565b620004d0565b90508281526020810184848401111562000587576200058662000455565b5b6200059484828562000525565b509392505050565b600082601f830112620005b457620005b362000450565b5b8151620005c684826020860162000551565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005fc82620005cf565b9050919050565b6200060e81620005ef565b81146200061a57600080fd5b50565b6000815190506200062e8162000603565b92915050565b60008060006060848603121562000650576200064f62000446565b5b600084015167ffffffffffffffff8111156200067157620006706200044b565b5b6200067f868287016200059c565b935050602062000692868287016200061d565b9250506040620006a5868287016200061d565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200070257607f821691505b602082108103620007185762000717620006ba565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000743565b6200078e868362000743565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620007db620007d5620007cf84620007a6565b620007b0565b620007a6565b9050919050565b6000819050919050565b620007f783620007ba565b6200080f6200080682620007e2565b84845462000750565b825550505050565b600090565b6200082662000817565b62000833818484620007ec565b505050565b5b818110156200085b576200084f6000826200081c565b60018101905062000839565b5050565b601f821115620008aa5762000874816200071e565b6200087f8462000733565b810160208510156200088f578190505b620008a76200089e8562000733565b83018262000838565b50505b505050565b600082821c905092915050565b6000620008cf60001984600802620008af565b1980831691505092915050565b6000620008ea8383620008bc565b9150826002028217905092915050565b6200090582620006af565b67ffffffffffffffff8111156200092157620009206200046b565b5b6200092d8254620006e9565b6200093a8282856200085f565b600060209050601f8311600181146200097257600084156200095d578287015190505b620009698582620008dc565b865550620009d9565b601f19841662000982866200071e565b60005b82811015620009ac5784890151825560018201915060208501945060208101905062000985565b86831015620009cc5784890151620009c8601f891682620008bc565b8355505b6001600288020188555050505b505050505050565b6172fc80620009f16000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80638477919b11610125578063be20e5a9116100ad578063e5db587a1161007c578063e5db587a14610668578063e606df8714610686578063e985e9c5146106a4578063e9d43f7d146106d4578063f2fde38b1461070457610211565b8063be20e5a9146105bc578063c1f3a3bb146105ec578063c87b56dd14610608578063d1811d021461063857610211565b806395d89b41116100f457806395d89b41146105295780639abc832014610547578063a22cb46514610565578063b773d5c114610581578063b88d4fde146105a057610211565b80638477919b1461048a5780638da5cb5b146104a65780638dc10768146104c457806395a4c525146104f957610211565b806342842e0e116101a85780636352211e116101775780636352211e146103bf57806370a08231146103ef578063715018a61461041f578063787f0b051461042957806383c73d811461045a57610211565b806342842e0e1461033957806355f804b31461035557806361c66c1614610371578063627b253f146103a157610211565b8063095ea7b3116101e4578063095ea7b3146102b057806323b872dd146102cc578063308f5987146102e857806341c2c10f1461031d57610211565b8063015db3961461021657806301ffc9a71461023257806306fdde0314610262578063081812fc14610280575b600080fd5b610230600480360381019061022b9190614d8b565b610720565b005b61024c60048036038101906102479190614e3f565b610f8b565b6040516102599190614e87565b60405180910390f35b61026a610f9d565b6040516102779190614f21565b60405180910390f35b61029a60048036038101906102959190614f43565b61102f565b6040516102a79190614fb1565b60405180910390f35b6102ca60048036038101906102c59190614ff8565b611075565b005b6102e660048036038101906102e19190615038565b61118c565b005b61030260048036038101906102fd919061508b565b61119c565b60405161031496959493929190615109565b60405180910390f35b61033760048036038101906103329190615171565b6112a0565b005b610353600480360381019061034e9190615038565b611d61565b005b61036f600480360381019061036a91906151b1565b611d81565b005b61038b60048036038101906103869190614f43565b611d9c565b6040516103989190614f21565b60405180910390f35b6103a9611e48565b6040516103b69190614fb1565b60405180910390f35b6103d960048036038101906103d49190614f43565b611e6e565b6040516103e69190614fb1565b60405180910390f35b610409600480360381019061040491906151fa565b611ef4565b6040516104169190615227565b60405180910390f35b610427611fab565b005b610443600480360381019061043e91906151b1565b611fbf565b604051610451929190615242565b60405180910390f35b610474600480360381019061046f91906151b1565b612081565b6040516104819190615330565b60405180910390f35b6104a4600480360381019061049f9190615352565b6120fa565b005b6104ae61231f565b6040516104bb9190614fb1565b60405180910390f35b6104de60048036038101906104d99190614f43565b612349565b6040516104f096959493929190615109565b60405180910390f35b610513600480360381019061050e9190615451565b61240d565b604051610520919061555c565b60405180910390f35b6105316124bc565b60405161053e9190614f21565b60405180910390f35b61054f61254e565b60405161055c9190614f21565b60405180910390f35b61057f600480360381019061057a91906155aa565b6125dc565b005b6105896125f2565b6040516105979291906156f6565b60405180910390f35b6105ba60048036038101906105b591906157ce565b612726565b005b6105d660048036038101906105d191906151b1565b61296a565b6040516105e39190615330565b60405180910390f35b610606600480360381019061060191906151fa565b6129e3565b005b610622600480360381019061061d9190614f43565b612a2f565b60405161062f9190614f21565b60405180910390f35b610652600480360381019061064d9190614f43565b612a41565b60405161065f9190615227565b60405180910390f35b610670612a65565b60405161067d9190615227565b60405180910390f35b61068e612a6b565b60405161069b9190614fb1565b60405180910390f35b6106be60048036038101906106b99190615851565b612a91565b6040516106cb9190614e87565b60405180910390f35b6106ee60048036038101906106e99190615891565b612af6565b6040516106fb9190615a3c565b60405180910390f35b61071e600480360381019061071991906151fa565b612c78565b005b600b816040516107309190615a9a565b908152602001604051809103902060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156107cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c390615afd565b60405180910390fd5b6001600b826040516107de9190615a9a565b908152602001604051809103902060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600b826040516108549190615a9a565b908152602001604051809103902060000154146108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d90615b69565b60405180910390fd5b60006064604b846108b79190615bb8565b6108c19190615c29565b905080601260008282546108d59190615c5a565b92505081905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161093b93929190615c8e565b6020604051808303816000875af115801561095a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097e9190615cda565b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684876109ed9190615d07565b6040518463ffffffff1660e01b8152600401610a0b93929190615c8e565b6020604051808303816000875af1158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e9190615cda565b506000600b83604051610a619190615a9a565b90815260200160405180910390206002018054905042604051602001610a879190615d5c565b6040516020818303038152906040528051906020012060001c610aaa9190615d77565b90506000600b84604051610abe9190615a9a565b90815260200160405180910390206002018281548110610ae157610ae0615da8565b5b90600052602060002001549050600b84604051610afe9190615a9a565b90815260200160405180910390206002016001600b86604051610b219190615a9a565b908152602001604051809103902060020180549050610b409190615d07565b81548110610b5157610b50615da8565b5b9060005260206000200154600b85604051610b6c9190615a9a565b90815260200160405180910390206002018381548110610b8f57610b8e615da8565b5b9060005260206000200181905550600b84604051610bad9190615a9a565b9081526020016040518091039020600201805480610bce57610bcd615dd7565b5b60019003818190600052602060002001600090559055610cc233600b86604051610bf89190615a9a565b90815260200160405180910390206004016040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250610c4885612dab565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001610c919493929190615f45565b60405160208183030381529060405260006001600686610cb19190615c29565b610cbb9190615d07565b8886612f0b565b505060005b6005811015610f4c576000600b84604051610ce29190615a9a565b90815260200160405180910390206001018054905042604051602001610d089190615d5c565b6040516020818303038152906040528051906020012060001c610d2b9190615d77565b90506000600b85604051610d3f9190615a9a565b90815260200160405180910390206001018281548110610d6257610d61615da8565b5b90600052602060002001549050600b85604051610d7f9190615a9a565b90815260200160405180910390206001016001600b87604051610da29190615a9a565b908152602001604051809103902060010180549050610dc19190615d07565b81548110610dd257610dd1615da8565b5b9060005260206000200154600b86604051610ded9190615a9a565b90815260200160405180910390206001018381548110610e1057610e0f615da8565b5b9060005260206000200181905550600b85604051610e2e9190615a9a565b9081526020016040518091039020600101805480610e4f57610e4e615dd7565b5b60019003818190600052602060002001600090559055610f3733600b87604051610e799190615a9a565b90815260200160405180910390206004016040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250610ec985612dab565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001610f129493929190615f45565b6040516020818303038152906040526001600685610f309190615c29565b8986612f0b565b50508080610f4490615f83565b915050610cc7565b507f55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c3383604051610f7e929190615fcb565b60405180910390a1505050565b6000610f96826130b0565b9050919050565b606060008054610fac90615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd890615e35565b80156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b5050505050905090565b600061103a82613192565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061108082611e6e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e79061606d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661110f6131dd565b73ffffffffffffffffffffffffffffffffffffffff16148061113e575061113d816111386131dd565b612a91565b5b61117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906160ff565b60405180910390fd5b61118783836131ec565b505050565b611197838383611d61565b505050565b600e6020528260005260406000208280516020810182018051848252602083016020850120818352809550505050505081815481106111da57600080fd5b9060005260206000209060060201600092509250505080600001549080600101549080600201549080600301805461121190615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461123d90615e35565b801561128a5780601f1061125f5761010080835404028352916020019161128a565b820191906000526020600020905b81548152906001019060200180831161126d57829003601f168201915b5050505050908060040154908060050154905086565b3373ffffffffffffffffffffffffffffffffffffffff166112c083611e6e565b73ffffffffffffffffffffffffffffffffffffffff1614611316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130d9061616b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1661133682611e6e565b73ffffffffffffffffffffffffffffffffffffffff161461138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611383906161d7565b60405180910390fd5b6000600c600083815260200190815260200160002060010154146113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90616243565b60405180910390fd5b600c600082815260200190815260200160002060020154600c60008481526020019081526020016000206002015414611453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144a906162d5565b60405180910390fd5b60005b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008581526020019081526020016000206003016040516114b8919061638d565b9081526020016040518091039020805490508160ff16101561185857600c600084815260200190815260200160002060050154600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c600086815260200190815260200160002060030160405161154d919061638d565b90815260200160405180910390208260ff16815481106115705761156f615da8565b5b9060005260206000209060060201600501540361184557600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008581526020019081526020016000206003016040516115e9919061638d565b90815260200160405180910390206001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c600087815260200190815260200160002060030160405161165b919061638d565b9081526020016040518091039020805490506116779190615d07565b8154811061168857611687615da8565b5b9060005260206000209060060201600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008681526020019081526020016000206003016040516116f8919061638d565b90815260200160405180910390208260ff168154811061171b5761171a615da8565b5b90600052602060002090600602016000820154816000015560018201548160010155600282015481600201556003820181600301908161175b9190616551565b506004820154816004015560058201548160050155905050600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008581526020019081526020016000206003016040516117d5919061638d565b90815260200160405180910390208054806117f3576117f2615dd7565b5b6001900381819060005260206000209060060201600080820160009055600182016000905560028201600090556003820160006118309190614b9e565b60048201600090556005820160009055505090555b808061185090616646565b915050611456565b50611862826132a5565b600c6000828152602001908152602001600020600401600081548092919061188990615f83565b9190505550600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008481526020019081526020016000206003016040516118f0919061638d565b908152602001604051809103902060008154811061191157611910615da8565b5b9060005260206000209060060201600401600081548092919061193390615f83565b91905055506005600c60008381526020019081526020016000206004015403611d5d576007600d600c600084815260200190815260200160002060030160405161197d919061638d565b9081526020016040518091039020805490501015611bea57600d600c60008381526020019081526020016000206003016040516119ba919061638d565b9081526020016040518091039020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a600f6001600d600c6000878152602001908152602001600020600301604051611a56919061638d565b908152602001604051809103902080549050611a729190615d07565b60078110611a8357611a82615da8565b5b602091828204019190069054906101000a900460ff1660ff16600b600c6000868152602001908152602001600020600301604051611ac1919061638d565b908152602001604051809103902060000154611add9190615bb8565b611ae79190615c29565b9050601254811115611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b25906166e1565b60405180910390fd5b8060126000828254611b409190615d07565b92505081905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611ba4929190616701565b6020604051808303816000875af1158015611bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be79190615cda565b50505b611cd681600b600c6000858152602001908152602001600020600301604051611c13919061638d565b90815260200160405180910390206004016040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250611c79600c600087815260200190815260200160002060050154612dab565b6040518060400160405280600681526020017f462e6a736f6e0000000000000000000000000000000000000000000000000000815250604051602001611cc29493929190615f45565b6040516020818303038152906040526132b1565b7f953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c9633600c6000848152602001908152602001600020600301600d600c6000868152602001908152602001600020600301604051611d33919061638d565b908152602001604051809103902080549050604051611d54939291906167ae565b60405180910390a15b5050565b611d7c83838360405180602001604052806000815250612726565b505050565b611d8961331e565b8060099081611d9891906167ec565b5050565b60108181548110611dac57600080fd5b906000526020600020016000915090508054611dc790615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054611df390615e35565b8015611e405780601f10611e1557610100808354040283529160200191611e40565b820191906000526020600020905b815481529060010190602001808311611e2357829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611e7a8361339c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee29061690a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b9061699c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611fb361331e565b611fbd60006133d9565b565b600b81805160208101820180518482526020830160208501208183528095505050505050600091509050806000015490806004018054611ffe90615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461202a90615e35565b80156120775780601f1061204c57610100808354040283529160200191612077565b820191906000526020600020905b81548152906001019060200180831161205a57829003601f168201915b5050505050905082565b6060600b826040516120939190615a9a565b90815260200160405180910390206001018054806020026020016040519081016040528092919081815260200182805480156120ee57602002820191906000526020600020905b8154815260200190600101908083116120da575b50505050509050919050565b61210261331e565b655af3107a400083101561214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290616a2e565b60405180910390fd5b600060068361215a9190615d77565b1461219a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219190616a9a565b60405180910390fd5b82600b856040516121ab9190615a9a565b90815260200160405180910390206000018190555080600b856040516121d19190615a9a565b908152602001604051809103902060040190816121ee91906167ec565b5060108490806001815401808255809150506001900390600052602060002001600090919091909150908161222391906167ec565b5060118390806001815401808255809150506001900390600052602060002001600090919091909150556000600190505b82811161231857600060068261226a9190615d77565b036122bc57600b8560405161227f9190615a9a565b9081526020016040518091039020600201819080600181540180825580915050600190039060005260206000200160009091909190915055612305565b600b856040516122cc9190615a9a565b90815260200160405180910390206001018190806001815401808255809150506001900390600052602060002001600090919091909150555b808061231090615f83565b915050612254565b5050505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c60205280600052604060002060009150905080600001549080600101549080600201549080600301805461237e90615e35565b80601f01602080910402602001604051908101604052809291908181526020018280546123aa90615e35565b80156123f75780601f106123cc576101008083540402835291602001916123f7565b820191906000526020600020905b8154815290600101906020018083116123da57829003601f168201915b5050505050908060040154908060050154905086565b6060600d8383604051612421929190616adf565b90815260200160405180910390208054806020026020016040519081016040528092919081815260200182805480156124af57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612465575b5050505050905092915050565b6060600180546124cb90615e35565b80601f01602080910402602001604051908101604052809291908181526020018280546124f790615e35565b80156125445780601f1061251957610100808354040283529160200191612544565b820191906000526020600020905b81548152906001019060200180831161252757829003601f168201915b5050505050905090565b6009805461255b90615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461258790615e35565b80156125d45780601f106125a9576101008083540402835291602001916125d4565b820191906000526020600020905b8154815290600101906020018083116125b757829003601f168201915b505050505081565b6125ee6125e76131dd565b838361349f565b5050565b6060806010601181805480602002602001604051908101604052809291908181526020016000905b828210156126c657838290600052602060002001805461263990615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461266590615e35565b80156126b25780601f10612687576101008083540402835291602001916126b2565b820191906000526020600020905b81548152906001019060200180831161269557829003601f168201915b50505050508152602001906001019061261a565b5050505091508080548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b815481526020019060010190808311612703575b50505050509050915091509091565b60006127cf600c6000858152602001908152602001600020600301805461274c90615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461277890615e35565b80156127c55780601f1061279a576101008083540402835291602001916127c5565b820191906000526020600020905b8154815290600101906020018083116127a857829003601f168201915b505050505061296a565b5114612810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280790616b6a565b60405180910390fd5b61281c8484848461360b565b6001600c600084815260200190815260200160002060010154036128ff57600b600c600084815260200190815260200160002060030160405161285f919061638d565b908152602001604051809103902060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166128fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f190616bfc565b60405180910390fd5b612959565b6005600c60008481526020019081526020016000206004015414612958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294f90616c8e565b60405180910390fd5b5b61296484848461366d565b50505050565b6060600b8260405161297c9190615a9a565b90815260200160405180910390206002018054806020026020016040519081016040528092919081815260200182805480156129d757602002820191906000526020600020905b8154815260200190600101908083116129c3575b50505050509050919050565b6129eb61331e565b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060612a3a82613b7e565b9050919050565b60118181548110612a5157600080fd5b906000526020600020016000915090505481565b60125481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007358807bad0b376efc12f5ad86aac70e78ed67deae73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ae35760019050612af0565b612aed8383613c90565b90505b92915050565b6060600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208383604051612b47929190616adf565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b82821015612c6b57838290600052602060002090600602016040518060c0016040529081600082015481526020016001820154815260200160028201548152602001600382018054612bc690615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054612bf290615e35565b8015612c3f5780601f10612c1457610100808354040283529160200191612c3f565b820191906000526020600020905b815481529060010190602001808311612c2257829003601f168201915b505050505081526020016004820154815260200160058201548152505081526020019060010190612b75565b5050505090509392505050565b612c8061331e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce690616d20565b60405180910390fd5b612cf8816133d9565b50565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612da457600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050612da8565b3390505b90565b606060008203612df2576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612f06565b600082905060005b60008214612e24578080612e0d90615f83565b915050600a82612e1d9190615c29565b9150612dfa565b60008167ffffffffffffffff811115612e4057612e3f614c60565b5b6040519080825280601f01601f191660200182016040528015612e725781602001600182028036833780820191505090505b5090505b60008514612eff57600182612e8b9190615d07565b9150600a85612e9a9190615d77565b6030612ea69190615c5a565b60f81b818381518110612ebc57612ebb615da8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612ef89190615c29565b9450612e76565b8093505050505b919050565b6000612f176008613d24565b9050612f236008613d32565b80600c60008381526020019081526020016000206000018190555084600c60008381526020019081526020016000206001018190555083600c60008381526020019081526020016000206002018190555082600c60008381526020019081526020016000206003019081612f9791906167ec565b5081600c600083815260200190815260200160002060050181905550600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516130009190615a9a565b9081526020016040518091039020600c600083815260200190815260200160002090806001815401808255809150506001900390600052602060002090600602016000909190919091506000820154816000015560018201548160010155600282015481600201556003820181600301908161307c9190616551565b506004820154816004015560058201548160050155505061309d8782613d48565b6130a781876132b1565b50505050505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061317b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061318b575061318a82613f65565b5b9050919050565b61319b81613fcf565b6131da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d19061690a565b60405180910390fd5b50565b60006131e7612cfb565b905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661325f83611e6e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6132ae81614010565b50565b6132ba82613fcf565b6132f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f090616db2565b60405180910390fd5b8060066000848152602001908152602001600020908161331991906167ec565b505050565b6133266131dd565b73ffffffffffffffffffffffffffffffffffffffff1661334461231f565b73ffffffffffffffffffffffffffffffffffffffff161461339a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339190616e1e565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361350d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161350490616e8a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516135fe9190614e87565b60405180910390a3505050565b61361c6136166131dd565b83614063565b61365b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365290616f1c565b60405180910390fd5b613667848484846140f8565b50505050565b6000600c6000838152602001908152602001600020600301805461369090615e35565b80601f01602080910402602001604051908101604052809291908181526020018280546136bc90615e35565b80156137095780601f106136de57610100808354040283529160200191613709565b820191906000526020600020905b8154815290600101906020018083116136ec57829003601f168201915b5050505050905060005b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516137609190615a9a565b9081526020016040518091039020805490508160ff161015613a9757600c600084815260200190815260200160002060050154600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516137e09190615a9a565b90815260200160405180910390208260ff168154811061380357613802615da8565b5b90600052602060002090600602016005015403613a8457600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516138679190615a9a565b90815260200160405180910390206001600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516138c49190615a9a565b9081526020016040518091039020805490506138e09190615d07565b815481106138f1576138f0615da8565b5b9060005260206000209060060201600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360405161394c9190615a9a565b90815260200160405180910390208260ff168154811061396f5761396e615da8565b5b9060005260206000209060060201600082015481600001556001820154816001015560028201548160020155600382018160030190816139af9190616551565b506004820154816004015560058201548160050155905050600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082604051613a149190615a9a565b9081526020016040518091039020805480613a3257613a31615dd7565b5b600190038181906000526020600020906006020160008082016000905560018201600090556002820160009055600382016000613a6f9190614b9e565b60048201600090556005820160009055505090555b8080613a8f90616646565b915050613713565b50600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081604051613ae59190615a9a565b9081526020016040518091039020600c6000848152602001908152602001600020908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201548160000155600182015481600101556002820154816002015560038201816003019081613b619190616551565b506004820154816004015560058201548160050155505050505050565b6060613b8982613192565b6000600660008481526020019081526020016000208054613ba990615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054613bd590615e35565b8015613c225780601f10613bf757610100808354040283529160200191613c22565b820191906000526020600020905b815481529060010190602001808311613c0557829003601f168201915b505050505090506000613c33614154565b90506000815103613c48578192505050613c8b565b600082511115613c7d578082604051602001613c65929190616f3c565b60405160208183030381529060405292505050613c8b565b613c86846141e6565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dae90616fac565b60405180910390fd5b613dc081613fcf565b15613e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613df790617018565b60405180910390fd5b613e0e60008383600161424e565b613e1781613fcf565b15613e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e4e90617018565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613f61600083836001614260565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16613ff18361339c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61401981614266565b600060066000838152602001908152602001600020805461403990615e35565b9050146140605760066000828152602001908152602001600020600061405f9190614b9e565b5b50565b60008061406f83611e6e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806140b157506140b08185612a91565b5b806140ef57508373ffffffffffffffffffffffffffffffffffffffff166140d78461102f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b6141038484846143b4565b61410f848484846146ad565b61414e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614145906170aa565b60405180910390fd5b50505050565b60606009805461416390615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461418f90615e35565b80156141dc5780601f106141b1576101008083540402835291602001916141dc565b820191906000526020600020905b8154815290600101906020018083116141bf57829003601f168201915b5050505050905090565b60606141f182613192565b60006141fb614154565b9050600081511161421b5760405180602001604052806000815250614246565b8061422584614834565b604051602001614236929190616f3c565b6040516020818303038152906040525b915050919050565b61425a84848484614902565b50505050565b50505050565b600061427182611e6e565b905061428181600084600161424e565b61428a82611e6e565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46143b0816000846001614260565b5050565b8273ffffffffffffffffffffffffffffffffffffffff166143d482611e6e565b73ffffffffffffffffffffffffffffffffffffffff161461442a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016144219061713c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603614499576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614490906171ce565b60405180910390fd5b6144a6838383600161424e565b8273ffffffffffffffffffffffffffffffffffffffff166144c682611e6e565b73ffffffffffffffffffffffffffffffffffffffff161461451c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016145139061713c565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46146a88383836001614260565b505050565b60006146ce8473ffffffffffffffffffffffffffffffffffffffff16614a28565b15614827578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026146f76131dd565b8786866040518563ffffffff1660e01b81526004016147199493929190617238565b6020604051808303816000875af192505050801561475557506040513d601f19601f820116820180604052508101906147529190617299565b60015b6147d7573d8060008114614785576040519150601f19603f3d011682016040523d82523d6000602084013e61478a565b606091505b5060008151036147cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016147c6906170aa565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061482c565b600190505b949350505050565b60606000600161484384614a4b565b01905060008167ffffffffffffffff81111561486257614861614c60565b5b6040519080825280601f01601f1916602001820160405280156148945781602001600182028036833780820191505090505b509050600082602001820190505b6001156148f7578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816148eb576148ea615bfa565b5b049450600085036148a2575b819350505050919050565b6001811115614a2257600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146149965780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461498e9190615d07565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614a215780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254614a199190615c5a565b925050819055505b5b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310614aa9577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381614a9f57614a9e615bfa565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310614ae6576d04ee2d6d415b85acef81000000008381614adc57614adb615bfa565b5b0492506020810190505b662386f26fc100008310614b1557662386f26fc100008381614b0b57614b0a615bfa565b5b0492506010810190505b6305f5e1008310614b3e576305f5e1008381614b3457614b33615bfa565b5b0492506008810190505b6127108310614b63576127108381614b5957614b58615bfa565b5b0492506004810190505b60648310614b865760648381614b7c57614b7b615bfa565b5b0492506002810190505b600a8310614b95576001810190505b80915050919050565b508054614baa90615e35565b6000825580601f10614bbc5750614bdb565b601f016020900490600052602060002090810190614bda9190614bde565b5b50565b5b80821115614bf7576000816000905550600101614bdf565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b614c2281614c0f565b8114614c2d57600080fd5b50565b600081359050614c3f81614c19565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614c9882614c4f565b810181811067ffffffffffffffff82111715614cb757614cb6614c60565b5b80604052505050565b6000614cca614bfb565b9050614cd68282614c8f565b919050565b600067ffffffffffffffff821115614cf657614cf5614c60565b5b614cff82614c4f565b9050602081019050919050565b82818337600083830152505050565b6000614d2e614d2984614cdb565b614cc0565b905082815260208101848484011115614d4a57614d49614c4a565b5b614d55848285614d0c565b509392505050565b600082601f830112614d7257614d71614c45565b5b8135614d82848260208601614d1b565b91505092915050565b60008060408385031215614da257614da1614c05565b5b6000614db085828601614c30565b925050602083013567ffffffffffffffff811115614dd157614dd0614c0a565b5b614ddd85828601614d5d565b9150509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614e1c81614de7565b8114614e2757600080fd5b50565b600081359050614e3981614e13565b92915050565b600060208284031215614e5557614e54614c05565b5b6000614e6384828501614e2a565b91505092915050565b60008115159050919050565b614e8181614e6c565b82525050565b6000602082019050614e9c6000830184614e78565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614edc578082015181840152602081019050614ec1565b60008484015250505050565b6000614ef382614ea2565b614efd8185614ead565b9350614f0d818560208601614ebe565b614f1681614c4f565b840191505092915050565b60006020820190508181036000830152614f3b8184614ee8565b905092915050565b600060208284031215614f5957614f58614c05565b5b6000614f6784828501614c30565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614f9b82614f70565b9050919050565b614fab81614f90565b82525050565b6000602082019050614fc66000830184614fa2565b92915050565b614fd581614f90565b8114614fe057600080fd5b50565b600081359050614ff281614fcc565b92915050565b6000806040838503121561500f5761500e614c05565b5b600061501d85828601614fe3565b925050602061502e85828601614c30565b9150509250929050565b60008060006060848603121561505157615050614c05565b5b600061505f86828701614fe3565b935050602061507086828701614fe3565b925050604061508186828701614c30565b9150509250925092565b6000806000606084860312156150a4576150a3614c05565b5b60006150b286828701614fe3565b935050602084013567ffffffffffffffff8111156150d3576150d2614c0a565b5b6150df86828701614d5d565b92505060406150f086828701614c30565b9150509250925092565b61510381614c0f565b82525050565b600060c08201905061511e60008301896150fa565b61512b60208301886150fa565b61513860408301876150fa565b818103606083015261514a8186614ee8565b905061515960808301856150fa565b61516660a08301846150fa565b979650505050505050565b6000806040838503121561518857615187614c05565b5b600061519685828601614c30565b92505060206151a785828601614c30565b9150509250929050565b6000602082840312156151c7576151c6614c05565b5b600082013567ffffffffffffffff8111156151e5576151e4614c0a565b5b6151f184828501614d5d565b91505092915050565b6000602082840312156152105761520f614c05565b5b600061521e84828501614fe3565b91505092915050565b600060208201905061523c60008301846150fa565b92915050565b600060408201905061525760008301856150fa565b81810360208301526152698184614ee8565b90509392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6152a781614c0f565b82525050565b60006152b9838361529e565b60208301905092915050565b6000602082019050919050565b60006152dd82615272565b6152e7818561527d565b93506152f28361528e565b8060005b8381101561532357815161530a88826152ad565b9750615315836152c5565b9250506001810190506152f6565b5085935050505092915050565b6000602082019050818103600083015261534a81846152d2565b905092915050565b6000806000806080858703121561536c5761536b614c05565b5b600085013567ffffffffffffffff81111561538a57615389614c0a565b5b61539687828801614d5d565b94505060206153a787828801614c30565b93505060406153b887828801614c30565b925050606085013567ffffffffffffffff8111156153d9576153d8614c0a565b5b6153e587828801614d5d565b91505092959194509250565b600080fd5b600080fd5b60008083601f84011261541157615410614c45565b5b8235905067ffffffffffffffff81111561542e5761542d6153f1565b5b60208301915083600182028301111561544a576154496153f6565b5b9250929050565b6000806020838503121561546857615467614c05565b5b600083013567ffffffffffffffff81111561548657615485614c0a565b5b615492858286016153fb565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6154d381614f90565b82525050565b60006154e583836154ca565b60208301905092915050565b6000602082019050919050565b60006155098261549e565b61551381856154a9565b935061551e836154ba565b8060005b8381101561554f57815161553688826154d9565b9750615541836154f1565b925050600181019050615522565b5085935050505092915050565b6000602082019050818103600083015261557681846154fe565b905092915050565b61558781614e6c565b811461559257600080fd5b50565b6000813590506155a48161557e565b92915050565b600080604083850312156155c1576155c0614c05565b5b60006155cf85828601614fe3565b92505060206155e085828601615595565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061563282614ea2565b61563c8185615616565b935061564c818560208601614ebe565b61565581614c4f565b840191505092915050565b600061566c8383615627565b905092915050565b6000602082019050919050565b600061568c826155ea565b61569681856155f5565b9350836020820285016156a885615606565b8060005b858110156156e457848403895281516156c58582615660565b94506156d083615674565b925060208a019950506001810190506156ac565b50829750879550505050505092915050565b600060408201905081810360008301526157108185615681565b9050818103602083015261572481846152d2565b90509392505050565b600067ffffffffffffffff82111561574857615747614c60565b5b61575182614c4f565b9050602081019050919050565b600061577161576c8461572d565b614cc0565b90508281526020810184848401111561578d5761578c614c4a565b5b615798848285614d0c565b509392505050565b600082601f8301126157b5576157b4614c45565b5b81356157c584826020860161575e565b91505092915050565b600080600080608085870312156157e8576157e7614c05565b5b60006157f687828801614fe3565b945050602061580787828801614fe3565b935050604061581887828801614c30565b925050606085013567ffffffffffffffff81111561583957615838614c0a565b5b615845878288016157a0565b91505092959194509250565b6000806040838503121561586857615867614c05565b5b600061587685828601614fe3565b925050602061588785828601614fe3565b9150509250929050565b6000806000604084860312156158aa576158a9614c05565b5b60006158b886828701614fe3565b935050602084013567ffffffffffffffff8111156158d9576158d8614c0a565b5b6158e5868287016153fb565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060c083016000830151615935600086018261529e565b506020830151615948602086018261529e565b50604083015161595b604086018261529e565b50606083015184820360608601526159738282615627565b9150506080830151615988608086018261529e565b5060a083015161599b60a086018261529e565b508091505092915050565b60006159b2838361591d565b905092915050565b6000602082019050919050565b60006159d2826158f1565b6159dc81856158fc565b9350836020820285016159ee8561590d565b8060005b85811015615a2a5784840389528151615a0b85826159a6565b9450615a16836159ba565b925060208a019950506001810190506159f2565b50829750879550505050505092915050565b60006020820190508181036000830152615a5681846159c7565b905092915050565b600081905092915050565b6000615a7482614ea2565b615a7e8185615a5e565b9350615a8e818560208601614ebe565b80840191505092915050565b6000615aa68284615a69565b915081905092915050565b7f59612074656e657320756e207061636b2077616368696e000000000000000000600082015250565b6000615ae7601783614ead565b9150615af282615ab1565b602082019050919050565b60006020820190508181036000830152615b1681615ada565b9050919050565b7f53656e6420657861637420707269636520666f72205061636b00000000000000600082015250565b6000615b53601983614ead565b9150615b5e82615b1d565b602082019050919050565b60006020820190508181036000830152615b8281615b46565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000615bc382614c0f565b9150615bce83614c0f565b9250828202615bdc81614c0f565b91508282048414831517615bf357615bf2615b89565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000615c3482614c0f565b9150615c3f83614c0f565b925082615c4f57615c4e615bfa565b5b828204905092915050565b6000615c6582614c0f565b9150615c7083614c0f565b9250828201905080821115615c8857615c87615b89565b5b92915050565b6000606082019050615ca36000830186614fa2565b615cb06020830185614fa2565b615cbd60408301846150fa565b949350505050565b600081519050615cd48161557e565b92915050565b600060208284031215615cf057615cef614c05565b5b6000615cfe84828501615cc5565b91505092915050565b6000615d1282614c0f565b9150615d1d83614c0f565b9250828203905081811115615d3557615d34615b89565b5b92915050565b6000819050919050565b615d56615d5182614c0f565b615d3b565b82525050565b6000615d688284615d45565b60208201915081905092915050565b6000615d8282614c0f565b9150615d8d83614c0f565b925082615d9d57615d9c615bfa565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680615e4d57607f821691505b602082108103615e6057615e5f615e06565b5b50919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154615e9381615e35565b615e9d8186615e66565b94506001821660008114615eb85760018114615ecd57615f00565b60ff1983168652811515820286019350615f00565b615ed685615e71565b60005b83811015615ef857815481890152600182019150602081019050615ed9565b838801955050505b50505092915050565b600081519050919050565b6000615f1f82615f09565b615f298185615e66565b9350615f39818560208601614ebe565b80840191505092915050565b6000615f518287615e86565b9150615f5d8286615f14565b9150615f698285615f14565b9150615f758284615f14565b915081905095945050505050565b6000615f8e82614c0f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615fc057615fbf615b89565b5b600182019050919050565b6000604082019050615fe06000830185614fa2565b8181036020830152615ff28184614ee8565b90509392505050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000616057602183614ead565b915061606282615ffb565b604082019050919050565b600060208201905081810360008301526160868161604a565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006160e9603d83614ead565b91506160f48261608d565b604082019050919050565b60006020820190508181036000830152616118816160dc565b9050919050565b7f54686973206973206e6f7420796f757220636172640000000000000000000000600082015250565b6000616155601583614ead565b91506161608261611f565b602082019050919050565b6000602082019050818103600083015261618481616148565b9050919050565b7f54686973206973206e6f7420796f757220616c62756d00000000000000000000600082015250565b60006161c1601683614ead565b91506161cc8261618b565b602082019050919050565b600060208201905081810360008301526161f0816161b4565b9050919050565b7f63617264206973206e6f7420616e20616c62756d000000000000000000000000600082015250565b600061622d601483614ead565b9150616238826161f7565b602082019050919050565b6000602082019050818103600083015261625c81616220565b9050919050565b7f6361726473206973206e6f742066726f6d207468652073616d6520636f6c6c6560008201527f6374696f6e000000000000000000000000000000000000000000000000000000602082015250565b60006162bf602583614ead565b91506162ca82616263565b604082019050919050565b600060208201905081810360008301526162ee816162b2565b9050919050565b60008190508160005260206000209050919050565b6000815461631781615e35565b6163218186615a5e565b9450600182166000811461633c576001811461635157616384565b60ff1983168652811515820286019350616384565b61635a856162f5565b60005b8381101561637c5781548189015260018201915060208101905061635d565b838801955050505b50505092915050565b6000616399828461630a565b915081905092915050565b6000815490506163b381615e35565b9050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026164077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826163ca565b61641186836163ca565b95508019841693508086168417925050509392505050565b6000819050919050565b600061644e61644961644484614c0f565b616429565b614c0f565b9050919050565b6000819050919050565b61646883616433565b61647c61647482616455565b8484546163d7565b825550505050565b600090565b616491616484565b61649c81848461645f565b505050565b5b818110156164c0576164b5600082616489565b6001810190506164a2565b5050565b601f821115616505576164d6816162f5565b6164df846163ba565b810160208510156164ee578190505b6165026164fa856163ba565b8301826164a1565b50505b505050565b600082821c905092915050565b60006165286000198460080261650a565b1980831691505092915050565b60006165418383616517565b9150826002028217905092915050565b81810361655f575050616637565b616568826163a4565b67ffffffffffffffff81111561658157616580614c60565b5b61658b8254615e35565b6165968282856164c4565b6000601f8311600181146165c557600084156165b3578287015490505b6165bd8582616535565b865550616630565b601f1984166165d3876162f5565b96506165de866162f5565b60005b82811015616606578489015482556001820191506001850194506020810190506165e1565b86831015616623578489015461661f601f891682616517565b8355505b6001600288020188555050505b5050505050505b565b600060ff82169050919050565b600061665182616639565b915060ff820361666457616663615b89565b5b600182019050919050565b7f5072697a65206d757374206265206c6f776572206f7220657175616c2074686160008201527f6e207072697a65732062616c616e636500000000000000000000000000000000602082015250565b60006166cb603083614ead565b91506166d68261666f565b604082019050919050565b600060208201905081810360008301526166fa816166be565b9050919050565b60006040820190506167166000830185614fa2565b61672360208301846150fa565b9392505050565b6000815461673781615e35565b6167418186614ead565b9450600182166000811461675c5760018114616772576167a5565b60ff1983168652811515602002860193506167a5565b61677b856162f5565b60005b8381101561679d5781548189015260018201915060208101905061677e565b808801955050505b50505092915050565b60006060820190506167c36000830186614fa2565b81810360208301526167d5818561672a565b90506167e460408301846150fa565b949350505050565b6167f582614ea2565b67ffffffffffffffff81111561680e5761680d614c60565b5b6168188254615e35565b6168238282856164c4565b600060209050601f8311600181146168565760008415616844578287015190505b61684e8582616535565b8655506168b6565b601f198416616864866162f5565b60005b8281101561688c57848901518255600182019150602085019450602081019050616867565b868310156168a957848901516168a5601f891682616517565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006168f4601883614ead565b91506168ff826168be565b602082019050919050565b60006020820190508181036000830152616923816168e7565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000616986602983614ead565b91506169918261692a565b604082019050919050565b600060208201905081810360008301526169b581616979565b9050919050565b7f7061636b2076616c7565206d757374206265206174206c6561737420302e303060008201527f3031204441490000000000000000000000000000000000000000000000000000602082015250565b6000616a18602683614ead565b9150616a23826169bc565b604082019050919050565b60006020820190508181036000830152616a4781616a0b565b9050919050565b7f416d6f756e74206d757374206265206d756c7469706c65206f66203600000000600082015250565b6000616a84601c83614ead565b9150616a8f82616a4e565b602082019050919050565b60006020820190508181036000830152616ab381616a77565b9050919050565b6000616ac68385615a5e565b9350616ad3838584614d0c565b82840190509392505050565b6000616aec828486616aba565b91508190509392505050565b7f54686572652061726520616c62756d7320617661696c61626c6520696e20746860008201527f697320736561736f6e0000000000000000000000000000000000000000000000602082015250565b6000616b54602983614ead565b9150616b5f82616af8565b604082019050919050565b60006020820190508181036000830152616b8381616b47565b9050919050565b7f5265636569766572206973206e6f7420706c6179696e6720746869732073656160008201527f736f6e0000000000000000000000000000000000000000000000000000000000602082015250565b6000616be6602383614ead565b9150616bf182616b8a565b604082019050919050565b60006020820190508181036000830152616c1581616bd9565b9050919050565b7f4f6e6c7920636f6d706c6574656420616c62756d732063616e2062652074726160008201527f6e73666572726564000000000000000000000000000000000000000000000000602082015250565b6000616c78602883614ead565b9150616c8382616c1c565b604082019050919050565b60006020820190508181036000830152616ca781616c6b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000616d0a602683614ead565b9150616d1582616cae565b604082019050919050565b60006020820190508181036000830152616d3981616cfd565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000616d9c602e83614ead565b9150616da782616d40565b604082019050919050565b60006020820190508181036000830152616dcb81616d8f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000616e08602083614ead565b9150616e1382616dd2565b602082019050919050565b60006020820190508181036000830152616e3781616dfb565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000616e74601983614ead565b9150616e7f82616e3e565b602082019050919050565b60006020820190508181036000830152616ea381616e67565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000616f06602d83614ead565b9150616f1182616eaa565b604082019050919050565b60006020820190508181036000830152616f3581616ef9565b9050919050565b6000616f488285615a69565b9150616f548284615a69565b91508190509392505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000616f96602083614ead565b9150616fa182616f60565b602082019050919050565b60006020820190508181036000830152616fc581616f89565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000617002601c83614ead565b915061700d82616fcc565b602082019050919050565b6000602082019050818103600083015261703181616ff5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000617094603283614ead565b915061709f82617038565b604082019050919050565b600060208201905081810360008301526170c381617087565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000617126602583614ead565b9150617131826170ca565b604082019050919050565b6000602082019050818103600083015261715581617119565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006171b8602483614ead565b91506171c38261715c565b604082019050919050565b600060208201905081810360008301526171e7816171ab565b9050919050565b600082825260208201905092915050565b600061720a82615f09565b61721481856171ee565b9350617224818560208601614ebe565b61722d81614c4f565b840191505092915050565b600060808201905061724d6000830187614fa2565b61725a6020830186614fa2565b61726760408301856150fa565b818103606083015261727981846171ff565b905095945050505050565b60008151905061729381614e13565b92915050565b6000602082840312156172af576172ae614c05565b5b60006172bd84828501617284565b9150509291505056fea264697066735822122058511edf59e45c3952747f2b02c5e3fcf370c9d3288743b4e8a206d6e69d02f764736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c80638477919b11610125578063be20e5a9116100ad578063e5db587a1161007c578063e5db587a14610668578063e606df8714610686578063e985e9c5146106a4578063e9d43f7d146106d4578063f2fde38b1461070457610211565b8063be20e5a9146105bc578063c1f3a3bb146105ec578063c87b56dd14610608578063d1811d021461063857610211565b806395d89b41116100f457806395d89b41146105295780639abc832014610547578063a22cb46514610565578063b773d5c114610581578063b88d4fde146105a057610211565b80638477919b1461048a5780638da5cb5b146104a65780638dc10768146104c457806395a4c525146104f957610211565b806342842e0e116101a85780636352211e116101775780636352211e146103bf57806370a08231146103ef578063715018a61461041f578063787f0b051461042957806383c73d811461045a57610211565b806342842e0e1461033957806355f804b31461035557806361c66c1614610371578063627b253f146103a157610211565b8063095ea7b3116101e4578063095ea7b3146102b057806323b872dd146102cc578063308f5987146102e857806341c2c10f1461031d57610211565b8063015db3961461021657806301ffc9a71461023257806306fdde0314610262578063081812fc14610280575b600080fd5b610230600480360381019061022b9190614d8b565b610720565b005b61024c60048036038101906102479190614e3f565b610f8b565b6040516102599190614e87565b60405180910390f35b61026a610f9d565b6040516102779190614f21565b60405180910390f35b61029a60048036038101906102959190614f43565b61102f565b6040516102a79190614fb1565b60405180910390f35b6102ca60048036038101906102c59190614ff8565b611075565b005b6102e660048036038101906102e19190615038565b61118c565b005b61030260048036038101906102fd919061508b565b61119c565b60405161031496959493929190615109565b60405180910390f35b61033760048036038101906103329190615171565b6112a0565b005b610353600480360381019061034e9190615038565b611d61565b005b61036f600480360381019061036a91906151b1565b611d81565b005b61038b60048036038101906103869190614f43565b611d9c565b6040516103989190614f21565b60405180910390f35b6103a9611e48565b6040516103b69190614fb1565b60405180910390f35b6103d960048036038101906103d49190614f43565b611e6e565b6040516103e69190614fb1565b60405180910390f35b610409600480360381019061040491906151fa565b611ef4565b6040516104169190615227565b60405180910390f35b610427611fab565b005b610443600480360381019061043e91906151b1565b611fbf565b604051610451929190615242565b60405180910390f35b610474600480360381019061046f91906151b1565b612081565b6040516104819190615330565b60405180910390f35b6104a4600480360381019061049f9190615352565b6120fa565b005b6104ae61231f565b6040516104bb9190614fb1565b60405180910390f35b6104de60048036038101906104d99190614f43565b612349565b6040516104f096959493929190615109565b60405180910390f35b610513600480360381019061050e9190615451565b61240d565b604051610520919061555c565b60405180910390f35b6105316124bc565b60405161053e9190614f21565b60405180910390f35b61054f61254e565b60405161055c9190614f21565b60405180910390f35b61057f600480360381019061057a91906155aa565b6125dc565b005b6105896125f2565b6040516105979291906156f6565b60405180910390f35b6105ba60048036038101906105b591906157ce565b612726565b005b6105d660048036038101906105d191906151b1565b61296a565b6040516105e39190615330565b60405180910390f35b610606600480360381019061060191906151fa565b6129e3565b005b610622600480360381019061061d9190614f43565b612a2f565b60405161062f9190614f21565b60405180910390f35b610652600480360381019061064d9190614f43565b612a41565b60405161065f9190615227565b60405180910390f35b610670612a65565b60405161067d9190615227565b60405180910390f35b61068e612a6b565b60405161069b9190614fb1565b60405180910390f35b6106be60048036038101906106b99190615851565b612a91565b6040516106cb9190614e87565b60405180910390f35b6106ee60048036038101906106e99190615891565b612af6565b6040516106fb9190615a3c565b60405180910390f35b61071e600480360381019061071991906151fa565b612c78565b005b600b816040516107309190615a9a565b908152602001604051809103902060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156107cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c390615afd565b60405180910390fd5b6001600b826040516107de9190615a9a565b908152602001604051809103902060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600b826040516108549190615a9a565b908152602001604051809103902060000154146108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d90615b69565b60405180910390fd5b60006064604b846108b79190615bb8565b6108c19190615c29565b905080601260008282546108d59190615c5a565b92505081905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161093b93929190615c8e565b6020604051808303816000875af115801561095a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097e9190615cda565b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684876109ed9190615d07565b6040518463ffffffff1660e01b8152600401610a0b93929190615c8e565b6020604051808303816000875af1158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e9190615cda565b506000600b83604051610a619190615a9a565b90815260200160405180910390206002018054905042604051602001610a879190615d5c565b6040516020818303038152906040528051906020012060001c610aaa9190615d77565b90506000600b84604051610abe9190615a9a565b90815260200160405180910390206002018281548110610ae157610ae0615da8565b5b90600052602060002001549050600b84604051610afe9190615a9a565b90815260200160405180910390206002016001600b86604051610b219190615a9a565b908152602001604051809103902060020180549050610b409190615d07565b81548110610b5157610b50615da8565b5b9060005260206000200154600b85604051610b6c9190615a9a565b90815260200160405180910390206002018381548110610b8f57610b8e615da8565b5b9060005260206000200181905550600b84604051610bad9190615a9a565b9081526020016040518091039020600201805480610bce57610bcd615dd7565b5b60019003818190600052602060002001600090559055610cc233600b86604051610bf89190615a9a565b90815260200160405180910390206004016040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250610c4885612dab565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001610c919493929190615f45565b60405160208183030381529060405260006001600686610cb19190615c29565b610cbb9190615d07565b8886612f0b565b505060005b6005811015610f4c576000600b84604051610ce29190615a9a565b90815260200160405180910390206001018054905042604051602001610d089190615d5c565b6040516020818303038152906040528051906020012060001c610d2b9190615d77565b90506000600b85604051610d3f9190615a9a565b90815260200160405180910390206001018281548110610d6257610d61615da8565b5b90600052602060002001549050600b85604051610d7f9190615a9a565b90815260200160405180910390206001016001600b87604051610da29190615a9a565b908152602001604051809103902060010180549050610dc19190615d07565b81548110610dd257610dd1615da8565b5b9060005260206000200154600b86604051610ded9190615a9a565b90815260200160405180910390206001018381548110610e1057610e0f615da8565b5b9060005260206000200181905550600b85604051610e2e9190615a9a565b9081526020016040518091039020600101805480610e4f57610e4e615dd7565b5b60019003818190600052602060002001600090559055610f3733600b87604051610e799190615a9a565b90815260200160405180910390206004016040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250610ec985612dab565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001610f129493929190615f45565b6040516020818303038152906040526001600685610f309190615c29565b8986612f0b565b50508080610f4490615f83565b915050610cc7565b507f55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c3383604051610f7e929190615fcb565b60405180910390a1505050565b6000610f96826130b0565b9050919050565b606060008054610fac90615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd890615e35565b80156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b5050505050905090565b600061103a82613192565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061108082611e6e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e79061606d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661110f6131dd565b73ffffffffffffffffffffffffffffffffffffffff16148061113e575061113d816111386131dd565b612a91565b5b61117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906160ff565b60405180910390fd5b61118783836131ec565b505050565b611197838383611d61565b505050565b600e6020528260005260406000208280516020810182018051848252602083016020850120818352809550505050505081815481106111da57600080fd5b9060005260206000209060060201600092509250505080600001549080600101549080600201549080600301805461121190615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461123d90615e35565b801561128a5780601f1061125f5761010080835404028352916020019161128a565b820191906000526020600020905b81548152906001019060200180831161126d57829003601f168201915b5050505050908060040154908060050154905086565b3373ffffffffffffffffffffffffffffffffffffffff166112c083611e6e565b73ffffffffffffffffffffffffffffffffffffffff1614611316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130d9061616b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1661133682611e6e565b73ffffffffffffffffffffffffffffffffffffffff161461138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611383906161d7565b60405180910390fd5b6000600c600083815260200190815260200160002060010154146113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90616243565b60405180910390fd5b600c600082815260200190815260200160002060020154600c60008481526020019081526020016000206002015414611453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144a906162d5565b60405180910390fd5b60005b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008581526020019081526020016000206003016040516114b8919061638d565b9081526020016040518091039020805490508160ff16101561185857600c600084815260200190815260200160002060050154600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c600086815260200190815260200160002060030160405161154d919061638d565b90815260200160405180910390208260ff16815481106115705761156f615da8565b5b9060005260206000209060060201600501540361184557600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008581526020019081526020016000206003016040516115e9919061638d565b90815260200160405180910390206001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c600087815260200190815260200160002060030160405161165b919061638d565b9081526020016040518091039020805490506116779190615d07565b8154811061168857611687615da8565b5b9060005260206000209060060201600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008681526020019081526020016000206003016040516116f8919061638d565b90815260200160405180910390208260ff168154811061171b5761171a615da8565b5b90600052602060002090600602016000820154816000015560018201548160010155600282015481600201556003820181600301908161175b9190616551565b506004820154816004015560058201548160050155905050600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008581526020019081526020016000206003016040516117d5919061638d565b90815260200160405180910390208054806117f3576117f2615dd7565b5b6001900381819060005260206000209060060201600080820160009055600182016000905560028201600090556003820160006118309190614b9e565b60048201600090556005820160009055505090555b808061185090616646565b915050611456565b50611862826132a5565b600c6000828152602001908152602001600020600401600081548092919061188990615f83565b9190505550600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c60008481526020019081526020016000206003016040516118f0919061638d565b908152602001604051809103902060008154811061191157611910615da8565b5b9060005260206000209060060201600401600081548092919061193390615f83565b91905055506005600c60008381526020019081526020016000206004015403611d5d576007600d600c600084815260200190815260200160002060030160405161197d919061638d565b9081526020016040518091039020805490501015611bea57600d600c60008381526020019081526020016000206003016040516119ba919061638d565b9081526020016040518091039020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a600f6001600d600c6000878152602001908152602001600020600301604051611a56919061638d565b908152602001604051809103902080549050611a729190615d07565b60078110611a8357611a82615da8565b5b602091828204019190069054906101000a900460ff1660ff16600b600c6000868152602001908152602001600020600301604051611ac1919061638d565b908152602001604051809103902060000154611add9190615bb8565b611ae79190615c29565b9050601254811115611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b25906166e1565b60405180910390fd5b8060126000828254611b409190615d07565b92505081905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611ba4929190616701565b6020604051808303816000875af1158015611bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be79190615cda565b50505b611cd681600b600c6000858152602001908152602001600020600301604051611c13919061638d565b90815260200160405180910390206004016040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250611c79600c600087815260200190815260200160002060050154612dab565b6040518060400160405280600681526020017f462e6a736f6e0000000000000000000000000000000000000000000000000000815250604051602001611cc29493929190615f45565b6040516020818303038152906040526132b1565b7f953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c9633600c6000848152602001908152602001600020600301600d600c6000868152602001908152602001600020600301604051611d33919061638d565b908152602001604051809103902080549050604051611d54939291906167ae565b60405180910390a15b5050565b611d7c83838360405180602001604052806000815250612726565b505050565b611d8961331e565b8060099081611d9891906167ec565b5050565b60108181548110611dac57600080fd5b906000526020600020016000915090508054611dc790615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054611df390615e35565b8015611e405780601f10611e1557610100808354040283529160200191611e40565b820191906000526020600020905b815481529060010190602001808311611e2357829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611e7a8361339c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee29061690a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b9061699c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611fb361331e565b611fbd60006133d9565b565b600b81805160208101820180518482526020830160208501208183528095505050505050600091509050806000015490806004018054611ffe90615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461202a90615e35565b80156120775780601f1061204c57610100808354040283529160200191612077565b820191906000526020600020905b81548152906001019060200180831161205a57829003601f168201915b5050505050905082565b6060600b826040516120939190615a9a565b90815260200160405180910390206001018054806020026020016040519081016040528092919081815260200182805480156120ee57602002820191906000526020600020905b8154815260200190600101908083116120da575b50505050509050919050565b61210261331e565b655af3107a400083101561214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290616a2e565b60405180910390fd5b600060068361215a9190615d77565b1461219a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219190616a9a565b60405180910390fd5b82600b856040516121ab9190615a9a565b90815260200160405180910390206000018190555080600b856040516121d19190615a9a565b908152602001604051809103902060040190816121ee91906167ec565b5060108490806001815401808255809150506001900390600052602060002001600090919091909150908161222391906167ec565b5060118390806001815401808255809150506001900390600052602060002001600090919091909150556000600190505b82811161231857600060068261226a9190615d77565b036122bc57600b8560405161227f9190615a9a565b9081526020016040518091039020600201819080600181540180825580915050600190039060005260206000200160009091909190915055612305565b600b856040516122cc9190615a9a565b90815260200160405180910390206001018190806001815401808255809150506001900390600052602060002001600090919091909150555b808061231090615f83565b915050612254565b5050505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c60205280600052604060002060009150905080600001549080600101549080600201549080600301805461237e90615e35565b80601f01602080910402602001604051908101604052809291908181526020018280546123aa90615e35565b80156123f75780601f106123cc576101008083540402835291602001916123f7565b820191906000526020600020905b8154815290600101906020018083116123da57829003601f168201915b5050505050908060040154908060050154905086565b6060600d8383604051612421929190616adf565b90815260200160405180910390208054806020026020016040519081016040528092919081815260200182805480156124af57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612465575b5050505050905092915050565b6060600180546124cb90615e35565b80601f01602080910402602001604051908101604052809291908181526020018280546124f790615e35565b80156125445780601f1061251957610100808354040283529160200191612544565b820191906000526020600020905b81548152906001019060200180831161252757829003601f168201915b5050505050905090565b6009805461255b90615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461258790615e35565b80156125d45780601f106125a9576101008083540402835291602001916125d4565b820191906000526020600020905b8154815290600101906020018083116125b757829003601f168201915b505050505081565b6125ee6125e76131dd565b838361349f565b5050565b6060806010601181805480602002602001604051908101604052809291908181526020016000905b828210156126c657838290600052602060002001805461263990615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461266590615e35565b80156126b25780601f10612687576101008083540402835291602001916126b2565b820191906000526020600020905b81548152906001019060200180831161269557829003601f168201915b50505050508152602001906001019061261a565b5050505091508080548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b815481526020019060010190808311612703575b50505050509050915091509091565b60006127cf600c6000858152602001908152602001600020600301805461274c90615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461277890615e35565b80156127c55780601f1061279a576101008083540402835291602001916127c5565b820191906000526020600020905b8154815290600101906020018083116127a857829003601f168201915b505050505061296a565b5114612810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280790616b6a565b60405180910390fd5b61281c8484848461360b565b6001600c600084815260200190815260200160002060010154036128ff57600b600c600084815260200190815260200160002060030160405161285f919061638d565b908152602001604051809103902060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166128fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f190616bfc565b60405180910390fd5b612959565b6005600c60008481526020019081526020016000206004015414612958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294f90616c8e565b60405180910390fd5b5b61296484848461366d565b50505050565b6060600b8260405161297c9190615a9a565b90815260200160405180910390206002018054806020026020016040519081016040528092919081815260200182805480156129d757602002820191906000526020600020905b8154815260200190600101908083116129c3575b50505050509050919050565b6129eb61331e565b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060612a3a82613b7e565b9050919050565b60118181548110612a5157600080fd5b906000526020600020016000915090505481565b60125481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007358807bad0b376efc12f5ad86aac70e78ed67deae73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ae35760019050612af0565b612aed8383613c90565b90505b92915050565b6060600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208383604051612b47929190616adf565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b82821015612c6b57838290600052602060002090600602016040518060c0016040529081600082015481526020016001820154815260200160028201548152602001600382018054612bc690615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054612bf290615e35565b8015612c3f5780601f10612c1457610100808354040283529160200191612c3f565b820191906000526020600020905b815481529060010190602001808311612c2257829003601f168201915b505050505081526020016004820154815260200160058201548152505081526020019060010190612b75565b5050505090509392505050565b612c8061331e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce690616d20565b60405180910390fd5b612cf8816133d9565b50565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612da457600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050612da8565b3390505b90565b606060008203612df2576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612f06565b600082905060005b60008214612e24578080612e0d90615f83565b915050600a82612e1d9190615c29565b9150612dfa565b60008167ffffffffffffffff811115612e4057612e3f614c60565b5b6040519080825280601f01601f191660200182016040528015612e725781602001600182028036833780820191505090505b5090505b60008514612eff57600182612e8b9190615d07565b9150600a85612e9a9190615d77565b6030612ea69190615c5a565b60f81b818381518110612ebc57612ebb615da8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612ef89190615c29565b9450612e76565b8093505050505b919050565b6000612f176008613d24565b9050612f236008613d32565b80600c60008381526020019081526020016000206000018190555084600c60008381526020019081526020016000206001018190555083600c60008381526020019081526020016000206002018190555082600c60008381526020019081526020016000206003019081612f9791906167ec565b5081600c600083815260200190815260200160002060050181905550600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516130009190615a9a565b9081526020016040518091039020600c600083815260200190815260200160002090806001815401808255809150506001900390600052602060002090600602016000909190919091506000820154816000015560018201548160010155600282015481600201556003820181600301908161307c9190616551565b506004820154816004015560058201548160050155505061309d8782613d48565b6130a781876132b1565b50505050505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061317b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061318b575061318a82613f65565b5b9050919050565b61319b81613fcf565b6131da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d19061690a565b60405180910390fd5b50565b60006131e7612cfb565b905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661325f83611e6e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6132ae81614010565b50565b6132ba82613fcf565b6132f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f090616db2565b60405180910390fd5b8060066000848152602001908152602001600020908161331991906167ec565b505050565b6133266131dd565b73ffffffffffffffffffffffffffffffffffffffff1661334461231f565b73ffffffffffffffffffffffffffffffffffffffff161461339a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339190616e1e565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361350d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161350490616e8a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516135fe9190614e87565b60405180910390a3505050565b61361c6136166131dd565b83614063565b61365b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365290616f1c565b60405180910390fd5b613667848484846140f8565b50505050565b6000600c6000838152602001908152602001600020600301805461369090615e35565b80601f01602080910402602001604051908101604052809291908181526020018280546136bc90615e35565b80156137095780601f106136de57610100808354040283529160200191613709565b820191906000526020600020905b8154815290600101906020018083116136ec57829003601f168201915b5050505050905060005b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516137609190615a9a565b9081526020016040518091039020805490508160ff161015613a9757600c600084815260200190815260200160002060050154600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516137e09190615a9a565b90815260200160405180910390208260ff168154811061380357613802615da8565b5b90600052602060002090600602016005015403613a8457600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516138679190615a9a565b90815260200160405180910390206001600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516138c49190615a9a565b9081526020016040518091039020805490506138e09190615d07565b815481106138f1576138f0615da8565b5b9060005260206000209060060201600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360405161394c9190615a9a565b90815260200160405180910390208260ff168154811061396f5761396e615da8565b5b9060005260206000209060060201600082015481600001556001820154816001015560028201548160020155600382018160030190816139af9190616551565b506004820154816004015560058201548160050155905050600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082604051613a149190615a9a565b9081526020016040518091039020805480613a3257613a31615dd7565b5b600190038181906000526020600020906006020160008082016000905560018201600090556002820160009055600382016000613a6f9190614b9e565b60048201600090556005820160009055505090555b8080613a8f90616646565b915050613713565b50600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081604051613ae59190615a9a565b9081526020016040518091039020600c6000848152602001908152602001600020908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201548160000155600182015481600101556002820154816002015560038201816003019081613b619190616551565b506004820154816004015560058201548160050155505050505050565b6060613b8982613192565b6000600660008481526020019081526020016000208054613ba990615e35565b80601f0160208091040260200160405190810160405280929190818152602001828054613bd590615e35565b8015613c225780601f10613bf757610100808354040283529160200191613c22565b820191906000526020600020905b815481529060010190602001808311613c0557829003601f168201915b505050505090506000613c33614154565b90506000815103613c48578192505050613c8b565b600082511115613c7d578082604051602001613c65929190616f3c565b60405160208183030381529060405292505050613c8b565b613c86846141e6565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dae90616fac565b60405180910390fd5b613dc081613fcf565b15613e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613df790617018565b60405180910390fd5b613e0e60008383600161424e565b613e1781613fcf565b15613e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e4e90617018565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613f61600083836001614260565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16613ff18361339c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61401981614266565b600060066000838152602001908152602001600020805461403990615e35565b9050146140605760066000828152602001908152602001600020600061405f9190614b9e565b5b50565b60008061406f83611e6e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806140b157506140b08185612a91565b5b806140ef57508373ffffffffffffffffffffffffffffffffffffffff166140d78461102f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b6141038484846143b4565b61410f848484846146ad565b61414e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614145906170aa565b60405180910390fd5b50505050565b60606009805461416390615e35565b80601f016020809104026020016040519081016040528092919081815260200182805461418f90615e35565b80156141dc5780601f106141b1576101008083540402835291602001916141dc565b820191906000526020600020905b8154815290600101906020018083116141bf57829003601f168201915b5050505050905090565b60606141f182613192565b60006141fb614154565b9050600081511161421b5760405180602001604052806000815250614246565b8061422584614834565b604051602001614236929190616f3c565b6040516020818303038152906040525b915050919050565b61425a84848484614902565b50505050565b50505050565b600061427182611e6e565b905061428181600084600161424e565b61428a82611e6e565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46143b0816000846001614260565b5050565b8273ffffffffffffffffffffffffffffffffffffffff166143d482611e6e565b73ffffffffffffffffffffffffffffffffffffffff161461442a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016144219061713c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603614499576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614490906171ce565b60405180910390fd5b6144a6838383600161424e565b8273ffffffffffffffffffffffffffffffffffffffff166144c682611e6e565b73ffffffffffffffffffffffffffffffffffffffff161461451c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016145139061713c565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46146a88383836001614260565b505050565b60006146ce8473ffffffffffffffffffffffffffffffffffffffff16614a28565b15614827578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026146f76131dd565b8786866040518563ffffffff1660e01b81526004016147199493929190617238565b6020604051808303816000875af192505050801561475557506040513d601f19601f820116820180604052508101906147529190617299565b60015b6147d7573d8060008114614785576040519150601f19603f3d011682016040523d82523d6000602084013e61478a565b606091505b5060008151036147cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016147c6906170aa565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061482c565b600190505b949350505050565b60606000600161484384614a4b565b01905060008167ffffffffffffffff81111561486257614861614c60565b5b6040519080825280601f01601f1916602001820160405280156148945781602001600182028036833780820191505090505b509050600082602001820190505b6001156148f7578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816148eb576148ea615bfa565b5b049450600085036148a2575b819350505050919050565b6001811115614a2257600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146149965780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461498e9190615d07565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614a215780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254614a199190615c5a565b925050819055505b5b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310614aa9577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381614a9f57614a9e615bfa565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310614ae6576d04ee2d6d415b85acef81000000008381614adc57614adb615bfa565b5b0492506020810190505b662386f26fc100008310614b1557662386f26fc100008381614b0b57614b0a615bfa565b5b0492506010810190505b6305f5e1008310614b3e576305f5e1008381614b3457614b33615bfa565b5b0492506008810190505b6127108310614b63576127108381614b5957614b58615bfa565b5b0492506004810190505b60648310614b865760648381614b7c57614b7b615bfa565b5b0492506002810190505b600a8310614b95576001810190505b80915050919050565b508054614baa90615e35565b6000825580601f10614bbc5750614bdb565b601f016020900490600052602060002090810190614bda9190614bde565b5b50565b5b80821115614bf7576000816000905550600101614bdf565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b614c2281614c0f565b8114614c2d57600080fd5b50565b600081359050614c3f81614c19565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614c9882614c4f565b810181811067ffffffffffffffff82111715614cb757614cb6614c60565b5b80604052505050565b6000614cca614bfb565b9050614cd68282614c8f565b919050565b600067ffffffffffffffff821115614cf657614cf5614c60565b5b614cff82614c4f565b9050602081019050919050565b82818337600083830152505050565b6000614d2e614d2984614cdb565b614cc0565b905082815260208101848484011115614d4a57614d49614c4a565b5b614d55848285614d0c565b509392505050565b600082601f830112614d7257614d71614c45565b5b8135614d82848260208601614d1b565b91505092915050565b60008060408385031215614da257614da1614c05565b5b6000614db085828601614c30565b925050602083013567ffffffffffffffff811115614dd157614dd0614c0a565b5b614ddd85828601614d5d565b9150509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614e1c81614de7565b8114614e2757600080fd5b50565b600081359050614e3981614e13565b92915050565b600060208284031215614e5557614e54614c05565b5b6000614e6384828501614e2a565b91505092915050565b60008115159050919050565b614e8181614e6c565b82525050565b6000602082019050614e9c6000830184614e78565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614edc578082015181840152602081019050614ec1565b60008484015250505050565b6000614ef382614ea2565b614efd8185614ead565b9350614f0d818560208601614ebe565b614f1681614c4f565b840191505092915050565b60006020820190508181036000830152614f3b8184614ee8565b905092915050565b600060208284031215614f5957614f58614c05565b5b6000614f6784828501614c30565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614f9b82614f70565b9050919050565b614fab81614f90565b82525050565b6000602082019050614fc66000830184614fa2565b92915050565b614fd581614f90565b8114614fe057600080fd5b50565b600081359050614ff281614fcc565b92915050565b6000806040838503121561500f5761500e614c05565b5b600061501d85828601614fe3565b925050602061502e85828601614c30565b9150509250929050565b60008060006060848603121561505157615050614c05565b5b600061505f86828701614fe3565b935050602061507086828701614fe3565b925050604061508186828701614c30565b9150509250925092565b6000806000606084860312156150a4576150a3614c05565b5b60006150b286828701614fe3565b935050602084013567ffffffffffffffff8111156150d3576150d2614c0a565b5b6150df86828701614d5d565b92505060406150f086828701614c30565b9150509250925092565b61510381614c0f565b82525050565b600060c08201905061511e60008301896150fa565b61512b60208301886150fa565b61513860408301876150fa565b818103606083015261514a8186614ee8565b905061515960808301856150fa565b61516660a08301846150fa565b979650505050505050565b6000806040838503121561518857615187614c05565b5b600061519685828601614c30565b92505060206151a785828601614c30565b9150509250929050565b6000602082840312156151c7576151c6614c05565b5b600082013567ffffffffffffffff8111156151e5576151e4614c0a565b5b6151f184828501614d5d565b91505092915050565b6000602082840312156152105761520f614c05565b5b600061521e84828501614fe3565b91505092915050565b600060208201905061523c60008301846150fa565b92915050565b600060408201905061525760008301856150fa565b81810360208301526152698184614ee8565b90509392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6152a781614c0f565b82525050565b60006152b9838361529e565b60208301905092915050565b6000602082019050919050565b60006152dd82615272565b6152e7818561527d565b93506152f28361528e565b8060005b8381101561532357815161530a88826152ad565b9750615315836152c5565b9250506001810190506152f6565b5085935050505092915050565b6000602082019050818103600083015261534a81846152d2565b905092915050565b6000806000806080858703121561536c5761536b614c05565b5b600085013567ffffffffffffffff81111561538a57615389614c0a565b5b61539687828801614d5d565b94505060206153a787828801614c30565b93505060406153b887828801614c30565b925050606085013567ffffffffffffffff8111156153d9576153d8614c0a565b5b6153e587828801614d5d565b91505092959194509250565b600080fd5b600080fd5b60008083601f84011261541157615410614c45565b5b8235905067ffffffffffffffff81111561542e5761542d6153f1565b5b60208301915083600182028301111561544a576154496153f6565b5b9250929050565b6000806020838503121561546857615467614c05565b5b600083013567ffffffffffffffff81111561548657615485614c0a565b5b615492858286016153fb565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6154d381614f90565b82525050565b60006154e583836154ca565b60208301905092915050565b6000602082019050919050565b60006155098261549e565b61551381856154a9565b935061551e836154ba565b8060005b8381101561554f57815161553688826154d9565b9750615541836154f1565b925050600181019050615522565b5085935050505092915050565b6000602082019050818103600083015261557681846154fe565b905092915050565b61558781614e6c565b811461559257600080fd5b50565b6000813590506155a48161557e565b92915050565b600080604083850312156155c1576155c0614c05565b5b60006155cf85828601614fe3565b92505060206155e085828601615595565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061563282614ea2565b61563c8185615616565b935061564c818560208601614ebe565b61565581614c4f565b840191505092915050565b600061566c8383615627565b905092915050565b6000602082019050919050565b600061568c826155ea565b61569681856155f5565b9350836020820285016156a885615606565b8060005b858110156156e457848403895281516156c58582615660565b94506156d083615674565b925060208a019950506001810190506156ac565b50829750879550505050505092915050565b600060408201905081810360008301526157108185615681565b9050818103602083015261572481846152d2565b90509392505050565b600067ffffffffffffffff82111561574857615747614c60565b5b61575182614c4f565b9050602081019050919050565b600061577161576c8461572d565b614cc0565b90508281526020810184848401111561578d5761578c614c4a565b5b615798848285614d0c565b509392505050565b600082601f8301126157b5576157b4614c45565b5b81356157c584826020860161575e565b91505092915050565b600080600080608085870312156157e8576157e7614c05565b5b60006157f687828801614fe3565b945050602061580787828801614fe3565b935050604061581887828801614c30565b925050606085013567ffffffffffffffff81111561583957615838614c0a565b5b615845878288016157a0565b91505092959194509250565b6000806040838503121561586857615867614c05565b5b600061587685828601614fe3565b925050602061588785828601614fe3565b9150509250929050565b6000806000604084860312156158aa576158a9614c05565b5b60006158b886828701614fe3565b935050602084013567ffffffffffffffff8111156158d9576158d8614c0a565b5b6158e5868287016153fb565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600060c083016000830151615935600086018261529e565b506020830151615948602086018261529e565b50604083015161595b604086018261529e565b50606083015184820360608601526159738282615627565b9150506080830151615988608086018261529e565b5060a083015161599b60a086018261529e565b508091505092915050565b60006159b2838361591d565b905092915050565b6000602082019050919050565b60006159d2826158f1565b6159dc81856158fc565b9350836020820285016159ee8561590d565b8060005b85811015615a2a5784840389528151615a0b85826159a6565b9450615a16836159ba565b925060208a019950506001810190506159f2565b50829750879550505050505092915050565b60006020820190508181036000830152615a5681846159c7565b905092915050565b600081905092915050565b6000615a7482614ea2565b615a7e8185615a5e565b9350615a8e818560208601614ebe565b80840191505092915050565b6000615aa68284615a69565b915081905092915050565b7f59612074656e657320756e207061636b2077616368696e000000000000000000600082015250565b6000615ae7601783614ead565b9150615af282615ab1565b602082019050919050565b60006020820190508181036000830152615b1681615ada565b9050919050565b7f53656e6420657861637420707269636520666f72205061636b00000000000000600082015250565b6000615b53601983614ead565b9150615b5e82615b1d565b602082019050919050565b60006020820190508181036000830152615b8281615b46565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000615bc382614c0f565b9150615bce83614c0f565b9250828202615bdc81614c0f565b91508282048414831517615bf357615bf2615b89565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000615c3482614c0f565b9150615c3f83614c0f565b925082615c4f57615c4e615bfa565b5b828204905092915050565b6000615c6582614c0f565b9150615c7083614c0f565b9250828201905080821115615c8857615c87615b89565b5b92915050565b6000606082019050615ca36000830186614fa2565b615cb06020830185614fa2565b615cbd60408301846150fa565b949350505050565b600081519050615cd48161557e565b92915050565b600060208284031215615cf057615cef614c05565b5b6000615cfe84828501615cc5565b91505092915050565b6000615d1282614c0f565b9150615d1d83614c0f565b9250828203905081811115615d3557615d34615b89565b5b92915050565b6000819050919050565b615d56615d5182614c0f565b615d3b565b82525050565b6000615d688284615d45565b60208201915081905092915050565b6000615d8282614c0f565b9150615d8d83614c0f565b925082615d9d57615d9c615bfa565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680615e4d57607f821691505b602082108103615e6057615e5f615e06565b5b50919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154615e9381615e35565b615e9d8186615e66565b94506001821660008114615eb85760018114615ecd57615f00565b60ff1983168652811515820286019350615f00565b615ed685615e71565b60005b83811015615ef857815481890152600182019150602081019050615ed9565b838801955050505b50505092915050565b600081519050919050565b6000615f1f82615f09565b615f298185615e66565b9350615f39818560208601614ebe565b80840191505092915050565b6000615f518287615e86565b9150615f5d8286615f14565b9150615f698285615f14565b9150615f758284615f14565b915081905095945050505050565b6000615f8e82614c0f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615fc057615fbf615b89565b5b600182019050919050565b6000604082019050615fe06000830185614fa2565b8181036020830152615ff28184614ee8565b90509392505050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000616057602183614ead565b915061606282615ffb565b604082019050919050565b600060208201905081810360008301526160868161604a565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006160e9603d83614ead565b91506160f48261608d565b604082019050919050565b60006020820190508181036000830152616118816160dc565b9050919050565b7f54686973206973206e6f7420796f757220636172640000000000000000000000600082015250565b6000616155601583614ead565b91506161608261611f565b602082019050919050565b6000602082019050818103600083015261618481616148565b9050919050565b7f54686973206973206e6f7420796f757220616c62756d00000000000000000000600082015250565b60006161c1601683614ead565b91506161cc8261618b565b602082019050919050565b600060208201905081810360008301526161f0816161b4565b9050919050565b7f63617264206973206e6f7420616e20616c62756d000000000000000000000000600082015250565b600061622d601483614ead565b9150616238826161f7565b602082019050919050565b6000602082019050818103600083015261625c81616220565b9050919050565b7f6361726473206973206e6f742066726f6d207468652073616d6520636f6c6c6560008201527f6374696f6e000000000000000000000000000000000000000000000000000000602082015250565b60006162bf602583614ead565b91506162ca82616263565b604082019050919050565b600060208201905081810360008301526162ee816162b2565b9050919050565b60008190508160005260206000209050919050565b6000815461631781615e35565b6163218186615a5e565b9450600182166000811461633c576001811461635157616384565b60ff1983168652811515820286019350616384565b61635a856162f5565b60005b8381101561637c5781548189015260018201915060208101905061635d565b838801955050505b50505092915050565b6000616399828461630a565b915081905092915050565b6000815490506163b381615e35565b9050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026164077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826163ca565b61641186836163ca565b95508019841693508086168417925050509392505050565b6000819050919050565b600061644e61644961644484614c0f565b616429565b614c0f565b9050919050565b6000819050919050565b61646883616433565b61647c61647482616455565b8484546163d7565b825550505050565b600090565b616491616484565b61649c81848461645f565b505050565b5b818110156164c0576164b5600082616489565b6001810190506164a2565b5050565b601f821115616505576164d6816162f5565b6164df846163ba565b810160208510156164ee578190505b6165026164fa856163ba565b8301826164a1565b50505b505050565b600082821c905092915050565b60006165286000198460080261650a565b1980831691505092915050565b60006165418383616517565b9150826002028217905092915050565b81810361655f575050616637565b616568826163a4565b67ffffffffffffffff81111561658157616580614c60565b5b61658b8254615e35565b6165968282856164c4565b6000601f8311600181146165c557600084156165b3578287015490505b6165bd8582616535565b865550616630565b601f1984166165d3876162f5565b96506165de866162f5565b60005b82811015616606578489015482556001820191506001850194506020810190506165e1565b86831015616623578489015461661f601f891682616517565b8355505b6001600288020188555050505b5050505050505b565b600060ff82169050919050565b600061665182616639565b915060ff820361666457616663615b89565b5b600182019050919050565b7f5072697a65206d757374206265206c6f776572206f7220657175616c2074686160008201527f6e207072697a65732062616c616e636500000000000000000000000000000000602082015250565b60006166cb603083614ead565b91506166d68261666f565b604082019050919050565b600060208201905081810360008301526166fa816166be565b9050919050565b60006040820190506167166000830185614fa2565b61672360208301846150fa565b9392505050565b6000815461673781615e35565b6167418186614ead565b9450600182166000811461675c5760018114616772576167a5565b60ff1983168652811515602002860193506167a5565b61677b856162f5565b60005b8381101561679d5781548189015260018201915060208101905061677e565b808801955050505b50505092915050565b60006060820190506167c36000830186614fa2565b81810360208301526167d5818561672a565b90506167e460408301846150fa565b949350505050565b6167f582614ea2565b67ffffffffffffffff81111561680e5761680d614c60565b5b6168188254615e35565b6168238282856164c4565b600060209050601f8311600181146168565760008415616844578287015190505b61684e8582616535565b8655506168b6565b601f198416616864866162f5565b60005b8281101561688c57848901518255600182019150602085019450602081019050616867565b868310156168a957848901516168a5601f891682616517565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006168f4601883614ead565b91506168ff826168be565b602082019050919050565b60006020820190508181036000830152616923816168e7565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000616986602983614ead565b91506169918261692a565b604082019050919050565b600060208201905081810360008301526169b581616979565b9050919050565b7f7061636b2076616c7565206d757374206265206174206c6561737420302e303060008201527f3031204441490000000000000000000000000000000000000000000000000000602082015250565b6000616a18602683614ead565b9150616a23826169bc565b604082019050919050565b60006020820190508181036000830152616a4781616a0b565b9050919050565b7f416d6f756e74206d757374206265206d756c7469706c65206f66203600000000600082015250565b6000616a84601c83614ead565b9150616a8f82616a4e565b602082019050919050565b60006020820190508181036000830152616ab381616a77565b9050919050565b6000616ac68385615a5e565b9350616ad3838584614d0c565b82840190509392505050565b6000616aec828486616aba565b91508190509392505050565b7f54686572652061726520616c62756d7320617661696c61626c6520696e20746860008201527f697320736561736f6e0000000000000000000000000000000000000000000000602082015250565b6000616b54602983614ead565b9150616b5f82616af8565b604082019050919050565b60006020820190508181036000830152616b8381616b47565b9050919050565b7f5265636569766572206973206e6f7420706c6179696e6720746869732073656160008201527f736f6e0000000000000000000000000000000000000000000000000000000000602082015250565b6000616be6602383614ead565b9150616bf182616b8a565b604082019050919050565b60006020820190508181036000830152616c1581616bd9565b9050919050565b7f4f6e6c7920636f6d706c6574656420616c62756d732063616e2062652074726160008201527f6e73666572726564000000000000000000000000000000000000000000000000602082015250565b6000616c78602883614ead565b9150616c8382616c1c565b604082019050919050565b60006020820190508181036000830152616ca781616c6b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000616d0a602683614ead565b9150616d1582616cae565b604082019050919050565b60006020820190508181036000830152616d3981616cfd565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000616d9c602e83614ead565b9150616da782616d40565b604082019050919050565b60006020820190508181036000830152616dcb81616d8f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000616e08602083614ead565b9150616e1382616dd2565b602082019050919050565b60006020820190508181036000830152616e3781616dfb565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000616e74601983614ead565b9150616e7f82616e3e565b602082019050919050565b60006020820190508181036000830152616ea381616e67565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000616f06602d83614ead565b9150616f1182616eaa565b604082019050919050565b60006020820190508181036000830152616f3581616ef9565b9050919050565b6000616f488285615a69565b9150616f548284615a69565b91508190509392505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000616f96602083614ead565b9150616fa182616f60565b602082019050919050565b60006020820190508181036000830152616fc581616f89565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000617002601c83614ead565b915061700d82616fcc565b602082019050919050565b6000602082019050818103600083015261703181616ff5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000617094603283614ead565b915061709f82617038565b604082019050919050565b600060208201905081810360008301526170c381617087565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000617126602583614ead565b9150617131826170ca565b604082019050919050565b6000602082019050818103600083015261715581617119565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006171b8602483614ead565b91506171c38261715c565b604082019050919050565b600060208201905081810360008301526171e7816171ab565b9050919050565b600082825260208201905092915050565b600061720a82615f09565b61721481856171ee565b9350617224818560208601614ebe565b61722d81614c4f565b840191505092915050565b600060808201905061724d6000830187614fa2565b61725a6020830186614fa2565b61726760408301856150fa565b818103606083015261727981846171ff565b905095945050505050565b60008151905061729381614e13565b92915050565b6000602082840312156172af576172ae614c05565b5b60006172bd84828501617284565b9150509291505056fea264697066735822122058511edf59e45c3952747f2b02c5e3fcf370c9d3288743b4e8a206d6e69d02f764736f6c63430008120033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/AccessControl.dbg.json b/src/context/abis/_old/TestDAI.sol/AccessControl.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/AccessControl.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/AccessControl.json b/src/context/abis/_old/TestDAI.sol/AccessControl.json deleted file mode 100644 index 94a1c02c..00000000 --- a/src/context/abis/_old/TestDAI.sol/AccessControl.json +++ /dev/null @@ -1,239 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AccessControl", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRoleMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleMemberCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/AccessControlMixin.dbg.json b/src/context/abis/_old/TestDAI.sol/AccessControlMixin.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/AccessControlMixin.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/AccessControlMixin.json b/src/context/abis/_old/TestDAI.sol/AccessControlMixin.json deleted file mode 100644 index 5ade5c95..00000000 --- a/src/context/abis/_old/TestDAI.sol/AccessControlMixin.json +++ /dev/null @@ -1,239 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AccessControlMixin", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRoleMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleMemberCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610a32806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806391d148541161005b57806391d14854146101e3578063a217fddf14610249578063ca15c87314610267578063d547741f146102a957610088565b8063248a9ca31461008d5780632f2ff15d146100cf57806336568abe1461011d5780639010d07c1461016b575b600080fd5b6100b9600480360360208110156100a357600080fd5b81019080803590602001909291905050506102f7565b6040518082815260200191505060405180910390f35b61011b600480360360408110156100e557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610316565b005b6101696004803603604081101561013357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061039f565b005b6101a16004803603604081101561018157600080fd5b810190808035906020019092919080359060200190929190505050610438565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61022f600480360360408110156101f957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610469565b604051808215151515815260200191505060405180910390f35b61025161049a565b6040518082815260200191505060405180910390f35b6102936004803603602081101561027d57600080fd5b81019080803590602001909291905050506104a1565b6040518082815260200191505060405180910390f35b6102f5600480360360408110156102bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104c7565b005b6000806000838152602001908152602001600020600201549050919050565b61033c60008084815260200190815260200160002060020154610337610550565b610469565b610391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061096f602f913960400191505060405180910390fd5b61039b8282610558565b5050565b6103a7610550565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806109ce602f913960400191505060405180910390fd5b61043482826105eb565b5050565b60006104618260008086815260200190815260200160002060000161067e90919063ffffffff16565b905092915050565b60006104928260008086815260200190815260200160002060000161069890919063ffffffff16565b905092915050565b6000801b81565b60006104c06000808481526020019081526020016000206000016106c8565b9050919050565b6104ed600080848152602001908152602001600020600201546104e8610550565b610469565b610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061099e6030913960400191505060405180910390fd5b61054c82826105eb565b5050565b600033905090565b61057f816000808581526020019081526020016000206000016106dd90919063ffffffff16565b156105e75761058c610550565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6106128160008085815260200190815260200160002060000161070d90919063ffffffff16565b1561067a5761061f610550565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061068d836000018361073d565b60001c905092915050565b60006106c0836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6107c0565b905092915050565b60006106d6826000016107e3565b9050919050565b6000610705836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6107f4565b905092915050565b6000610735836000018373ffffffffffffffffffffffffffffffffffffffff1660001b610864565b905092915050565b60008183600001805490501161079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061094d6022913960400191505060405180910390fd5b8260000182815481106107ad57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600061080083836107c0565b61085957826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061085e565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461094057600060018203905060006001866000018054905003905060008660000182815481106108af57fe5b90600052602060002001549050808760000184815481106108cc57fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061090457fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610946565b60009150505b9291505056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220983f30de7b280650a347bb9ea3be75a04d71fcafffcd19f9134212f7366a823f64736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806391d148541161005b57806391d14854146101e3578063a217fddf14610249578063ca15c87314610267578063d547741f146102a957610088565b8063248a9ca31461008d5780632f2ff15d146100cf57806336568abe1461011d5780639010d07c1461016b575b600080fd5b6100b9600480360360208110156100a357600080fd5b81019080803590602001909291905050506102f7565b6040518082815260200191505060405180910390f35b61011b600480360360408110156100e557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610316565b005b6101696004803603604081101561013357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061039f565b005b6101a16004803603604081101561018157600080fd5b810190808035906020019092919080359060200190929190505050610438565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61022f600480360360408110156101f957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610469565b604051808215151515815260200191505060405180910390f35b61025161049a565b6040518082815260200191505060405180910390f35b6102936004803603602081101561027d57600080fd5b81019080803590602001909291905050506104a1565b6040518082815260200191505060405180910390f35b6102f5600480360360408110156102bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104c7565b005b6000806000838152602001908152602001600020600201549050919050565b61033c60008084815260200190815260200160002060020154610337610550565b610469565b610391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061096f602f913960400191505060405180910390fd5b61039b8282610558565b5050565b6103a7610550565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806109ce602f913960400191505060405180910390fd5b61043482826105eb565b5050565b60006104618260008086815260200190815260200160002060000161067e90919063ffffffff16565b905092915050565b60006104928260008086815260200190815260200160002060000161069890919063ffffffff16565b905092915050565b6000801b81565b60006104c06000808481526020019081526020016000206000016106c8565b9050919050565b6104ed600080848152602001908152602001600020600201546104e8610550565b610469565b610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061099e6030913960400191505060405180910390fd5b61054c82826105eb565b5050565b600033905090565b61057f816000808581526020019081526020016000206000016106dd90919063ffffffff16565b156105e75761058c610550565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6106128160008085815260200190815260200160002060000161070d90919063ffffffff16565b1561067a5761061f610550565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061068d836000018361073d565b60001c905092915050565b60006106c0836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6107c0565b905092915050565b60006106d6826000016107e3565b9050919050565b6000610705836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6107f4565b905092915050565b6000610735836000018373ffffffffffffffffffffffffffffffffffffffff1660001b610864565b905092915050565b60008183600001805490501161079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061094d6022913960400191505060405180910390fd5b8260000182815481106107ad57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600061080083836107c0565b61085957826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061085e565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461094057600060018203905060006001866000018054905003905060008660000182815481106108af57fe5b90600052602060002001549050808760000184815481106108cc57fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061090457fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610946565b60009150505b9291505056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220983f30de7b280650a347bb9ea3be75a04d71fcafffcd19f9134212f7366a823f64736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/Address.dbg.json b/src/context/abis/_old/TestDAI.sol/Address.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/Address.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/Address.json b/src/context/abis/_old/TestDAI.sol/Address.json deleted file mode 100644 index f24f3aa0..00000000 --- a/src/context/abis/_old/TestDAI.sol/Address.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Address", - "sourceName": "contracts/TestDAI.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122067bdd0f5f84c1f35dee0912e099cea049cfd9171fb063b9fcaff885ef1584fbb64736f6c63430006060033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122067bdd0f5f84c1f35dee0912e099cea049cfd9171fb063b9fcaff885ef1584fbb64736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/ChainConstants.dbg.json b/src/context/abis/_old/TestDAI.sol/ChainConstants.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/ChainConstants.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/ChainConstants.json b/src/context/abis/_old/TestDAI.sol/ChainConstants.json deleted file mode 100644 index 569c6028..00000000 --- a/src/context/abis/_old/TestDAI.sol/ChainConstants.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ChainConstants", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "inputs": [], - "name": "CHILD_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CHILD_CHAIN_ID_BYTES", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ERC712_VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ROOT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ROOT_CHAIN_ID_BYTES", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061030c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630b54817c1461005c5780630dd7531a146100df5780630f7e597014610162578063626381a0146101e55780638acfcaf714610203575b600080fd5b610064610221565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a4578082015181840152602081019050610089565b50505050905090810190601f1680156100d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100e761025a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016a610293565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101aa57808201518184015260208101905061018f565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ed6102cc565b6040518082815260200191505060405180910390f35b61020b6102d1565b6040518082815260200191505060405180910390f35b6040518060400160405280600181526020017f890000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f010000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b608981565b60018156fea26469706673582212207264ff96ab3e6b99e3e693c40ad6d864eb9d0185185360328f13ef0e38403a0564736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630b54817c1461005c5780630dd7531a146100df5780630f7e597014610162578063626381a0146101e55780638acfcaf714610203575b600080fd5b610064610221565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a4578082015181840152602081019050610089565b50505050905090810190601f1680156100d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100e761025a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016a610293565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101aa57808201518184015260208101905061018f565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ed6102cc565b6040518082815260200191505060405180910390f35b61020b6102d1565b6040518082815260200191505060405180910390f35b6040518060400160405280600181526020017f890000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f010000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b608981565b60018156fea26469706673582212207264ff96ab3e6b99e3e693c40ad6d864eb9d0185185360328f13ef0e38403a0564736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/Context.dbg.json b/src/context/abis/_old/TestDAI.sol/Context.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/Context.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/Context.json b/src/context/abis/_old/TestDAI.sol/Context.json deleted file mode 100644 index 9407c9c4..00000000 --- a/src/context/abis/_old/TestDAI.sol/Context.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Context", - "sourceName": "contracts/TestDAI.sol", - "abi": [], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/ContextMixin.dbg.json b/src/context/abis/_old/TestDAI.sol/ContextMixin.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/ContextMixin.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/ContextMixin.json b/src/context/abis/_old/TestDAI.sol/ContextMixin.json deleted file mode 100644 index 6fd33bb4..00000000 --- a/src/context/abis/_old/TestDAI.sol/ContextMixin.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ContextMixin", - "sourceName": "contracts/TestDAI.sol", - "abi": [], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/EIP712Base.dbg.json b/src/context/abis/_old/TestDAI.sol/EIP712Base.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/EIP712Base.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/EIP712Base.json b/src/context/abis/_old/TestDAI.sol/EIP712Base.json deleted file mode 100644 index e5981a76..00000000 --- a/src/context/abis/_old/TestDAI.sol/EIP712Base.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "EIP712Base", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDomainSeperator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405260008060006101000a81548160ff02191690831515021790555034801561002a57600080fd5b5060bc806100396000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806320379ee51460375780633408e470146053575b600080fd5b603d606f565b6040518082815260200191505060405180910390f35b60596079565b6040518082815260200191505060405180910390f35b6000600154905090565b600080469050809150509056fea264697066735822122090e80096a67f9843fe18e2741c4f6f7a7767e4f2a699ec2135fff0aea85ae46c64736f6c63430006060033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806320379ee51460375780633408e470146053575b600080fd5b603d606f565b6040518082815260200191505060405180910390f35b60596079565b6040518082815260200191505060405180910390f35b6000600154905090565b600080469050809150509056fea264697066735822122090e80096a67f9843fe18e2741c4f6f7a7767e4f2a699ec2135fff0aea85ae46c64736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/ERC20.dbg.json b/src/context/abis/_old/TestDAI.sol/ERC20.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/ERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/ERC20.json b/src/context/abis/_old/TestDAI.sol/ERC20.json deleted file mode 100644 index 59c7d535..00000000 --- a/src/context/abis/_old/TestDAI.sol/ERC20.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620013bb380380620013bb833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040525050508160039080519060200190620001cd9291906200020b565b508060049080519060200190620001e69291906200020b565b506012600560006101000a81548160ff021916908360ff1602179055505050620002ba565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024e57805160ff19168380011785556200027f565b828001600101855582156200027f579182015b828111156200027e57825182559160200191906001019062000261565b5b5090506200028e919062000292565b5090565b620002b791905b80821115620002b357600081600090555060010162000299565b5090565b90565b6110f180620002ca6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110736024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fde6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061104e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fbb6023913960400191505060405180910390fd5b610cc3838383610fb5565b610d2e81604051806060016040528060268152602001611000602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c320f8ccd8561789ddfd737ec7e64965c3ef5100048b2a4146ae89f00d28790b64736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110736024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fde6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061104e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fbb6023913960400191505060405180910390fd5b610cc3838383610fb5565b610d2e81604051806060016040528060268152602001611000602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c320f8ccd8561789ddfd737ec7e64965c3ef5100048b2a4146ae89f00d28790b64736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/EnumerableSet.dbg.json b/src/context/abis/_old/TestDAI.sol/EnumerableSet.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/EnumerableSet.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/EnumerableSet.json b/src/context/abis/_old/TestDAI.sol/EnumerableSet.json deleted file mode 100644 index cf718878..00000000 --- a/src/context/abis/_old/TestDAI.sol/EnumerableSet.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "EnumerableSet", - "sourceName": "contracts/TestDAI.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200dde5737b41951b69eb4e8ce3088f4a146ea7edd2be852f56f5d059f9706ec4364736f6c63430006060033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200dde5737b41951b69eb4e8ce3088f4a146ea7edd2be852f56f5d059f9706ec4364736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/IChildToken.dbg.json b/src/context/abis/_old/TestDAI.sol/IChildToken.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/IChildToken.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/IChildToken.json b/src/context/abis/_old/TestDAI.sol/IChildToken.json deleted file mode 100644 index db91a048..00000000 --- a/src/context/abis/_old/TestDAI.sol/IChildToken.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IChildToken", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "bytes", - "name": "depositData", - "type": "bytes" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/IERC20.dbg.json b/src/context/abis/_old/TestDAI.sol/IERC20.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/IERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/IERC20.json b/src/context/abis/_old/TestDAI.sol/IERC20.json deleted file mode 100644 index fcb16628..00000000 --- a/src/context/abis/_old/TestDAI.sol/IERC20.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/Initializable.dbg.json b/src/context/abis/_old/TestDAI.sol/Initializable.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/Initializable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/Initializable.json b/src/context/abis/_old/TestDAI.sol/Initializable.json deleted file mode 100644 index 52e7f5ca..00000000 --- a/src/context/abis/_old/TestDAI.sol/Initializable.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Initializable", - "sourceName": "contracts/TestDAI.sol", - "abi": [], - "bytecode": "0x608060405260008060006101000a81548160ff021916908315150217905550348015602957600080fd5b50603f8060376000396000f3fe6080604052600080fdfea2646970667358221220d6425d6b19c221b7ba4cd4702d56a84fc0dd1c021506ec7e6a6da1f14cffbf0a64736f6c63430006060033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220d6425d6b19c221b7ba4cd4702d56a84fc0dd1c021506ec7e6a6da1f14cffbf0a64736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.dbg.json b/src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.json b/src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.json deleted file mode 100644 index b0fcdb10..00000000 --- a/src/context/abis/_old/TestDAI.sol/NativeMetaTransaction.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "NativeMetaTransaction", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "userAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address payable", - "name": "relayerAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "functionSignature", - "type": "bytes" - } - ], - "name": "MetaTransactionExecuted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "userAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "functionSignature", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "sigR", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "sigS", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "sigV", - "type": "uint8" - } - ], - "name": "executeMetaTransaction", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDomainSeperator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405260008060006101000a81548160ff02191690831515021790555034801561002a57600080fd5b50610aec8061003a6000396000f3fe60806040526004361061003f5760003560e01c80630c53c51c1461004457806320379ee5146101b95780632d0335ab146101e45780633408e47014610249575b600080fd5b61013e600480360360a081101561005a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561009757600080fd5b8201836020820111156100a957600080fd5b803590602001918460018302840111640100000000831117156100cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803560ff169060200190929190505050610274565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017e578082015181840152602081019050610163565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101ce6106ca565b6040518082815260200191505060405180910390f35b3480156101f057600080fd5b506102336004803603602081101561020757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106d4565b6040518082815260200191505060405180910390f35b34801561025557600080fd5b5061025e61071d565b6040518082815260200191505060405180910390f35b606061027e6109f6565b6040518060600160405280600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506102fd878287878761072a565b610352576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610a966021913960400191505060405180910390fd5b6103a56001600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461086190919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b873388604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104b0578082015181840152602081019050610495565b50505050905090810190601f1680156104dd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600060603073ffffffffffffffffffffffffffffffffffffffff16888a6040516020018083805190602001908083835b6020831061053f578051825260208201915060208101905060208303925061051c565b6001836020036101000a0380198251168184511680821785525050505050509050018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b602083106105dc57805182526020820191506020810190506020830392506105b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461063e576040519150601f19603f3d011682016040523d82523d6000602084013e610643565b606091505b5091509150816106bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000081525060200191505060405180910390fd5b80935050505095945050505050565b6000600154905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000804690508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156107b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610a716025913960400191505060405180910390fd5b60016107c46107bf876108e9565b61098f565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561081e573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b6000808284019050838110156108df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000604051806080016040528060438152602001610a2e604391398051906020012082600001518360200151846040015180519060200120604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b60006109996106ca565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152509056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e6174757265294e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e45525369676e657220616e64207369676e617475726520646f206e6f74206d61746368a26469706673582212207350b77f00a89b2b66819533770be2988f57111405caa972486d76125bc2eca064736f6c63430006060033", - "deployedBytecode": "0x60806040526004361061003f5760003560e01c80630c53c51c1461004457806320379ee5146101b95780632d0335ab146101e45780633408e47014610249575b600080fd5b61013e600480360360a081101561005a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561009757600080fd5b8201836020820111156100a957600080fd5b803590602001918460018302840111640100000000831117156100cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803560ff169060200190929190505050610274565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017e578082015181840152602081019050610163565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101ce6106ca565b6040518082815260200191505060405180910390f35b3480156101f057600080fd5b506102336004803603602081101561020757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106d4565b6040518082815260200191505060405180910390f35b34801561025557600080fd5b5061025e61071d565b6040518082815260200191505060405180910390f35b606061027e6109f6565b6040518060600160405280600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506102fd878287878761072a565b610352576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610a966021913960400191505060405180910390fd5b6103a56001600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461086190919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b873388604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104b0578082015181840152602081019050610495565b50505050905090810190601f1680156104dd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600060603073ffffffffffffffffffffffffffffffffffffffff16888a6040516020018083805190602001908083835b6020831061053f578051825260208201915060208101905060208303925061051c565b6001836020036101000a0380198251168184511680821785525050505050509050018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b602083106105dc57805182526020820191506020810190506020830392506105b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461063e576040519150601f19603f3d011682016040523d82523d6000602084013e610643565b606091505b5091509150816106bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000081525060200191505060405180910390fd5b80935050505095945050505050565b6000600154905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000804690508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156107b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610a716025913960400191505060405180910390fd5b60016107c46107bf876108e9565b61098f565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561081e573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b6000808284019050838110156108df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000604051806080016040528060438152602001610a2e604391398051906020012082600001518360200151846040015180519060200120604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b60006109996106ca565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152509056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e6174757265294e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e45525369676e657220616e64207369676e617475726520646f206e6f74206d61746368a26469706673582212207350b77f00a89b2b66819533770be2988f57111405caa972486d76125bc2eca064736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/SafeMath.dbg.json b/src/context/abis/_old/TestDAI.sol/SafeMath.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/SafeMath.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/SafeMath.json b/src/context/abis/_old/TestDAI.sol/SafeMath.json deleted file mode 100644 index 84dc57cc..00000000 --- a/src/context/abis/_old/TestDAI.sol/SafeMath.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SafeMath", - "sourceName": "contracts/TestDAI.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c14349d1754d5590d68ec942300a6a4a045a5552343ccf6387ba0c7fcb4ef66364736f6c63430006060033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c14349d1754d5590d68ec942300a6a4a045a5552343ccf6387ba0c7fcb4ef66364736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/UChildDAI.dbg.json b/src/context/abis/_old/TestDAI.sol/UChildDAI.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/UChildDAI.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/UChildDAI.json b/src/context/abis/_old/TestDAI.sol/UChildDAI.json deleted file mode 100644 index 2326a0bb..00000000 --- a/src/context/abis/_old/TestDAI.sol/UChildDAI.json +++ /dev/null @@ -1,888 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "UChildDAI", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "userAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address payable", - "name": "relayerAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "functionSignature", - "type": "bytes" - } - ], - "name": "MetaTransactionExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "CHILD_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CHILD_CHAIN_ID_BYTES", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEPOSITOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ERC712_VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ROOT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ROOT_CHAIN_ID_BYTES", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ], - "name": "changeName", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "bytes", - "name": "depositData", - "type": "bytes" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "userAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "functionSignature", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "sigR", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "sigS", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "sigV", - "type": "uint8" - } - ], - "name": "executeMetaTransaction", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDomainSeperator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRoleMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleMemberCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "childChainManager", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "move", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "allowed", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "usr", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "pull", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "usr", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "push", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526000600860006101000a81548160ff021916908315150217905550604051806020016040528060008152506040518060200160405280600081525081600390805190602001906200005792919062000095565b5080600490805190602001906200007092919062000095565b506012600560006101000a81548160ff021916908360ff160217905550505062000144565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000d857805160ff191683800117855562000109565b8280016001018555821562000109579182015b8281111562000108578251825591602001919060010190620000eb565b5b5090506200011891906200011c565b5090565b6200014191905b808211156200013d57600081600090555060010162000123565b5090565b90565b61402780620001546000396000f3fe6080604052600436106102255760003560e01c8063626381a011610123578063a457c2d7116100ab578063cf2c52cb1161006f578063cf2c52cb14610fb7578063d547741f1461105d578063dd62ed3e146110b8578063de7ea79d1461113d578063f2d5d56b1461124557610225565b8063a457c2d714610dac578063a9059cbb14610e1f578063b753a98c14610e92578063bb35783b14610eed578063ca15c87314610f6857610225565b80639010d07c116100f25780639010d07c14610bce57806391d1485414610c5357806395d89b4114610cc6578063a217fddf14610d56578063a3b0b5a314610d8157610225565b8063626381a014610a6057806370a0823114610a8b5780638acfcaf714610af05780638fcbaf0c14610b1b57610225565b8063248a9ca3116101b1578063313ce56711610175578063313ce567146108b05780633408e470146108e157806336568abe1461090c57806339509351146109675780635353a2d8146109da57610225565b8063248a9ca31461073b5780632d0335ab1461078a5780632e1a7d4d146107ef5780632f2ff15d1461082a57806330adf81f1461088557610225565b80630dd7531a116101f85780630dd7531a146105325780630f7e5970146105c257806318160ddd1461065257806320379ee51461067d57806323b872dd146106a857610225565b806306fdde031461022a578063095ea7b3146102ba5780630b54817c1461032d5780630c53c51c146103bd575b600080fd5b34801561023657600080fd5b5061023f6112a0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561027f578082015181840152602081019050610264565b50505050905090810190601f1680156102ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c657600080fd5b50610313600480360360408110156102dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611342565b604051808215151515815260200191505060405180910390f35b34801561033957600080fd5b50610342611360565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610382578082015181840152602081019050610367565b50505050905090810190601f1680156103af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104b7600480360360a08110156103d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561041057600080fd5b82018360208201111561042257600080fd5b8035906020019184600183028401116401000000008311171561044457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803560ff169060200190929190505050611399565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f75780820151818401526020810190506104dc565b50505050905090810190601f1680156105245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561053e57600080fd5b506105476117ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058757808201518184015260208101905061056c565b50505050905090810190601f1680156105b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105ce57600080fd5b506105d7611828565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106175780820151818401526020810190506105fc565b50505050905090810190601f1680156106445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561065e57600080fd5b50610667611861565b6040518082815260200191505060405180910390f35b34801561068957600080fd5b5061069261186b565b6040518082815260200191505060405180910390f35b3480156106b457600080fd5b50610721600480360360608110156106cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611875565b604051808215151515815260200191505060405180910390f35b34801561074757600080fd5b506107746004803603602081101561075e57600080fd5b810190808035906020019092919050505061194e565b6040518082815260200191505060405180910390f35b34801561079657600080fd5b506107d9600480360360208110156107ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061196e565b6040518082815260200191505060405180910390f35b3480156107fb57600080fd5b506108286004803603602081101561081257600080fd5b81019080803590602001909291905050506119b7565b005b34801561083657600080fd5b506108836004803603604081101561084d57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119cb565b005b34801561089157600080fd5b5061089a611a55565b6040518082815260200191505060405180910390f35b3480156108bc57600080fd5b506108c5611a7c565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108ed57600080fd5b506108f6611a93565b6040518082815260200191505060405180910390f35b34801561091857600080fd5b506109656004803603604081101561092f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa0565b005b34801561097357600080fd5b506109c06004803603604081101561098a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b39565b604051808215151515815260200191505060405180910390f35b3480156109e657600080fd5b50610a5e600480360360208110156109fd57600080fd5b8101908080359060200190640100000000811115610a1a57600080fd5b820183602082011115610a2c57600080fd5b80359060200191846001830284011164010000000083111715610a4e57600080fd5b9091929391929390505050611bec565b005b348015610a6c57600080fd5b50610a75611d9c565b6040518082815260200191505060405180910390f35b348015610a9757600080fd5b50610ada60048036036020811015610aae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611da1565b6040518082815260200191505060405180910390f35b348015610afc57600080fd5b50610b05611de9565b6040518082815260200191505060405180910390f35b348015610b2757600080fd5b50610bcc6004803603610100811015610b3f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611dee565b005b348015610bda57600080fd5b50610c1160048036036040811015610bf157600080fd5b8101908080359060200190929190803590602001909291905050506121b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c5f57600080fd5b50610cac60048036036040811015610c7657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121e2565b604051808215151515815260200191505060405180910390f35b348015610cd257600080fd5b50610cdb612214565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d1b578082015181840152602081019050610d00565b50505050905090810190601f168015610d485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d6257600080fd5b50610d6b6122b6565b6040518082815260200191505060405180910390f35b348015610d8d57600080fd5b50610d966122bd565b6040518082815260200191505060405180910390f35b348015610db857600080fd5b50610e0560048036036040811015610dcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122f6565b604051808215151515815260200191505060405180910390f35b348015610e2b57600080fd5b50610e7860048036036040811015610e4257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123c3565b604051808215151515815260200191505060405180910390f35b348015610e9e57600080fd5b50610eeb60048036036040811015610eb557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123e1565b005b348015610ef957600080fd5b50610f6660048036036060811015610f1057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123f1565b005b348015610f7457600080fd5b50610fa160048036036020811015610f8b57600080fd5b8101908080359060200190929190505050612402565b6040518082815260200191505060405180910390f35b348015610fc357600080fd5b5061105b60048036036040811015610fda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561101757600080fd5b82018360208201111561102957600080fd5b8035906020019184600183028401116401000000008311171561104b57600080fd5b9091929391929390505050612429565b005b34801561106957600080fd5b506110b66004803603604081101561108057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061256c565b005b3480156110c457600080fd5b50611127600480360360408110156110db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125f6565b6040518082815260200191505060405180910390f35b34801561114957600080fd5b506112436004803603608081101561116057600080fd5b810190808035906020019064010000000081111561117d57600080fd5b82018360208201111561118f57600080fd5b803590602001918460018302840111640100000000831117156111b157600080fd5b9091929391929390803590602001906401000000008111156111d257600080fd5b8201836020820111156111e457600080fd5b8035906020019184600183028401116401000000008311171561120657600080fd5b9091929391929390803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267d565b005b34801561125157600080fd5b5061129e6004803603604081101561126857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128f5565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113385780601f1061130d57610100808354040283529160200191611338565b820191906000526020600020905b81548152906001019060200180831161131b57829003601f168201915b5050505050905090565b600061135661134f612905565b8484612914565b6001905092915050565b6040518060400160405280600181526020017f890000000000000000000000000000000000000000000000000000000000000081525081565b60606113a3613c49565b6040518060600160405280600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506114228782878787612b0b565b611477576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f136021913960400191505060405180910390fd5b6114ca6001600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b873388604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115d55780820151818401526020810190506115ba565b50505050905090810190601f1680156116025780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600060603073ffffffffffffffffffffffffffffffffffffffff16888a6040516020018083805190602001908083835b602083106116645780518252602082019150602081019050602083039250611641565b6001836020036101000a0380198251168184511680821785525050505050509050018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831061170157805182526020820191506020810190506020830392506116de565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611763576040519150601f19603f3d011682016040523d82523d6000602084013e611768565b606091505b5091509150816117e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000081525060200191505060405180910390fd5b80935050505095945050505050565b6040518060400160405280600181526020017f010000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b6000600254905090565b6000600954905090565b6000611882848484612cca565b6119438461188e612905565b61193e85604051806060016040528060288152602001613eeb60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006118f4612905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b612914565b600190509392505050565b600060066000838152602001908152602001600020600201549050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119c86119c2612905565b8261304b565b50565b6119f260066000848152602001908152602001600020600201546119ed612905565b6121e2565b611a47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613d6b602f913960400191505060405180910390fd5b611a51828261320f565b5050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b6000600560009054906101000a900460ff16905090565b6000804690508091505090565b611aa8612905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613fc3602f913960400191505060405180910390fd5b611b3582826132a3565b5050565b6000611be2611b46612905565b84611bdd8560016000611b57612905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b612914565b6001905092915050565b6000801b611c0181611bfc612905565b6121e2565b600790611cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cb75780601f10611c8c57610100808354040283529160200191611cb7565b820191906000526020600020905b815481529060010190602001808311611c9a57829003601f168201915b50509250505060405180910390fd5b50611d1483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613337565b611d9783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250613351565b505050565b608981565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600181565b6000611df861186b565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f19010000000000000000000000000000000000000000000000000000000000008152506002018381526020018281526020019250505060405160208183030381529060405280519060200120905060018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611f7a573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614612024576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f554368696c644441493a20494e56414c49442d5045524d49540000000000000081525060200191505060405180910390fd5b60008614806120335750854211155b6120a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f554368696c644441493a205045524d49542d455850495245440000000000000081525060200191505060405180910390fd5b600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558714612167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f554368696c644441493a20494e56414c49442d4e4f4e4345000000000000000081525060200191505060405180910390fd5b600085612175576000612197565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b90506121a48a8a83612914565b50505050505050505050565b60006121da826006600086815260200190815260200160002060000161340590919063ffffffff16565b905092915050565b600061220c826006600086815260200190815260200160002060000161341f90919063ffffffff16565b905092915050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122ac5780601f10612281576101008083540402835291602001916122ac565b820191906000526020600020905b81548152906001019060200180831161228f57829003601f168201915b5050505050905090565b6000801b81565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e019050604051809103902081565b60006123b9612303612905565b846123b485604051806060016040528060258152602001613f9e602591396001600061232d612905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b612914565b6001905092915050565b60006123d76123d0612905565b8484612cca565b6001905092915050565b6123ec338383611875565b505050565b6123fc838383611875565b50505050565b60006124226006600084815260200190815260200160002060000161344f565b9050919050565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e01905060405180910390206124708161246b612905565b6121e2565b600790612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156125265780601f106124fb57610100808354040283529160200191612526565b820191906000526020600020905b81548152906001019060200180831161250957829003601f168201915b50509250505060405180910390fd5b5060008383602081101561254857600080fd5b810190808035906020019092919050505090506125658582613464565b5050505050565b612593600660008481526020019081526020016000206002015461258e612905565b6121e2565b6125e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613e966030913960400191505060405180910390fd5b6125f282826132a3565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900460ff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b61274d86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613337565b61279a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061362b565b6127a382613645565b6127fc848460405160200180807f4368696c640000000000000000000000000000000000000000000000000000008152506005018383808284378083019250505092505050604051602081830303815290604052613663565b6128106000801b61280b612905565b61370f565b61284f60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e01905060405180910390208261370f565b6128d286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061371d565b6001600860006101000a81548160ff021916908315150217905550505050505050565b612900823383611875565b505050565b600061290f6137c9565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561299a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f7a6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613dff6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ec66025913960400191505060405180910390fd5b6001612ba5612ba08761387e565b613924565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612bff573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015612cc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f556025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613d486023913960400191505060405180910390fd5b612de183838361398b565b612e4c81604051806060016040528060268152602001613e70602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612edf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290613038576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ffd578082015181840152602081019050612fe2565b50505050905090810190601f16801561302a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156130d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f346021913960400191505060405180910390fd5b6130dd8260008361398b565b61314881604051806060016040528060228152602001613d9a602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061319f8160025461399090919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61323781600660008581526020019081526020016000206000016139da90919063ffffffff16565b1561329f57613244612905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6132cb8160066000858152602001908152602001600020600001613a0a90919063ffffffff16565b15613333576132d8612905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b806003908051906020019061334d929190613c80565b5050565b6040518060800160405280604f8152602001613e21604f913980519060200120828051906020012082805190602001203061338a611a93565b60001b604051602001808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200195505050505050604051602081830303815290604052805190602001206009819055505050565b60006134148360000183613a3a565b60001c905092915050565b6000613447836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613abd565b905092915050565b600061345d82600001613ae0565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613507576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6135136000838361398b565b61352881600254612c4290919063ffffffff16565b60028190555061357f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8060049080519060200190613641929190613c80565b5050565b80600560006101000a81548160ff021916908360ff16021790555050565b806040516020018082805190602001908083835b6020831061369a5780518252602082019150602081019050602083039250613677565b6001836020036101000a038019825116818451168082178552505050505050905001807f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000815250601a019150506040516020818303038152906040526007908051906020019061370b929190613c80565b5050565b613719828261320f565b5050565b600860009054906101000a900460ff16156137a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b6137aa8282613351565b6001600860006101000a81548160ff0219169083151502179055505050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156138745760606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050613878565b3390505b80905090565b6000604051806080016040528060438152602001613dbc604391398051906020012082600001518360200151846040015180519060200120604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b600061392e61186b565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b505050565b60006139d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f8b565b905092915050565b6000613a02836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613af1565b905092915050565b6000613a32836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613b61565b905092915050565b600081836000018054905011613a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613d266022913960400191505060405180910390fd5b826000018281548110613aaa57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b6000613afd8383613abd565b613b56578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613b5b565b600090505b92915050565b60008083600101600084815260200190815260200160002054905060008114613c3d5760006001820390506000600186600001805490500390506000866000018281548110613bac57fe5b9060005260206000200154905080876000018481548110613bc957fe5b9060005260206000200181905550600183018760010160008381526020019081526020016000208190555086600001805480613c0157fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050613c43565b60009150505b92915050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613cc157805160ff1916838001178555613cef565b82800160010185558215613cef579182015b82811115613cee578251825591602001919060010190613cd3565b5b509050613cfc9190613d00565b5090565b613d2291905b80821115613d1e576000816000905550600101613d06565b5090565b9056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e61747572652945524332303a20617070726f766520746f20746865207a65726f2061646472657373454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b654e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e455245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655369676e657220616e64207369676e617475726520646f206e6f74206d6174636845524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220f70261e6dfdb649ccc395e51efc38acafaeb0672af1dcda22413a54d5be7fb4264736f6c63430006060033", - "deployedBytecode": "0x6080604052600436106102255760003560e01c8063626381a011610123578063a457c2d7116100ab578063cf2c52cb1161006f578063cf2c52cb14610fb7578063d547741f1461105d578063dd62ed3e146110b8578063de7ea79d1461113d578063f2d5d56b1461124557610225565b8063a457c2d714610dac578063a9059cbb14610e1f578063b753a98c14610e92578063bb35783b14610eed578063ca15c87314610f6857610225565b80639010d07c116100f25780639010d07c14610bce57806391d1485414610c5357806395d89b4114610cc6578063a217fddf14610d56578063a3b0b5a314610d8157610225565b8063626381a014610a6057806370a0823114610a8b5780638acfcaf714610af05780638fcbaf0c14610b1b57610225565b8063248a9ca3116101b1578063313ce56711610175578063313ce567146108b05780633408e470146108e157806336568abe1461090c57806339509351146109675780635353a2d8146109da57610225565b8063248a9ca31461073b5780632d0335ab1461078a5780632e1a7d4d146107ef5780632f2ff15d1461082a57806330adf81f1461088557610225565b80630dd7531a116101f85780630dd7531a146105325780630f7e5970146105c257806318160ddd1461065257806320379ee51461067d57806323b872dd146106a857610225565b806306fdde031461022a578063095ea7b3146102ba5780630b54817c1461032d5780630c53c51c146103bd575b600080fd5b34801561023657600080fd5b5061023f6112a0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561027f578082015181840152602081019050610264565b50505050905090810190601f1680156102ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c657600080fd5b50610313600480360360408110156102dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611342565b604051808215151515815260200191505060405180910390f35b34801561033957600080fd5b50610342611360565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610382578082015181840152602081019050610367565b50505050905090810190601f1680156103af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104b7600480360360a08110156103d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561041057600080fd5b82018360208201111561042257600080fd5b8035906020019184600183028401116401000000008311171561044457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803560ff169060200190929190505050611399565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f75780820151818401526020810190506104dc565b50505050905090810190601f1680156105245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561053e57600080fd5b506105476117ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058757808201518184015260208101905061056c565b50505050905090810190601f1680156105b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105ce57600080fd5b506105d7611828565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106175780820151818401526020810190506105fc565b50505050905090810190601f1680156106445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561065e57600080fd5b50610667611861565b6040518082815260200191505060405180910390f35b34801561068957600080fd5b5061069261186b565b6040518082815260200191505060405180910390f35b3480156106b457600080fd5b50610721600480360360608110156106cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611875565b604051808215151515815260200191505060405180910390f35b34801561074757600080fd5b506107746004803603602081101561075e57600080fd5b810190808035906020019092919050505061194e565b6040518082815260200191505060405180910390f35b34801561079657600080fd5b506107d9600480360360208110156107ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061196e565b6040518082815260200191505060405180910390f35b3480156107fb57600080fd5b506108286004803603602081101561081257600080fd5b81019080803590602001909291905050506119b7565b005b34801561083657600080fd5b506108836004803603604081101561084d57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119cb565b005b34801561089157600080fd5b5061089a611a55565b6040518082815260200191505060405180910390f35b3480156108bc57600080fd5b506108c5611a7c565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108ed57600080fd5b506108f6611a93565b6040518082815260200191505060405180910390f35b34801561091857600080fd5b506109656004803603604081101561092f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa0565b005b34801561097357600080fd5b506109c06004803603604081101561098a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b39565b604051808215151515815260200191505060405180910390f35b3480156109e657600080fd5b50610a5e600480360360208110156109fd57600080fd5b8101908080359060200190640100000000811115610a1a57600080fd5b820183602082011115610a2c57600080fd5b80359060200191846001830284011164010000000083111715610a4e57600080fd5b9091929391929390505050611bec565b005b348015610a6c57600080fd5b50610a75611d9c565b6040518082815260200191505060405180910390f35b348015610a9757600080fd5b50610ada60048036036020811015610aae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611da1565b6040518082815260200191505060405180910390f35b348015610afc57600080fd5b50610b05611de9565b6040518082815260200191505060405180910390f35b348015610b2757600080fd5b50610bcc6004803603610100811015610b3f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611dee565b005b348015610bda57600080fd5b50610c1160048036036040811015610bf157600080fd5b8101908080359060200190929190803590602001909291905050506121b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c5f57600080fd5b50610cac60048036036040811015610c7657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121e2565b604051808215151515815260200191505060405180910390f35b348015610cd257600080fd5b50610cdb612214565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d1b578082015181840152602081019050610d00565b50505050905090810190601f168015610d485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d6257600080fd5b50610d6b6122b6565b6040518082815260200191505060405180910390f35b348015610d8d57600080fd5b50610d966122bd565b6040518082815260200191505060405180910390f35b348015610db857600080fd5b50610e0560048036036040811015610dcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122f6565b604051808215151515815260200191505060405180910390f35b348015610e2b57600080fd5b50610e7860048036036040811015610e4257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123c3565b604051808215151515815260200191505060405180910390f35b348015610e9e57600080fd5b50610eeb60048036036040811015610eb557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123e1565b005b348015610ef957600080fd5b50610f6660048036036060811015610f1057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123f1565b005b348015610f7457600080fd5b50610fa160048036036020811015610f8b57600080fd5b8101908080359060200190929190505050612402565b6040518082815260200191505060405180910390f35b348015610fc357600080fd5b5061105b60048036036040811015610fda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561101757600080fd5b82018360208201111561102957600080fd5b8035906020019184600183028401116401000000008311171561104b57600080fd5b9091929391929390505050612429565b005b34801561106957600080fd5b506110b66004803603604081101561108057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061256c565b005b3480156110c457600080fd5b50611127600480360360408110156110db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125f6565b6040518082815260200191505060405180910390f35b34801561114957600080fd5b506112436004803603608081101561116057600080fd5b810190808035906020019064010000000081111561117d57600080fd5b82018360208201111561118f57600080fd5b803590602001918460018302840111640100000000831117156111b157600080fd5b9091929391929390803590602001906401000000008111156111d257600080fd5b8201836020820111156111e457600080fd5b8035906020019184600183028401116401000000008311171561120657600080fd5b9091929391929390803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267d565b005b34801561125157600080fd5b5061129e6004803603604081101561126857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128f5565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113385780601f1061130d57610100808354040283529160200191611338565b820191906000526020600020905b81548152906001019060200180831161131b57829003601f168201915b5050505050905090565b600061135661134f612905565b8484612914565b6001905092915050565b6040518060400160405280600181526020017f890000000000000000000000000000000000000000000000000000000000000081525081565b60606113a3613c49565b6040518060600160405280600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506114228782878787612b0b565b611477576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f136021913960400191505060405180910390fd5b6114ca6001600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b873388604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115d55780820151818401526020810190506115ba565b50505050905090810190601f1680156116025780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600060603073ffffffffffffffffffffffffffffffffffffffff16888a6040516020018083805190602001908083835b602083106116645780518252602082019150602081019050602083039250611641565b6001836020036101000a0380198251168184511680821785525050505050509050018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831061170157805182526020820191506020810190506020830392506116de565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611763576040519150601f19603f3d011682016040523d82523d6000602084013e611768565b606091505b5091509150816117e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000081525060200191505060405180910390fd5b80935050505095945050505050565b6040518060400160405280600181526020017f010000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b6000600254905090565b6000600954905090565b6000611882848484612cca565b6119438461188e612905565b61193e85604051806060016040528060288152602001613eeb60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006118f4612905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b612914565b600190509392505050565b600060066000838152602001908152602001600020600201549050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119c86119c2612905565b8261304b565b50565b6119f260066000848152602001908152602001600020600201546119ed612905565b6121e2565b611a47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613d6b602f913960400191505060405180910390fd5b611a51828261320f565b5050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b6000600560009054906101000a900460ff16905090565b6000804690508091505090565b611aa8612905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613fc3602f913960400191505060405180910390fd5b611b3582826132a3565b5050565b6000611be2611b46612905565b84611bdd8560016000611b57612905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b612914565b6001905092915050565b6000801b611c0181611bfc612905565b6121e2565b600790611cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cb75780601f10611c8c57610100808354040283529160200191611cb7565b820191906000526020600020905b815481529060010190602001808311611c9a57829003601f168201915b50509250505060405180910390fd5b50611d1483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613337565b611d9783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250613351565b505050565b608981565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600181565b6000611df861186b565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f19010000000000000000000000000000000000000000000000000000000000008152506002018381526020018281526020019250505060405160208183030381529060405280519060200120905060018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611f7a573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614612024576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f554368696c644441493a20494e56414c49442d5045524d49540000000000000081525060200191505060405180910390fd5b60008614806120335750854211155b6120a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f554368696c644441493a205045524d49542d455850495245440000000000000081525060200191505060405180910390fd5b600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558714612167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f554368696c644441493a20494e56414c49442d4e4f4e4345000000000000000081525060200191505060405180910390fd5b600085612175576000612197565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b90506121a48a8a83612914565b50505050505050505050565b60006121da826006600086815260200190815260200160002060000161340590919063ffffffff16565b905092915050565b600061220c826006600086815260200190815260200160002060000161341f90919063ffffffff16565b905092915050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122ac5780601f10612281576101008083540402835291602001916122ac565b820191906000526020600020905b81548152906001019060200180831161228f57829003601f168201915b5050505050905090565b6000801b81565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e019050604051809103902081565b60006123b9612303612905565b846123b485604051806060016040528060258152602001613f9e602591396001600061232d612905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b612914565b6001905092915050565b60006123d76123d0612905565b8484612cca565b6001905092915050565b6123ec338383611875565b505050565b6123fc838383611875565b50505050565b60006124226006600084815260200190815260200160002060000161344f565b9050919050565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e01905060405180910390206124708161246b612905565b6121e2565b600790612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156125265780601f106124fb57610100808354040283529160200191612526565b820191906000526020600020905b81548152906001019060200180831161250957829003601f168201915b50509250505060405180910390fd5b5060008383602081101561254857600080fd5b810190808035906020019092919050505090506125658582613464565b5050505050565b612593600660008481526020019081526020016000206002015461258e612905565b6121e2565b6125e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613e966030913960400191505060405180910390fd5b6125f282826132a3565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900460ff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b61274d86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613337565b61279a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061362b565b6127a382613645565b6127fc848460405160200180807f4368696c640000000000000000000000000000000000000000000000000000008152506005018383808284378083019250505092505050604051602081830303815290604052613663565b6128106000801b61280b612905565b61370f565b61284f60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e01905060405180910390208261370f565b6128d286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061371d565b6001600860006101000a81548160ff021916908315150217905550505050505050565b612900823383611875565b505050565b600061290f6137c9565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561299a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f7a6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613dff6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ec66025913960400191505060405180910390fd5b6001612ba5612ba08761387e565b613924565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612bff573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015612cc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f556025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613d486023913960400191505060405180910390fd5b612de183838361398b565b612e4c81604051806060016040528060268152602001613e70602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612edf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290613038576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ffd578082015181840152602081019050612fe2565b50505050905090810190601f16801561302a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156130d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f346021913960400191505060405180910390fd5b6130dd8260008361398b565b61314881604051806060016040528060228152602001613d9a602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8b9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061319f8160025461399090919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61323781600660008581526020019081526020016000206000016139da90919063ffffffff16565b1561329f57613244612905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6132cb8160066000858152602001908152602001600020600001613a0a90919063ffffffff16565b15613333576132d8612905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b806003908051906020019061334d929190613c80565b5050565b6040518060800160405280604f8152602001613e21604f913980519060200120828051906020012082805190602001203061338a611a93565b60001b604051602001808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200195505050505050604051602081830303815290604052805190602001206009819055505050565b60006134148360000183613a3a565b60001c905092915050565b6000613447836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613abd565b905092915050565b600061345d82600001613ae0565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613507576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6135136000838361398b565b61352881600254612c4290919063ffffffff16565b60028190555061357f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8060049080519060200190613641929190613c80565b5050565b80600560006101000a81548160ff021916908360ff16021790555050565b806040516020018082805190602001908083835b6020831061369a5780518252602082019150602081019050602083039250613677565b6001836020036101000a038019825116818451168082178552505050505050905001807f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000815250601a019150506040516020818303038152906040526007908051906020019061370b929190613c80565b5050565b613719828261320f565b5050565b600860009054906101000a900460ff16156137a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b6137aa8282613351565b6001600860006101000a81548160ff0219169083151502179055505050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156138745760606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050613878565b3390505b80905090565b6000604051806080016040528060438152602001613dbc604391398051906020012082600001518360200151846040015180519060200120604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b600061392e61186b565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b505050565b60006139d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f8b565b905092915050565b6000613a02836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613af1565b905092915050565b6000613a32836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613b61565b905092915050565b600081836000018054905011613a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613d266022913960400191505060405180910390fd5b826000018281548110613aaa57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b6000613afd8383613abd565b613b56578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613b5b565b600090505b92915050565b60008083600101600084815260200190815260200160002054905060008114613c3d5760006001820390506000600186600001805490500390506000866000018281548110613bac57fe5b9060005260206000200154905080876000018481548110613bc957fe5b9060005260206000200181905550600183018760010160008381526020019081526020016000208190555086600001805480613c0157fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050613c43565b60009150505b92915050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613cc157805160ff1916838001178555613cef565b82800160010185558215613cef579182015b82811115613cee578251825591602001919060010190613cd3565b5b509050613cfc9190613d00565b5090565b613d2291905b80821115613d1e576000816000905550600101613d06565b5090565b9056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e61747572652945524332303a20617070726f766520746f20746865207a65726f2061646472657373454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b654e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e455245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655369676e657220616e64207369676e617475726520646f206e6f74206d6174636845524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220f70261e6dfdb649ccc395e51efc38acafaeb0672af1dcda22413a54d5be7fb4264736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/context/abis/_old/TestDAI.sol/UChildERC20.dbg.json b/src/context/abis/_old/TestDAI.sol/UChildERC20.dbg.json deleted file mode 100644 index 931259a6..00000000 --- a/src/context/abis/_old/TestDAI.sol/UChildERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/019b6ea938bc3e7963c52de1c62fdab9.json" -} diff --git a/src/context/abis/_old/TestDAI.sol/UChildERC20.json b/src/context/abis/_old/TestDAI.sol/UChildERC20.json deleted file mode 100644 index d39b1b56..00000000 --- a/src/context/abis/_old/TestDAI.sol/UChildERC20.json +++ /dev/null @@ -1,773 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "UChildERC20", - "sourceName": "contracts/TestDAI.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "userAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address payable", - "name": "relayerAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "functionSignature", - "type": "bytes" - } - ], - "name": "MetaTransactionExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "CHILD_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CHILD_CHAIN_ID_BYTES", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEPOSITOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ERC712_VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ROOT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ROOT_CHAIN_ID_BYTES", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ], - "name": "changeName", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "bytes", - "name": "depositData", - "type": "bytes" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "userAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "functionSignature", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "sigR", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "sigS", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "sigV", - "type": "uint8" - } - ], - "name": "executeMetaTransaction", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDomainSeperator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRoleMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleMemberCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "childChainManager", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526000600860006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040518060200160405280600081525060405180602001604052806000815250816003908051906020019062000065929190620000a3565b5080600490805190602001906200007e929190620000a3565b506012600560006101000a81548160ff021916908360ff160217905550505062000152565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000e657805160ff191683800117855562000117565b8280016001018555821562000117579182015b8281111562000116578251825591602001919060010190620000f9565b5b5090506200012691906200012a565b5090565b6200014f91905b808211156200014b57600081600090555060010162000131565b5090565b90565b6139c780620001626000396000f3fe6080604052600436106101ee5760003560e01c8063395093511161010d578063a217fddf116100a0578063ca15c8731161006f578063ca15c87314610d7d578063cf2c52cb14610dcc578063d547741f14610e72578063dd62ed3e14610ecd578063de7ea79d14610f52576101ee565b8063a217fddf14610c41578063a3b0b5a314610c6c578063a457c2d714610c97578063a9059cbb14610d0a576101ee565b80638acfcaf7116100dc5780638acfcaf714610a8e5780639010d07c14610ab957806391d1485414610b3e57806395d89b4114610bb1576101ee565b806339509351146109055780635353a2d814610978578063626381a0146109fe57806370a0823114610a29576101ee565b806323b872dd116101855780632f2ff15d116101545780632f2ff15d146107f3578063313ce5671461084e5780633408e4701461087f57806336568abe146108aa576101ee565b806323b872dd14610671578063248a9ca3146107045780632d0335ab146107535780632e1a7d4d146107b8576101ee565b80630dd7531a116101c15780630dd7531a146104fb5780630f7e59701461058b57806318160ddd1461061b57806320379ee514610646576101ee565b806306fdde03146101f3578063095ea7b3146102835780630b54817c146102f65780630c53c51c14610386575b600080fd5b3480156101ff57600080fd5b5061020861105a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024857808201518184015260208101905061022d565b50505050905090810190601f1680156102755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028f57600080fd5b506102dc600480360360408110156102a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110fc565b604051808215151515815260200191505060405180910390f35b34801561030257600080fd5b5061030b61111a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561034b578082015181840152602081019050610330565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610480600480360360a081101561039c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103d957600080fd5b8201836020820111156103eb57600080fd5b8035906020019184600183028401116401000000008311171561040d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803560ff169060200190929190505050611153565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c05780820151818401526020810190506104a5565b50505050905090810190601f1680156104ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050757600080fd5b506105106115a9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610550578082015181840152602081019050610535565b50505050905090810190601f16801561057d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059757600080fd5b506105a06115e2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e05780820151818401526020810190506105c5565b50505050905090810190601f16801561060d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062757600080fd5b5061063061161b565b6040518082815260200191505060405180910390f35b34801561065257600080fd5b5061065b611625565b6040518082815260200191505060405180910390f35b34801561067d57600080fd5b506106ea6004803603606081101561069457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162f565b604051808215151515815260200191505060405180910390f35b34801561071057600080fd5b5061073d6004803603602081101561072757600080fd5b8101908080359060200190929190505050611708565b6040518082815260200191505060405180910390f35b34801561075f57600080fd5b506107a26004803603602081101561077657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611728565b6040518082815260200191505060405180910390f35b3480156107c457600080fd5b506107f1600480360360208110156107db57600080fd5b8101908080359060200190929190505050611771565b005b3480156107ff57600080fd5b5061084c6004803603604081101561081657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611785565b005b34801561085a57600080fd5b5061086361180f565b604051808260ff1660ff16815260200191505060405180910390f35b34801561088b57600080fd5b50610894611826565b6040518082815260200191505060405180910390f35b3480156108b657600080fd5b50610903600480360360408110156108cd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b34801561091157600080fd5b5061095e6004803603604081101561092857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118cc565b604051808215151515815260200191505060405180910390f35b34801561098457600080fd5b506109fc6004803603602081101561099b57600080fd5b81019080803590602001906401000000008111156109b857600080fd5b8201836020820111156109ca57600080fd5b803590602001918460018302840111640100000000831117156109ec57600080fd5b909192939192939050505061197f565b005b348015610a0a57600080fd5b50610a13611b2f565b6040518082815260200191505060405180910390f35b348015610a3557600080fd5b50610a7860048036036020811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b34565b6040518082815260200191505060405180910390f35b348015610a9a57600080fd5b50610aa3611b7c565b6040518082815260200191505060405180910390f35b348015610ac557600080fd5b50610afc60048036036040811015610adc57600080fd5b810190808035906020019092919080359060200190929190505050611b81565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b4a57600080fd5b50610b9760048036036040811015610b6157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bb3565b604051808215151515815260200191505060405180910390f35b348015610bbd57600080fd5b50610bc6611be5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c06578082015181840152602081019050610beb565b50505050905090810190601f168015610c335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c4d57600080fd5b50610c56611c87565b6040518082815260200191505060405180910390f35b348015610c7857600080fd5b50610c81611c8e565b6040518082815260200191505060405180910390f35b348015610ca357600080fd5b50610cf060048036036040811015610cba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc7565b604051808215151515815260200191505060405180910390f35b348015610d1657600080fd5b50610d6360048036036040811015610d2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d94565b604051808215151515815260200191505060405180910390f35b348015610d8957600080fd5b50610db660048036036020811015610da057600080fd5b8101908080359060200190929190505050611db2565b6040518082815260200191505060405180910390f35b348015610dd857600080fd5b50610e7060048036036040811015610def57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e2c57600080fd5b820183602082011115610e3e57600080fd5b80359060200191846001830284011164010000000083111715610e6057600080fd5b9091929391929390505050611dd9565b005b348015610e7e57600080fd5b50610ecb60048036036040811015610e9557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1c565b005b348015610ed957600080fd5b50610f3c60048036036040811015610ef057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fa6565b6040518082815260200191505060405180910390f35b348015610f5e57600080fd5b5061105860048036036080811015610f7557600080fd5b8101908080359060200190640100000000811115610f9257600080fd5b820183602082011115610fa457600080fd5b80359060200191846001830284011164010000000083111715610fc657600080fd5b909192939192939080359060200190640100000000811115610fe757600080fd5b820183602082011115610ff957600080fd5b8035906020019184600183028401116401000000008311171561101b57600080fd5b9091929391929390803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061202d565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110f25780601f106110c7576101008083540402835291602001916110f2565b820191906000526020600020905b8154815290600101906020018083116110d557829003601f168201915b5050505050905090565b60006111106111096122a5565b84846122b4565b6001905092915050565b6040518060400160405280600181526020017f890000000000000000000000000000000000000000000000000000000000000081525081565b606061115d6135e9565b6040518060600160405280600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506111dc87828787876124ab565b611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138b36021913960400191505060405180910390fd5b6112846001600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b873388604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561138f578082015181840152602081019050611374565b50505050905090810190601f1680156113bc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600060603073ffffffffffffffffffffffffffffffffffffffff16888a6040516020018083805190602001908083835b6020831061141e57805182526020820191506020810190506020830392506113fb565b6001836020036101000a0380198251168184511680821785525050505050509050018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b602083106114bb5780518252602082019150602081019050602083039250611498565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461151d576040519150601f19603f3d011682016040523d82523d6000602084013e611522565b606091505b50915091508161159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000081525060200191505060405180910390fd5b80935050505095945050505050565b6040518060400160405280600181526020017f010000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b6000600254905090565b6000600954905090565b600061163c84848461266a565b6116fd846116486122a5565b6116f88560405180606001604052806028815260200161388b60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006116ae6122a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6122b4565b600190509392505050565b600060066000838152602001908152602001600020600201549050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61178261177c6122a5565b826129eb565b50565b6117ac60066000848152602001908152602001600020600201546117a76122a5565b611bb3565b611801576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061370b602f913960400191505060405180910390fd5b61180b8282612baf565b5050565b6000600560009054906101000a900460ff16905090565b6000804690508091505090565b61183b6122a5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146118be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613963602f913960400191505060405180910390fd5b6118c88282612c43565b5050565b60006119756118d96122a5565b8461197085600160006118ea6122a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b6122b4565b6001905092915050565b6000801b6119948161198f6122a5565b611bb3565b600790611a59576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a4a5780601f10611a1f57610100808354040283529160200191611a4a565b820191906000526020600020905b815481529060010190602001808311611a2d57829003601f168201915b50509250505060405180910390fd5b50611aa783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612cd7565b611b2a83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612cf1565b505050565b608981565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600181565b6000611bab8260066000868152602001908152602001600020600001612da590919063ffffffff16565b905092915050565b6000611bdd8260066000868152602001908152602001600020600001612dbf90919063ffffffff16565b905092915050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c7d5780601f10611c5257610100808354040283529160200191611c7d565b820191906000526020600020905b815481529060010190602001808311611c6057829003601f168201915b5050505050905090565b6000801b81565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e019050604051809103902081565b6000611d8a611cd46122a5565b84611d858560405180606001604052806025815260200161393e6025913960016000611cfe6122a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6122b4565b6001905092915050565b6000611da8611da16122a5565b848461266a565b6001905092915050565b6000611dd260066000848152602001908152602001600020600001612def565b9050919050565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e0190506040518091039020611e2081611e1b6122a5565b611bb3565b600790611ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611ed65780601f10611eab57610100808354040283529160200191611ed6565b820191906000526020600020905b815481529060010190602001808311611eb957829003601f168201915b50509250505060405180910390fd5b50600083836020811015611ef857600080fd5b81019080803590602001909291905050509050611f158582612e04565b5050505050565b611f436006600084815260200190815260200160002060020154611f3e6122a5565b611bb3565b611f98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806138366030913960400191505060405180910390fd5b611fa28282612c43565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900460ff16156120b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b6120fd86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612cd7565b61214a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612fcb565b61215382612fe5565b6121ac848460405160200180807f4368696c640000000000000000000000000000000000000000000000000000008152506005018383808284378083019250505092505050604051602081830303815290604052613003565b6121c06000801b6121bb6122a5565b6130af565b6121ff60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e0190506040518091039020826130af565b61228286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506130bd565b6001600860006101000a81548160ff021916908315150217905550505050505050565b60006122af613169565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561233a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061391a6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061379f6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612532576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138666025913960400191505060405180910390fd5b60016125456125408761321e565b6132c4565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561259f573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015612660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138f56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612776576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806136e86023913960400191505060405180910390fd5b61278183838361332b565b6127ec81604051806060016040528060268152602001613810602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061287f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906129d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561299d578082015181840152602081019050612982565b50505050905090810190601f1680156129ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138d46021913960400191505060405180910390fd5b612a7d8260008361332b565b612ae88160405180606001604052806022815260200161373a602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b3f8160025461333090919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b612bd7816006600085815260200190815260200160002060000161337a90919063ffffffff16565b15612c3f57612be46122a5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b612c6b81600660008581526020019081526020016000206000016133aa90919063ffffffff16565b15612cd357612c786122a5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b8060039080519060200190612ced929190613620565b5050565b6040518060800160405280604f81526020016137c1604f9139805190602001208280519060200120828051906020012030612d2a611826565b60001b604051602001808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200195505050505050604051602081830303815290604052805190602001206009819055505050565b6000612db483600001836133da565b60001c905092915050565b6000612de7836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61345d565b905092915050565b6000612dfd82600001613480565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ea7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612eb36000838361332b565b612ec8816002546125e290919063ffffffff16565b600281905550612f1f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8060049080519060200190612fe1929190613620565b5050565b80600560006101000a81548160ff021916908360ff16021790555050565b806040516020018082805190602001908083835b6020831061303a5780518252602082019150602081019050602083039250613017565b6001836020036101000a038019825116818451168082178552505050505050905001807f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000815250601a01915050604051602081830303815290604052600790805190602001906130ab929190613620565b5050565b6130b98282612baf565b5050565b600860009054906101000a900460ff1615613140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b61314a8282612cf1565b6001600860006101000a81548160ff0219169083151502179055505050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156132145760606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050613218565b3390505b80905090565b600060405180608001604052806043815260200161375c604391398051906020012082600001518360200151846040015180519060200120604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b60006132ce611625565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b505050565b600061337283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061292b565b905092915050565b60006133a2836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613491565b905092915050565b60006133d2836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613501565b905092915050565b60008183600001805490501161343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806136c66022913960400191505060405180910390fd5b82600001828154811061344a57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600061349d838361345d565b6134f65782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506134fb565b600090505b92915050565b600080836001016000848152602001908152602001600020549050600081146135dd576000600182039050600060018660000180549050039050600086600001828154811061354c57fe5b906000526020600020015490508087600001848154811061356957fe5b90600052602060002001819055506001830187600101600083815260200190815260200160002081905550866000018054806135a157fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506135e3565b60009150505b92915050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061366157805160ff191683800117855561368f565b8280016001018555821561368f579182015b8281111561368e578251825591602001919060010190613673565b5b50905061369c91906136a0565b5090565b6136c291905b808211156136be5760008160009055506001016136a6565b5090565b9056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e61747572652945524332303a20617070726f766520746f20746865207a65726f2061646472657373454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b654e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e455245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655369676e657220616e64207369676e617475726520646f206e6f74206d6174636845524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a264697066735822122091b0e215c621569100efbb663cb4ffc9267d902df0c2863bade3ecce64c4f0f064736f6c63430006060033", - "deployedBytecode": "0x6080604052600436106101ee5760003560e01c8063395093511161010d578063a217fddf116100a0578063ca15c8731161006f578063ca15c87314610d7d578063cf2c52cb14610dcc578063d547741f14610e72578063dd62ed3e14610ecd578063de7ea79d14610f52576101ee565b8063a217fddf14610c41578063a3b0b5a314610c6c578063a457c2d714610c97578063a9059cbb14610d0a576101ee565b80638acfcaf7116100dc5780638acfcaf714610a8e5780639010d07c14610ab957806391d1485414610b3e57806395d89b4114610bb1576101ee565b806339509351146109055780635353a2d814610978578063626381a0146109fe57806370a0823114610a29576101ee565b806323b872dd116101855780632f2ff15d116101545780632f2ff15d146107f3578063313ce5671461084e5780633408e4701461087f57806336568abe146108aa576101ee565b806323b872dd14610671578063248a9ca3146107045780632d0335ab146107535780632e1a7d4d146107b8576101ee565b80630dd7531a116101c15780630dd7531a146104fb5780630f7e59701461058b57806318160ddd1461061b57806320379ee514610646576101ee565b806306fdde03146101f3578063095ea7b3146102835780630b54817c146102f65780630c53c51c14610386575b600080fd5b3480156101ff57600080fd5b5061020861105a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024857808201518184015260208101905061022d565b50505050905090810190601f1680156102755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028f57600080fd5b506102dc600480360360408110156102a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110fc565b604051808215151515815260200191505060405180910390f35b34801561030257600080fd5b5061030b61111a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561034b578082015181840152602081019050610330565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610480600480360360a081101561039c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103d957600080fd5b8201836020820111156103eb57600080fd5b8035906020019184600183028401116401000000008311171561040d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803560ff169060200190929190505050611153565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c05780820151818401526020810190506104a5565b50505050905090810190601f1680156104ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050757600080fd5b506105106115a9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610550578082015181840152602081019050610535565b50505050905090810190601f16801561057d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059757600080fd5b506105a06115e2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e05780820151818401526020810190506105c5565b50505050905090810190601f16801561060d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062757600080fd5b5061063061161b565b6040518082815260200191505060405180910390f35b34801561065257600080fd5b5061065b611625565b6040518082815260200191505060405180910390f35b34801561067d57600080fd5b506106ea6004803603606081101561069457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162f565b604051808215151515815260200191505060405180910390f35b34801561071057600080fd5b5061073d6004803603602081101561072757600080fd5b8101908080359060200190929190505050611708565b6040518082815260200191505060405180910390f35b34801561075f57600080fd5b506107a26004803603602081101561077657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611728565b6040518082815260200191505060405180910390f35b3480156107c457600080fd5b506107f1600480360360208110156107db57600080fd5b8101908080359060200190929190505050611771565b005b3480156107ff57600080fd5b5061084c6004803603604081101561081657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611785565b005b34801561085a57600080fd5b5061086361180f565b604051808260ff1660ff16815260200191505060405180910390f35b34801561088b57600080fd5b50610894611826565b6040518082815260200191505060405180910390f35b3480156108b657600080fd5b50610903600480360360408110156108cd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b34801561091157600080fd5b5061095e6004803603604081101561092857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118cc565b604051808215151515815260200191505060405180910390f35b34801561098457600080fd5b506109fc6004803603602081101561099b57600080fd5b81019080803590602001906401000000008111156109b857600080fd5b8201836020820111156109ca57600080fd5b803590602001918460018302840111640100000000831117156109ec57600080fd5b909192939192939050505061197f565b005b348015610a0a57600080fd5b50610a13611b2f565b6040518082815260200191505060405180910390f35b348015610a3557600080fd5b50610a7860048036036020811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b34565b6040518082815260200191505060405180910390f35b348015610a9a57600080fd5b50610aa3611b7c565b6040518082815260200191505060405180910390f35b348015610ac557600080fd5b50610afc60048036036040811015610adc57600080fd5b810190808035906020019092919080359060200190929190505050611b81565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b4a57600080fd5b50610b9760048036036040811015610b6157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bb3565b604051808215151515815260200191505060405180910390f35b348015610bbd57600080fd5b50610bc6611be5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c06578082015181840152602081019050610beb565b50505050905090810190601f168015610c335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c4d57600080fd5b50610c56611c87565b6040518082815260200191505060405180910390f35b348015610c7857600080fd5b50610c81611c8e565b6040518082815260200191505060405180910390f35b348015610ca357600080fd5b50610cf060048036036040811015610cba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc7565b604051808215151515815260200191505060405180910390f35b348015610d1657600080fd5b50610d6360048036036040811015610d2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d94565b604051808215151515815260200191505060405180910390f35b348015610d8957600080fd5b50610db660048036036020811015610da057600080fd5b8101908080359060200190929190505050611db2565b6040518082815260200191505060405180910390f35b348015610dd857600080fd5b50610e7060048036036040811015610def57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e2c57600080fd5b820183602082011115610e3e57600080fd5b80359060200191846001830284011164010000000083111715610e6057600080fd5b9091929391929390505050611dd9565b005b348015610e7e57600080fd5b50610ecb60048036036040811015610e9557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1c565b005b348015610ed957600080fd5b50610f3c60048036036040811015610ef057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fa6565b6040518082815260200191505060405180910390f35b348015610f5e57600080fd5b5061105860048036036080811015610f7557600080fd5b8101908080359060200190640100000000811115610f9257600080fd5b820183602082011115610fa457600080fd5b80359060200191846001830284011164010000000083111715610fc657600080fd5b909192939192939080359060200190640100000000811115610fe757600080fd5b820183602082011115610ff957600080fd5b8035906020019184600183028401116401000000008311171561101b57600080fd5b9091929391929390803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061202d565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110f25780601f106110c7576101008083540402835291602001916110f2565b820191906000526020600020905b8154815290600101906020018083116110d557829003601f168201915b5050505050905090565b60006111106111096122a5565b84846122b4565b6001905092915050565b6040518060400160405280600181526020017f890000000000000000000000000000000000000000000000000000000000000081525081565b606061115d6135e9565b6040518060600160405280600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506111dc87828787876124ab565b611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138b36021913960400191505060405180910390fd5b6112846001600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b873388604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561138f578082015181840152602081019050611374565b50505050905090810190601f1680156113bc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600060603073ffffffffffffffffffffffffffffffffffffffff16888a6040516020018083805190602001908083835b6020831061141e57805182526020820191506020810190506020830392506113fb565b6001836020036101000a0380198251168184511680821785525050505050509050018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b602083106114bb5780518252602082019150602081019050602083039250611498565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461151d576040519150601f19603f3d011682016040523d82523d6000602084013e611522565b606091505b50915091508161159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000081525060200191505060405180910390fd5b80935050505095945050505050565b6040518060400160405280600181526020017f010000000000000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b6000600254905090565b6000600954905090565b600061163c84848461266a565b6116fd846116486122a5565b6116f88560405180606001604052806028815260200161388b60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006116ae6122a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6122b4565b600190509392505050565b600060066000838152602001908152602001600020600201549050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61178261177c6122a5565b826129eb565b50565b6117ac60066000848152602001908152602001600020600201546117a76122a5565b611bb3565b611801576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061370b602f913960400191505060405180910390fd5b61180b8282612baf565b5050565b6000600560009054906101000a900460ff16905090565b6000804690508091505090565b61183b6122a5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146118be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613963602f913960400191505060405180910390fd5b6118c88282612c43565b5050565b60006119756118d96122a5565b8461197085600160006118ea6122a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b6122b4565b6001905092915050565b6000801b6119948161198f6122a5565b611bb3565b600790611a59576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a4a5780601f10611a1f57610100808354040283529160200191611a4a565b820191906000526020600020905b815481529060010190602001808311611a2d57829003601f168201915b50509250505060405180910390fd5b50611aa783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612cd7565b611b2a83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612cf1565b505050565b608981565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600181565b6000611bab8260066000868152602001908152602001600020600001612da590919063ffffffff16565b905092915050565b6000611bdd8260066000868152602001908152602001600020600001612dbf90919063ffffffff16565b905092915050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c7d5780601f10611c5257610100808354040283529160200191611c7d565b820191906000526020600020905b815481529060010190602001808311611c6057829003601f168201915b5050505050905090565b6000801b81565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e019050604051809103902081565b6000611d8a611cd46122a5565b84611d858560405180606001604052806025815260200161393e6025913960016000611cfe6122a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6122b4565b6001905092915050565b6000611da8611da16122a5565b848461266a565b6001905092915050565b6000611dd260066000848152602001908152602001600020600001612def565b9050919050565b60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e0190506040518091039020611e2081611e1b6122a5565b611bb3565b600790611ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611ed65780601f10611eab57610100808354040283529160200191611ed6565b820191906000526020600020905b815481529060010190602001808311611eb957829003601f168201915b50509250505060405180910390fd5b50600083836020811015611ef857600080fd5b81019080803590602001909291905050509050611f158582612e04565b5050505050565b611f436006600084815260200190815260200160002060020154611f3e6122a5565b611bb3565b611f98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806138366030913960400191505060405180910390fd5b611fa28282612c43565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900460ff16156120b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b6120fd86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612cd7565b61214a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612fcb565b61215382612fe5565b6121ac848460405160200180807f4368696c640000000000000000000000000000000000000000000000000000008152506005018383808284378083019250505092505050604051602081830303815290604052613003565b6121c06000801b6121bb6122a5565b6130af565b6121ff60405180807f4445504f5349544f525f524f4c45000000000000000000000000000000000000815250600e0190506040518091039020826130af565b61228286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506130bd565b6001600860006101000a81548160ff021916908315150217905550505050505050565b60006122af613169565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561233a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061391a6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061379f6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612532576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138666025913960400191505060405180910390fd5b60016125456125408761321e565b6132c4565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561259f573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015612660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138f56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612776576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806136e86023913960400191505060405180910390fd5b61278183838361332b565b6127ec81604051806060016040528060268152602001613810602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061287f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906129d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561299d578082015181840152602081019050612982565b50505050905090810190601f1680156129ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138d46021913960400191505060405180910390fd5b612a7d8260008361332b565b612ae88160405180606001604052806022815260200161373a602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292b9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b3f8160025461333090919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b612bd7816006600085815260200190815260200160002060000161337a90919063ffffffff16565b15612c3f57612be46122a5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b612c6b81600660008581526020019081526020016000206000016133aa90919063ffffffff16565b15612cd357612c786122a5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b8060039080519060200190612ced929190613620565b5050565b6040518060800160405280604f81526020016137c1604f9139805190602001208280519060200120828051906020012030612d2a611826565b60001b604051602001808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200195505050505050604051602081830303815290604052805190602001206009819055505050565b6000612db483600001836133da565b60001c905092915050565b6000612de7836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61345d565b905092915050565b6000612dfd82600001613480565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ea7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612eb36000838361332b565b612ec8816002546125e290919063ffffffff16565b600281905550612f1f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8060049080519060200190612fe1929190613620565b5050565b80600560006101000a81548160ff021916908360ff16021790555050565b806040516020018082805190602001908083835b6020831061303a5780518252602082019150602081019050602083039250613017565b6001836020036101000a038019825116818451168082178552505050505050905001807f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000815250601a01915050604051602081830303815290604052600790805190602001906130ab929190613620565b5050565b6130b98282612baf565b5050565b600860009054906101000a900460ff1615613140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b61314a8282612cf1565b6001600860006101000a81548160ff0219169083151502179055505050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156132145760606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050613218565b3390505b80905090565b600060405180608001604052806043815260200161375c604391398051906020012082600001518360200151846040015180519060200120604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b60006132ce611625565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b505050565b600061337283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061292b565b905092915050565b60006133a2836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613491565b905092915050565b60006133d2836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613501565b905092915050565b60008183600001805490501161343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806136c66022913960400191505060405180910390fd5b82600001828154811061344a57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600061349d838361345d565b6134f65782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506134fb565b600090505b92915050565b600080836001016000848152602001908152602001600020549050600081146135dd576000600182039050600060018660000180549050039050600086600001828154811061354c57fe5b906000526020600020015490508087600001848154811061356957fe5b90600052602060002001819055506001830187600101600083815260200190815260200160002081905550866000018054806135a157fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506135e3565b60009150505b92915050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061366157805160ff191683800117855561368f565b8280016001018555821561368f579182015b8281111561368e578251825591602001919060010190613673565b5b50905061369c91906136a0565b5090565b6136c291905b808211156136be5760008160009055506001016136a6565b5090565b9056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e61747572652945524332303a20617070726f766520746f20746865207a65726f2061646472657373454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b654e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e455245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655369676e657220616e64207369676e617475726520646f206e6f74206d6174636845524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a264697066735822122091b0e215c621569100efbb663cb4ffc9267d902df0c2863bade3ecce64c4f0f064736f6c63430006060033", - "linkReferences": {}, - "deployedLinkReferences": {} -} From 7f7dff838f2b511cc07fa85b9665dddb69fec6b5 Mon Sep 17 00:00:00 2001 From: dappsar Date: Tue, 14 Nov 2023 17:22:02 -0300 Subject: [PATCH 3/5] switched to old web3 context --- src/hooks/useWeb3Context.js | 4 ++-- src/pages/_app.jsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hooks/useWeb3Context.js b/src/hooks/useWeb3Context.js index 4884a7cd..e5339df9 100644 --- a/src/hooks/useWeb3Context.js +++ b/src/hooks/useWeb3Context.js @@ -1,6 +1,6 @@ import { useContext } from 'react' -// import { Web3Context } from '../context/Web3Context' -import { Web3Context } from '../context/Web3ContextNew' +import { Web3Context } from '../context/Web3Context' +// import { Web3Context } from '../context/Web3ContextNew' const useWeb3Context = () => useContext(Web3Context) diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx index 65a85de4..694a4eb0 100644 --- a/src/pages/_app.jsx +++ b/src/pages/_app.jsx @@ -5,8 +5,8 @@ import '../styles/gamma.scss' import '../styles/admin.scss' import '../styles/common.scss' import { appWithTranslation } from 'next-i18next' -import { Web3ContextProvider } from '../context/Web3ContextNew' -// import { Web3ContextProvider } from '../context/Web3Context' +// import { Web3ContextProvider } from '../context/Web3ContextNew' +import { Web3ContextProvider } from '../context/Web3Context' import { SettingsProvider } from '../context/SettingsContext' import { LayoutProvider } from '../context/LayoutContext' import Layout from '../components/Layout' From 38d6885dec7c6c9a5480a708831fd4813fbefb17 Mon Sep 17 00:00:00 2001 From: dappsar Date: Tue, 14 Nov 2023 17:22:23 -0300 Subject: [PATCH 4/5] refactored use of loading in alpha --- src/sections/Alpha/AlphaCards.jsx | 57 +++++++++++++++++-------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/src/sections/Alpha/AlphaCards.jsx b/src/sections/Alpha/AlphaCards.jsx index 9d95dec3..56f79ccb 100644 --- a/src/sections/Alpha/AlphaCards.jsx +++ b/src/sections/Alpha/AlphaCards.jsx @@ -57,7 +57,7 @@ const AlphaCards = ({ alphaMidButton }) => { const [transferError, setTransferError] = useState('') const [disableTransfer, setDisableTransfer] = useState(null) const [seasonFolder, setSeasonFolder] = useState(null) - const { loading, startLoading, stopLoading } = useLayoutContext() + const { startLoading, stopLoading } = useLayoutContext() const { walletAddress, daiContract, alphaContract, noMetamaskError, connectWallet } = useWeb3Context() @@ -437,33 +437,38 @@ const AlphaCards = ({ alphaMidButton }) => { } const pasteCard = (cardIndex) => { - const pegarCarta = async (cardIndex) => { - const tokenId = ethers.BigNumber.from( - cards[cardIndex].tokenId - ).toNumber() - const albumTokenId = ethers.BigNumber.from(album[0].tokenId).toNumber() - const paste = await alphaContract.pasteCards(tokenId, albumTokenId, { - gasLimit: 2500000 - }) + try { startLoading() - await paste.wait() + const pegarCarta = async (cardIndex) => { + const tokenId = ethers.BigNumber.from( + cards[cardIndex].tokenId + ).toNumber() + const albumTokenId = ethers.BigNumber.from(album[0].tokenId).toNumber() + const paste = await alphaContract.pasteCards(tokenId, albumTokenId, { + gasLimit: 2500000 + }) + await paste.wait() + return albumTokenId + } + pegarCarta(cardIndex) + .then((tokenId) => { + showCards(walletAddress, seasonName) + getAlbumData(tokenId).then((res) => { + if (res.completion == 5) { + emitSuccess(t('album_completo')) + } else { + emitSuccess(t('carta_en_album')) + } + }) + }) + .catch((e) => { + console.error({ e }) + }) stopLoading() - return albumTokenId + } catch (ex) { + stopLoading() + console.error(ex) } - pegarCarta(cardIndex) - .then((tokenId) => { - showCards(walletAddress, seasonName) - getAlbumData(tokenId).then((res) => { - if (res.completion == 5) { - emitSuccess(t('album_completo')) - } else { - emitSuccess(t('carta_en_album')) - } - }) - }) - .catch((e) => { - console.error({ e }) - }) } async function transferToken () { @@ -494,7 +499,7 @@ const AlphaCards = ({ alphaMidButton }) => { return (
- {!loading && !walletAddress && ( + {!walletAddress && (