Contract Address Details

0xa304781f2C47F20a8a567458b2B0CEa48B30220f

Token
CrognomideGen2 (CNMDV2)
Creator
0x110c2c–9b0d31 at 0xc17815–a897cc
Balance
0 CRO ( )
Tokens
Fetching tokens...
Transactions
80 Transactions
Transfers
0 Transfers
Gas Used
4,353,153
Last Balance Update
13888571

Contract Creation Code

Verify & Publish
0x60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90805190602001906200005192919062000333565b506103e8600d556000600e60006101000a81548160ff0219169083151502179055503480156200008057600080fd5b5060405162004327380380620043278339818101604052810190620000a6919062000580565b6040518060400160405280600e81526020017f43726f676e6f6d69646547656e320000000000000000000000000000000000008152506040518060400160405280600681526020017f434e4d445632000000000000000000000000000000000000000000000000000081525081600090805190602001906200012a92919062000333565b5080600190805190602001906200014392919062000333565b505050620001666200015a6200017e60201b60201c565b6200018660201b60201c565b62000177816200024c60201b60201c565b50620006b9565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200025c6200027860201b60201c565b80600b90805190602001906200027492919062000333565b5050565b620002886200017e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002ae6200030960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000307576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002fe9062000632565b60405180910390fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003419062000683565b90600052602060002090601f016020900481019282620003655760008555620003b1565b82601f106200038057805160ff1916838001178555620003b1565b82800160010185558215620003b1579182015b82811115620003b057825182559160200191906001019062000393565b5b509050620003c09190620003c4565b5090565b5b80821115620003df576000816000905550600101620003c5565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200044c8262000401565b810181811067ffffffffffffffff821117156200046e576200046d62000412565b5b80604052505050565b600062000483620003e3565b905062000491828262000441565b919050565b600067ffffffffffffffff821115620004b457620004b362000412565b5b620004bf8262000401565b9050602081019050919050565b60005b83811015620004ec578082015181840152602081019050620004cf565b83811115620004fc576000848401525b50505050565b600062000519620005138462000496565b62000477565b905082815260208101848484011115620005385762000537620003fc565b5b62000545848285620004cc565b509392505050565b600082601f830112620005655762000564620003f7565b5b81516200057784826020860162000502565b91505092915050565b600060208284031215620005995762000598620003ed565b5b600082015167ffffffffffffffff811115620005ba57620005b9620003f2565b5b620005c8848285016200054d565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200061a602083620005d1565b91506200062782620005e2565b602082019050919050565b600060208201905081810360008301526200064d816200060b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200069c57607f821691505b60208210811415620006b357620006b262000654565b5b50919050565b613c5e80620006c96000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063b88d4fde116100a2578063da3ef23f11610071578063da3ef23f1461057e578063e985e9c51461059a578063f2fde38b146105ca578063fc6f9468146105e6576101e5565b8063b88d4fde146104f6578063c668286214610512578063c87b56dd14610530578063d5abeb0114610560576101e5565b8063853828b6116100de578063853828b6146104945780638da5cb5b1461049e57806395d89b41146104bc578063a22cb465146104da576101e5565b806370a082311461040e578063715018a61461043e578063755edd17146104485780638431f1a914610478576101e5565b806328ed61fb116101875780634f6ccce7116101565780634f6ccce71461037457806355f804b3146103a45780635c975abb146103c05780636352211e146103de576101e5565b806328ed61fb146102da5780632f745c59146102f857806342842e0e14610328578063438b630014610344576101e5565b8063081812fc116101c3578063081812fc14610254578063095ea7b31461028457806318160ddd146102a057806323b872dd146102be576101e5565b806301ffc9a7146101ea57806302329a291461021a57806306fdde0314610236575b600080fd5b61020460048036038101906101ff91906126b8565b610604565b6040516102119190612700565b60405180910390f35b610234600480360381019061022f9190612747565b61067e565b005b61023e6106a3565b60405161024b919061280d565b60405180910390f35b61026e60048036038101906102699190612865565b610735565b60405161027b91906128d3565b60405180910390f35b61029e6004803603810190610299919061291a565b61077b565b005b6102a8610893565b6040516102b59190612969565b60405180910390f35b6102d860048036038101906102d39190612984565b6108a0565b005b6102e2610900565b6040516102ef91906128d3565b60405180910390f35b610312600480360381019061030d919061291a565b610926565b60405161031f9190612969565b60405180910390f35b610342600480360381019061033d9190612984565b6109cb565b005b61035e600480360381019061035991906129d7565b6109eb565b60405161036b9190612ac2565b60405180910390f35b61038e60048036038101906103899190612865565b610a99565b60405161039b9190612969565b60405180910390f35b6103be60048036038101906103b99190612c19565b610b0a565b005b6103c8610b2c565b6040516103d59190612700565b60405180910390f35b6103f860048036038101906103f39190612865565b610b3f565b60405161040591906128d3565b60405180910390f35b610428600480360381019061042391906129d7565b610bf1565b6040516104359190612969565b60405180910390f35b610446610ca9565b005b610462600480360381019061045d91906129d7565b610cbd565b60405161046f9190612969565b60405180910390f35b610492600480360381019061048d91906129d7565b610d86565b005b61049c610dd2565b005b6104a6610e43565b6040516104b391906128d3565b60405180910390f35b6104c4610e6d565b6040516104d1919061280d565b60405180910390f35b6104f460048036038101906104ef9190612c62565b610eff565b005b610510600480360381019061050b9190612d43565b610f15565b005b61051a610f77565b604051610527919061280d565b60405180910390f35b61054a60048036038101906105459190612865565b611005565b604051610557919061280d565b60405180910390f35b6105686110af565b6040516105759190612969565b60405180910390f35b61059860048036038101906105939190612c19565b6110b5565b005b6105b460048036038101906105af9190612dc6565b6110d7565b6040516105c19190612700565b60405180910390f35b6105e460048036038101906105df91906129d7565b61116b565b005b6105ee6111ef565b6040516105fb91906128d3565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610677575061067682611207565b5b9050919050565b6106866112e9565b80600e60006101000a81548160ff02191690831515021790555050565b6060600080546106b290612e35565b80601f01602080910402602001604051908101604052809291908181526020018280546106de90612e35565b801561072b5780601f106107005761010080835404028352916020019161072b565b820191906000526020600020905b81548152906001019060200180831161070e57829003601f168201915b5050505050905090565b600061074082611367565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061078682610b3f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee90612ed9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108166113b2565b73ffffffffffffffffffffffffffffffffffffffff16148061084557506108448161083f6113b2565b6110d7565b5b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b90612f6b565b60405180910390fd5b61088e83836113ba565b505050565b6000600880549050905090565b6108b16108ab6113b2565b82611473565b6108f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e790612ffd565b60405180910390fd5b6108fb838383611508565b505050565b600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061093183610bf1565b8210610972576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699061308f565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109e683838360405180602001604052806000815250610f15565b505050565b606060006109f883610bf1565b905060008167ffffffffffffffff811115610a1657610a15612aee565b5b604051908082528060200260200182016040528015610a445781602001602082028036833780820191505090505b50905060005b82811015610a8e57610a5c8582610926565b828281518110610a6f57610a6e6130af565b5b6020026020010181815250508080610a869061310d565b915050610a4a565b508092505050919050565b6000610aa3610893565b8210610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb906131c8565b60405180910390fd5b60088281548110610af857610af76130af565b5b90600052602060002001549050919050565b610b126112e9565b80600b9080519060200190610b289291906125a9565b5050565b600e60009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90613234565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c59906132c6565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cb16112e9565b610cbb600061176f565b565b6000600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4690613332565b60405180910390fd5b6000610d59610893565b9050610d7183600183610d6c9190613352565b611835565b600181610d7e9190613352565b915050919050565b610d8e6112e9565b80600e60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dda6112e9565b600047905060008111610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e19906133f4565b60405180910390fd5b610e4073110c2cee3d2e9108e42ba8bf7d7140b5f49b0d3182611853565b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610e7c90612e35565b80601f0160208091040260200160405190810160405280929190818152602001828054610ea890612e35565b8015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b5050505050905090565b610f11610f0a6113b2565b8383611904565b5050565b610f26610f206113b2565b83611473565b610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612ffd565b60405180910390fd5b610f7184848484611a71565b50505050565b600c8054610f8490612e35565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb090612e35565b8015610ffd5780601f10610fd257610100808354040283529160200191610ffd565b820191906000526020600020905b815481529060010190602001808311610fe057829003601f168201915b505050505081565b606061101082611acd565b61104f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104690613486565b60405180910390fd5b6000611059611b39565b9050600081511161107957604051806020016040528060008152506110a7565b8061108384611bcb565b600c60405160200161109793929190613576565b6040516020818303038152906040525b915050919050565b600d5481565b6110bd6112e9565b80600c90805190602001906110d39291906125a9565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6111736112e9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da90613619565b60405180910390fd5b6111ec8161176f565b50565b73110c2cee3d2e9108e42ba8bf7d7140b5f49b0d3181565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112e257506112e182611d2c565b5b9050919050565b6112f16113b2565b73ffffffffffffffffffffffffffffffffffffffff1661130f610e43565b73ffffffffffffffffffffffffffffffffffffffff1614611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c90613685565b60405180910390fd5b565b61137081611acd565b6113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690613234565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661142d83610b3f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061147f83610b3f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114c157506114c081856110d7565b5b806114ff57508373ffffffffffffffffffffffffffffffffffffffff166114e784610735565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661152882610b3f565b73ffffffffffffffffffffffffffffffffffffffff161461157e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590613717565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e5906137a9565b60405180910390fd5b6115f9838383611d96565b6116046000826113ba565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461165491906137c9565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116ab9190613352565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461176a838383611eaa565b505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61184f828260405180602001604052806000815250611eaf565b5050565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516118799061382e565b60006040518083038185875af1925050503d80600081146118b6576040519150601f19603f3d011682016040523d82523d6000602084013e6118bb565b606091505b50509050806118ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f69061388f565b60405180910390fd5b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196a906138fb565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a649190612700565b60405180910390a3505050565b611a7c848484611508565b611a8884848484611f0a565b611ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abe9061398d565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600b8054611b4890612e35565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7490612e35565b8015611bc15780601f10611b9657610100808354040283529160200191611bc1565b820191906000526020600020905b815481529060010190602001808311611ba457829003601f168201915b5050505050905090565b60606000821415611c13576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611d27565b600082905060005b60008214611c45578080611c2e9061310d565b915050600a82611c3e91906139dc565b9150611c1b565b60008167ffffffffffffffff811115611c6157611c60612aee565b5b6040519080825280601f01601f191660200182016040528015611c935781602001600182028036833780820191505090505b5090505b60008514611d2057600182611cac91906137c9565b9150600a85611cbb9190613a0d565b6030611cc79190613352565b60f81b818381518110611cdd57611cdc6130af565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611d1991906139dc565b9450611c97565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611da18383836120a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611de457611ddf816120a6565b611e23565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e2257611e2183826120ef565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e6657611e618161225c565b611ea5565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ea457611ea3828261232d565b5b5b505050565b505050565b611eb983836123ac565b611ec66000848484611f0a565b611f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efc9061398d565b60405180910390fd5b505050565b6000611f2b8473ffffffffffffffffffffffffffffffffffffffff16612586565b15612094578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f546113b2565b8786866040518563ffffffff1660e01b8152600401611f769493929190613a93565b602060405180830381600087803b158015611f9057600080fd5b505af1925050508015611fc157506040513d601f19601f82011682018060405250810190611fbe9190613af4565b60015b612044573d8060008114611ff1576040519150601f19603f3d011682016040523d82523d6000602084013e611ff6565b606091505b5060008151141561203c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120339061398d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612099565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016120fc84610bf1565b61210691906137c9565b90506000600760008481526020019081526020016000205490508181146121eb576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061227091906137c9565b90506000600960008481526020019081526020016000205490506000600883815481106122a05761229f6130af565b5b9060005260206000200154905080600883815481106122c2576122c16130af565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061231157612310613b21565b5b6001900381819060005260206000200160009055905550505050565b600061233883610bf1565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561241c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241390613b9c565b60405180910390fd5b61242581611acd565b15612465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245c90613c08565b60405180910390fd5b61247160008383611d96565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124c19190613352565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461258260008383611eaa565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b8280546125b590612e35565b90600052602060002090601f0160209004810192826125d7576000855561261e565b82601f106125f057805160ff191683800117855561261e565b8280016001018555821561261e579182015b8281111561261d578251825591602001919060010190612602565b5b50905061262b919061262f565b5090565b5b80821115612648576000816000905550600101612630565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61269581612660565b81146126a057600080fd5b50565b6000813590506126b28161268c565b92915050565b6000602082840312156126ce576126cd612656565b5b60006126dc848285016126a3565b91505092915050565b60008115159050919050565b6126fa816126e5565b82525050565b600060208201905061271560008301846126f1565b92915050565b612724816126e5565b811461272f57600080fd5b50565b6000813590506127418161271b565b92915050565b60006020828403121561275d5761275c612656565b5b600061276b84828501612732565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127ae578082015181840152602081019050612793565b838111156127bd576000848401525b50505050565b6000601f19601f8301169050919050565b60006127df82612774565b6127e9818561277f565b93506127f9818560208601612790565b612802816127c3565b840191505092915050565b6000602082019050818103600083015261282781846127d4565b905092915050565b6000819050919050565b6128428161282f565b811461284d57600080fd5b50565b60008135905061285f81612839565b92915050565b60006020828403121561287b5761287a612656565b5b600061288984828501612850565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128bd82612892565b9050919050565b6128cd816128b2565b82525050565b60006020820190506128e860008301846128c4565b92915050565b6128f7816128b2565b811461290257600080fd5b50565b600081359050612914816128ee565b92915050565b6000806040838503121561293157612930612656565b5b600061293f85828601612905565b925050602061295085828601612850565b9150509250929050565b6129638161282f565b82525050565b600060208201905061297e600083018461295a565b92915050565b60008060006060848603121561299d5761299c612656565b5b60006129ab86828701612905565b93505060206129bc86828701612905565b92505060406129cd86828701612850565b9150509250925092565b6000602082840312156129ed576129ec612656565b5b60006129fb84828501612905565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a398161282f565b82525050565b6000612a4b8383612a30565b60208301905092915050565b6000602082019050919050565b6000612a6f82612a04565b612a798185612a0f565b9350612a8483612a20565b8060005b83811015612ab5578151612a9c8882612a3f565b9750612aa783612a57565b925050600181019050612a88565b5085935050505092915050565b60006020820190508181036000830152612adc8184612a64565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b26826127c3565b810181811067ffffffffffffffff82111715612b4557612b44612aee565b5b80604052505050565b6000612b5861264c565b9050612b648282612b1d565b919050565b600067ffffffffffffffff821115612b8457612b83612aee565b5b612b8d826127c3565b9050602081019050919050565b82818337600083830152505050565b6000612bbc612bb784612b69565b612b4e565b905082815260208101848484011115612bd857612bd7612ae9565b5b612be3848285612b9a565b509392505050565b600082601f830112612c0057612bff612ae4565b5b8135612c10848260208601612ba9565b91505092915050565b600060208284031215612c2f57612c2e612656565b5b600082013567ffffffffffffffff811115612c4d57612c4c61265b565b5b612c5984828501612beb565b91505092915050565b60008060408385031215612c7957612c78612656565b5b6000612c8785828601612905565b9250506020612c9885828601612732565b9150509250929050565b600067ffffffffffffffff821115612cbd57612cbc612aee565b5b612cc6826127c3565b9050602081019050919050565b6000612ce6612ce184612ca2565b612b4e565b905082815260208101848484011115612d0257612d01612ae9565b5b612d0d848285612b9a565b509392505050565b600082601f830112612d2a57612d29612ae4565b5b8135612d3a848260208601612cd3565b91505092915050565b60008060008060808587031215612d5d57612d5c612656565b5b6000612d6b87828801612905565b9450506020612d7c87828801612905565b9350506040612d8d87828801612850565b925050606085013567ffffffffffffffff811115612dae57612dad61265b565b5b612dba87828801612d15565b91505092959194509250565b60008060408385031215612ddd57612ddc612656565b5b6000612deb85828601612905565b9250506020612dfc85828601612905565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e4d57607f821691505b60208210811415612e6157612e60612e06565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ec360218361277f565b9150612ece82612e67565b604082019050919050565b60006020820190508181036000830152612ef281612eb6565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000612f55603e8361277f565b9150612f6082612ef9565b604082019050919050565b60006020820190508181036000830152612f8481612f48565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612fe7602e8361277f565b9150612ff282612f8b565b604082019050919050565b6000602082019050818103600083015261301681612fda565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613079602b8361277f565b91506130848261301d565b604082019050919050565b600060208201905081810360008301526130a88161306c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006131188261282f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561314b5761314a6130de565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006131b2602c8361277f565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061321e60188361277f565b9150613229826131e8565b602082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006132b060298361277f565b91506132bb82613254565b604082019050919050565b600060208201905081810360008301526132df816132a3565b9050919050565b7f4f6e6c79207574696c20636f6e74726163740000000000000000000000000000600082015250565b600061331c60128361277f565b9150613327826132e6565b602082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b600061335d8261282f565b91506133688361282f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561339d5761339c6130de565b5b828201905092915050565b7f496e737566666963656e742062616c616e636500000000000000000000000000600082015250565b60006133de60138361277f565b91506133e9826133a8565b602082019050919050565b6000602082019050818103600083015261340d816133d1565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613470602f8361277f565b915061347b82613414565b604082019050919050565b6000602082019050818103600083015261349f81613463565b9050919050565b600081905092915050565b60006134bc82612774565b6134c681856134a6565b93506134d6818560208601612790565b80840191505092915050565b60008190508160005260206000209050919050565b6000815461350481612e35565b61350e81866134a6565b94506001821660008114613529576001811461353a5761356d565b60ff1983168652818601935061356d565b613543856134e2565b60005b8381101561356557815481890152600182019150602081019050613546565b838801955050505b50505092915050565b600061358282866134b1565b915061358e82856134b1565b915061359a82846134f7565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061360360268361277f565b915061360e826135a7565b604082019050919050565b60006020820190508181036000830152613632816135f6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061366f60208361277f565b915061367a82613639565b602082019050919050565b6000602082019050818103600083015261369e81613662565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061370160258361277f565b915061370c826136a5565b604082019050919050565b60006020820190508181036000830152613730816136f4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061379360248361277f565b915061379e82613737565b604082019050919050565b600060208201905081810360008301526137c281613786565b9050919050565b60006137d48261282f565b91506137df8361282f565b9250828210156137f2576137f16130de565b5b828203905092915050565b600081905092915050565b50565b60006138186000836137fd565b915061382382613808565b600082019050919050565b60006138398261380b565b9150819050919050565b7f4661696c656420746f2077697468647261772045746865720000000000000000600082015250565b600061387960188361277f565b915061388482613843565b602082019050919050565b600060208201905081810360008301526138a88161386c565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006138e560198361277f565b91506138f0826138af565b602082019050919050565b60006020820190508181036000830152613914816138d8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061397760328361277f565b91506139828261391b565b604082019050919050565b600060208201905081810360008301526139a68161396a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139e78261282f565b91506139f28361282f565b925082613a0257613a016139ad565b5b828204905092915050565b6000613a188261282f565b9150613a238361282f565b925082613a3357613a326139ad565b5b828206905092915050565b600081519050919050565b600082825260208201905092915050565b6000613a6582613a3e565b613a6f8185613a49565b9350613a7f818560208601612790565b613a88816127c3565b840191505092915050565b6000608082019050613aa860008301876128c4565b613ab560208301866128c4565b613ac2604083018561295a565b8181036060830152613ad48184613a5a565b905095945050505050565b600081519050613aee8161268c565b92915050565b600060208284031215613b0a57613b09612656565b5b6000613b1884828501613adf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613b8660208361277f565b9150613b9182613b50565b602082019050919050565b60006020820190508181036000830152613bb581613b79565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613bf2601c8361277f565b9150613bfd82613bbc565b602082019050919050565b60006020820190508181036000830152613c2181613be5565b905091905056fea2646970667358221220940c2aee302a9367ef2053e453e30c4aa04a8362a5ad8992bf0df730230b8fef64736f6c6343000809003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063b88d4fde116100a2578063da3ef23f11610071578063da3ef23f1461057e578063e985e9c51461059a578063f2fde38b146105ca578063fc6f9468146105e6576101e5565b8063b88d4fde146104f6578063c668286214610512578063c87b56dd14610530578063d5abeb0114610560576101e5565b8063853828b6116100de578063853828b6146104945780638da5cb5b1461049e57806395d89b41146104bc578063a22cb465146104da576101e5565b806370a082311461040e578063715018a61461043e578063755edd17146104485780638431f1a914610478576101e5565b806328ed61fb116101875780634f6ccce7116101565780634f6ccce71461037457806355f804b3146103a45780635c975abb146103c05780636352211e146103de576101e5565b806328ed61fb146102da5780632f745c59146102f857806342842e0e14610328578063438b630014610344576101e5565b8063081812fc116101c3578063081812fc14610254578063095ea7b31461028457806318160ddd146102a057806323b872dd146102be576101e5565b806301ffc9a7146101ea57806302329a291461021a57806306fdde0314610236575b600080fd5b61020460048036038101906101ff91906126b8565b610604565b6040516102119190612700565b60405180910390f35b610234600480360381019061022f9190612747565b61067e565b005b61023e6106a3565b60405161024b919061280d565b60405180910390f35b61026e60048036038101906102699190612865565b610735565b60405161027b91906128d3565b60405180910390f35b61029e6004803603810190610299919061291a565b61077b565b005b6102a8610893565b6040516102b59190612969565b60405180910390f35b6102d860048036038101906102d39190612984565b6108a0565b005b6102e2610900565b6040516102ef91906128d3565b60405180910390f35b610312600480360381019061030d919061291a565b610926565b60405161031f9190612969565b60405180910390f35b610342600480360381019061033d9190612984565b6109cb565b005b61035e600480360381019061035991906129d7565b6109eb565b60405161036b9190612ac2565b60405180910390f35b61038e60048036038101906103899190612865565b610a99565b60405161039b9190612969565b60405180910390f35b6103be60048036038101906103b99190612c19565b610b0a565b005b6103c8610b2c565b6040516103d59190612700565b60405180910390f35b6103f860048036038101906103f39190612865565b610b3f565b60405161040591906128d3565b60405180910390f35b610428600480360381019061042391906129d7565b610bf1565b6040516104359190612969565b60405180910390f35b610446610ca9565b005b610462600480360381019061045d91906129d7565b610cbd565b60405161046f9190612969565b60405180910390f35b610492600480360381019061048d91906129d7565b610d86565b005b61049c610dd2565b005b6104a6610e43565b6040516104b391906128d3565b60405180910390f35b6104c4610e6d565b6040516104d1919061280d565b60405180910390f35b6104f460048036038101906104ef9190612c62565b610eff565b005b610510600480360381019061050b9190612d43565b610f15565b005b61051a610f77565b604051610527919061280d565b60405180910390f35b61054a60048036038101906105459190612865565b611005565b604051610557919061280d565b60405180910390f35b6105686110af565b6040516105759190612969565b60405180910390f35b61059860048036038101906105939190612c19565b6110b5565b005b6105b460048036038101906105af9190612dc6565b6110d7565b6040516105c19190612700565b60405180910390f35b6105e460048036038101906105df91906129d7565b61116b565b005b6105ee6111ef565b6040516105fb91906128d3565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610677575061067682611207565b5b9050919050565b6106866112e9565b80600e60006101000a81548160ff02191690831515021790555050565b6060600080546106b290612e35565b80601f01602080910402602001604051908101604052809291908181526020018280546106de90612e35565b801561072b5780601f106107005761010080835404028352916020019161072b565b820191906000526020600020905b81548152906001019060200180831161070e57829003601f168201915b5050505050905090565b600061074082611367565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061078682610b3f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee90612ed9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108166113b2565b73ffffffffffffffffffffffffffffffffffffffff16148061084557506108448161083f6113b2565b6110d7565b5b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b90612f6b565b60405180910390fd5b61088e83836113ba565b505050565b6000600880549050905090565b6108b16108ab6113b2565b82611473565b6108f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e790612ffd565b60405180910390fd5b6108fb838383611508565b505050565b600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061093183610bf1565b8210610972576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699061308f565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109e683838360405180602001604052806000815250610f15565b505050565b606060006109f883610bf1565b905060008167ffffffffffffffff811115610a1657610a15612aee565b5b604051908082528060200260200182016040528015610a445781602001602082028036833780820191505090505b50905060005b82811015610a8e57610a5c8582610926565b828281518110610a6f57610a6e6130af565b5b6020026020010181815250508080610a869061310d565b915050610a4a565b508092505050919050565b6000610aa3610893565b8210610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb906131c8565b60405180910390fd5b60088281548110610af857610af76130af565b5b90600052602060002001549050919050565b610b126112e9565b80600b9080519060200190610b289291906125a9565b5050565b600e60009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90613234565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c59906132c6565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cb16112e9565b610cbb600061176f565b565b6000600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4690613332565b60405180910390fd5b6000610d59610893565b9050610d7183600183610d6c9190613352565b611835565b600181610d7e9190613352565b915050919050565b610d8e6112e9565b80600e60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dda6112e9565b600047905060008111610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e19906133f4565b60405180910390fd5b610e4073110c2cee3d2e9108e42ba8bf7d7140b5f49b0d3182611853565b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610e7c90612e35565b80601f0160208091040260200160405190810160405280929190818152602001828054610ea890612e35565b8015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b5050505050905090565b610f11610f0a6113b2565b8383611904565b5050565b610f26610f206113b2565b83611473565b610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612ffd565b60405180910390fd5b610f7184848484611a71565b50505050565b600c8054610f8490612e35565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb090612e35565b8015610ffd5780601f10610fd257610100808354040283529160200191610ffd565b820191906000526020600020905b815481529060010190602001808311610fe057829003601f168201915b505050505081565b606061101082611acd565b61104f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104690613486565b60405180910390fd5b6000611059611b39565b9050600081511161107957604051806020016040528060008152506110a7565b8061108384611bcb565b600c60405160200161109793929190613576565b6040516020818303038152906040525b915050919050565b600d5481565b6110bd6112e9565b80600c90805190602001906110d39291906125a9565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6111736112e9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da90613619565b60405180910390fd5b6111ec8161176f565b50565b73110c2cee3d2e9108e42ba8bf7d7140b5f49b0d3181565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112e257506112e182611d2c565b5b9050919050565b6112f16113b2565b73ffffffffffffffffffffffffffffffffffffffff1661130f610e43565b73ffffffffffffffffffffffffffffffffffffffff1614611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c90613685565b60405180910390fd5b565b61137081611acd565b6113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690613234565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661142d83610b3f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061147f83610b3f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114c157506114c081856110d7565b5b806114ff57508373ffffffffffffffffffffffffffffffffffffffff166114e784610735565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661152882610b3f565b73ffffffffffffffffffffffffffffffffffffffff161461157e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590613717565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e5906137a9565b60405180910390fd5b6115f9838383611d96565b6116046000826113ba565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461165491906137c9565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116ab9190613352565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461176a838383611eaa565b505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61184f828260405180602001604052806000815250611eaf565b5050565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516118799061382e565b60006040518083038185875af1925050503d80600081146118b6576040519150601f19603f3d011682016040523d82523d6000602084013e6118bb565b606091505b50509050806118ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f69061388f565b60405180910390fd5b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196a906138fb565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a649190612700565b60405180910390a3505050565b611a7c848484611508565b611a8884848484611f0a565b611ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abe9061398d565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600b8054611b4890612e35565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7490612e35565b8015611bc15780601f10611b9657610100808354040283529160200191611bc1565b820191906000526020600020905b815481529060010190602001808311611ba457829003601f168201915b5050505050905090565b60606000821415611c13576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611d27565b600082905060005b60008214611c45578080611c2e9061310d565b915050600a82611c3e91906139dc565b9150611c1b565b60008167ffffffffffffffff811115611c6157611c60612aee565b5b6040519080825280601f01601f191660200182016040528015611c935781602001600182028036833780820191505090505b5090505b60008514611d2057600182611cac91906137c9565b9150600a85611cbb9190613a0d565b6030611cc79190613352565b60f81b818381518110611cdd57611cdc6130af565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611d1991906139dc565b9450611c97565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611da18383836120a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611de457611ddf816120a6565b611e23565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e2257611e2183826120ef565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e6657611e618161225c565b611ea5565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ea457611ea3828261232d565b5b5b505050565b505050565b611eb983836123ac565b611ec66000848484611f0a565b611f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efc9061398d565b60405180910390fd5b505050565b6000611f2b8473ffffffffffffffffffffffffffffffffffffffff16612586565b15612094578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f546113b2565b8786866040518563ffffffff1660e01b8152600401611f769493929190613a93565b602060405180830381600087803b158015611f9057600080fd5b505af1925050508015611fc157506040513d601f19601f82011682018060405250810190611fbe9190613af4565b60015b612044573d8060008114611ff1576040519150601f19603f3d011682016040523d82523d6000602084013e611ff6565b606091505b5060008151141561203c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120339061398d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612099565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016120fc84610bf1565b61210691906137c9565b90506000600760008481526020019081526020016000205490508181146121eb576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061227091906137c9565b90506000600960008481526020019081526020016000205490506000600883815481106122a05761229f6130af565b5b9060005260206000200154905080600883815481106122c2576122c16130af565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061231157612310613b21565b5b6001900381819060005260206000200160009055905550505050565b600061233883610bf1565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561241c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241390613b9c565b60405180910390fd5b61242581611acd565b15612465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245c90613c08565b60405180910390fd5b61247160008383611d96565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124c19190613352565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461258260008383611eaa565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b8280546125b590612e35565b90600052602060002090601f0160209004810192826125d7576000855561261e565b82601f106125f057805160ff191683800117855561261e565b8280016001018555821561261e579182015b8281111561261d578251825591602001919060010190612602565b5b50905061262b919061262f565b5090565b5b80821115612648576000816000905550600101612630565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61269581612660565b81146126a057600080fd5b50565b6000813590506126b28161268c565b92915050565b6000602082840312156126ce576126cd612656565b5b60006126dc848285016126a3565b91505092915050565b60008115159050919050565b6126fa816126e5565b82525050565b600060208201905061271560008301846126f1565b92915050565b612724816126e5565b811461272f57600080fd5b50565b6000813590506127418161271b565b92915050565b60006020828403121561275d5761275c612656565b5b600061276b84828501612732565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127ae578082015181840152602081019050612793565b838111156127bd576000848401525b50505050565b6000601f19601f8301169050919050565b60006127df82612774565b6127e9818561277f565b93506127f9818560208601612790565b612802816127c3565b840191505092915050565b6000602082019050818103600083015261282781846127d4565b905092915050565b6000819050919050565b6128428161282f565b811461284d57600080fd5b50565b60008135905061285f81612839565b92915050565b60006020828403121561287b5761287a612656565b5b600061288984828501612850565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128bd82612892565b9050919050565b6128cd816128b2565b82525050565b60006020820190506128e860008301846128c4565b92915050565b6128f7816128b2565b811461290257600080fd5b50565b600081359050612914816128ee565b92915050565b6000806040838503121561293157612930612656565b5b600061293f85828601612905565b925050602061295085828601612850565b9150509250929050565b6129638161282f565b82525050565b600060208201905061297e600083018461295a565b92915050565b60008060006060848603121561299d5761299c612656565b5b60006129ab86828701612905565b93505060206129bc86828701612905565b92505060406129cd86828701612850565b9150509250925092565b6000602082840312156129ed576129ec612656565b5b60006129fb84828501612905565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a398161282f565b82525050565b6000612a4b8383612a30565b60208301905092915050565b6000602082019050919050565b6000612a6f82612a04565b612a798185612a0f565b9350612a8483612a20565b8060005b83811015612ab5578151612a9c8882612a3f565b9750612aa783612a57565b925050600181019050612a88565b5085935050505092915050565b60006020820190508181036000830152612adc8184612a64565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b26826127c3565b810181811067ffffffffffffffff82111715612b4557612b44612aee565b5b80604052505050565b6000612b5861264c565b9050612b648282612b1d565b919050565b600067ffffffffffffffff821115612b8457612b83612aee565b5b612b8d826127c3565b9050602081019050919050565b82818337600083830152505050565b6000612bbc612bb784612b69565b612b4e565b905082815260208101848484011115612bd857612bd7612ae9565b5b612be3848285612b9a565b509392505050565b600082601f830112612c0057612bff612ae4565b5b8135612c10848260208601612ba9565b91505092915050565b600060208284031215612c2f57612c2e612656565b5b600082013567ffffffffffffffff811115612c4d57612c4c61265b565b5b612c5984828501612beb565b91505092915050565b60008060408385031215612c7957612c78612656565b5b6000612c8785828601612905565b9250506020612c9885828601612732565b9150509250929050565b600067ffffffffffffffff821115612cbd57612cbc612aee565b5b612cc6826127c3565b9050602081019050919050565b6000612ce6612ce184612ca2565b612b4e565b905082815260208101848484011115612d0257612d01612ae9565b5b612d0d848285612b9a565b509392505050565b600082601f830112612d2a57612d29612ae4565b5b8135612d3a848260208601612cd3565b91505092915050565b60008060008060808587031215612d5d57612d5c612656565b5b6000612d6b87828801612905565b9450506020612d7c87828801612905565b9350506040612d8d87828801612850565b925050606085013567ffffffffffffffff811115612dae57612dad61265b565b5b612dba87828801612d15565b91505092959194509250565b60008060408385031215612ddd57612ddc612656565b5b6000612deb85828601612905565b9250506020612dfc85828601612905565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e4d57607f821691505b60208210811415612e6157612e60612e06565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ec360218361277f565b9150612ece82612e67565b604082019050919050565b60006020820190508181036000830152612ef281612eb6565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000612f55603e8361277f565b9150612f6082612ef9565b604082019050919050565b60006020820190508181036000830152612f8481612f48565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612fe7602e8361277f565b9150612ff282612f8b565b604082019050919050565b6000602082019050818103600083015261301681612fda565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613079602b8361277f565b91506130848261301d565b604082019050919050565b600060208201905081810360008301526130a88161306c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006131188261282f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561314b5761314a6130de565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006131b2602c8361277f565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061321e60188361277f565b9150613229826131e8565b602082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006132b060298361277f565b91506132bb82613254565b604082019050919050565b600060208201905081810360008301526132df816132a3565b9050919050565b7f4f6e6c79207574696c20636f6e74726163740000000000000000000000000000600082015250565b600061331c60128361277f565b9150613327826132e6565b602082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b600061335d8261282f565b91506133688361282f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561339d5761339c6130de565b5b828201905092915050565b7f496e737566666963656e742062616c616e636500000000000000000000000000600082015250565b60006133de60138361277f565b91506133e9826133a8565b602082019050919050565b6000602082019050818103600083015261340d816133d1565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613470602f8361277f565b915061347b82613414565b604082019050919050565b6000602082019050818103600083015261349f81613463565b9050919050565b600081905092915050565b60006134bc82612774565b6134c681856134a6565b93506134d6818560208601612790565b80840191505092915050565b60008190508160005260206000209050919050565b6000815461350481612e35565b61350e81866134a6565b94506001821660008114613529576001811461353a5761356d565b60ff1983168652818601935061356d565b613543856134e2565b60005b8381101561356557815481890152600182019150602081019050613546565b838801955050505b50505092915050565b600061358282866134b1565b915061358e82856134b1565b915061359a82846134f7565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061360360268361277f565b915061360e826135a7565b604082019050919050565b60006020820190508181036000830152613632816135f6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061366f60208361277f565b915061367a82613639565b602082019050919050565b6000602082019050818103600083015261369e81613662565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061370160258361277f565b915061370c826136a5565b604082019050919050565b60006020820190508181036000830152613730816136f4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061379360248361277f565b915061379e82613737565b604082019050919050565b600060208201905081810360008301526137c281613786565b9050919050565b60006137d48261282f565b91506137df8361282f565b9250828210156137f2576137f16130de565b5b828203905092915050565b600081905092915050565b50565b60006138186000836137fd565b915061382382613808565b600082019050919050565b60006138398261380b565b9150819050919050565b7f4661696c656420746f2077697468647261772045746865720000000000000000600082015250565b600061387960188361277f565b915061388482613843565b602082019050919050565b600060208201905081810360008301526138a88161386c565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006138e560198361277f565b91506138f0826138af565b602082019050919050565b60006020820190508181036000830152613914816138d8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061397760328361277f565b91506139828261391b565b604082019050919050565b600060208201905081810360008301526139a68161396a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139e78261282f565b91506139f28361282f565b925082613a0257613a016139ad565b5b828204905092915050565b6000613a188261282f565b9150613a238361282f565b925082613a3357613a326139ad565b5b828206905092915050565b600081519050919050565b600082825260208201905092915050565b6000613a6582613a3e565b613a6f8185613a49565b9350613a7f818560208601612790565b613a88816127c3565b840191505092915050565b6000608082019050613aa860008301876128c4565b613ab560208301866128c4565b613ac2604083018561295a565b8181036060830152613ad48184613a5a565b905095945050505050565b600081519050613aee8161268c565b92915050565b600060208284031215613b0a57613b09612656565b5b6000613b1884828501613adf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613b8660208361277f565b9150613b9182613b50565b602082019050919050565b60006020820190508181036000830152613bb581613b79565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613bf2601c8361277f565b9150613bfd82613bbc565b602082019050919050565b60006020820190508181036000830152613c2181613be5565b905091905056fea2646970667358221220940c2aee302a9367ef2053e453e30c4aa04a8362a5ad8992bf0df730230b8fef64736f6c63430008090033