60806040526001600e5534801561001557600080fd5b5060405146908060526131e482396040805191829003605201822082820182526006808452650465758204c560d41b6020948501528251808401845260018152603160f81b908501528251808501929092527f88a1847c9730bef9353c94092f9ba0a51173f62d6de96902a4d0aa41cab618bd828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201959095523060a0808301919091528251808303909101815260c090910190915280519101206003555080546001600160a01b031916331790556130e6806100fe6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80637464fc3d1161010f578063bc25cf77116100a2578063d505accf11610071578063d505accf14610695578063dd62ed3e146106f3578063ddca3f431461072e578063fff6cae914610759576101e5565b8063bc25cf771461064a578063c45a01551461067d578063d21220a714610685578063d50095841461068d576101e5565b806395d89b41116100de57806395d89b41146105ce578063a9059cbb146105d6578063ba0e930a1461060f578063ba9a7a5614610642576101e5565b80637464fc3d146104ed578063775c2be2146104f55780637ecebe001461054f57806389afcb4414610582576101e5565b806330adf81f116101875780635909c0d5116101565780635909c0d5146104775780635a3d54931461047f5780636a6278421461048757806370a08231146104ba576101e5565b806330adf81f1461041c578063313ce567146104245780633644e5151461044257806336511ae11461044a576101e5565b8063095ea7b3116101c3578063095ea7b3146103415780630dfe16811461038e57806318160ddd146103bf57806323b872dd146103d9576101e5565b8063022c0d9f146101ea57806306fdde03146102855780630902f1ac14610302575b600080fd5b6102836004803603608081101561020057600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561024457600080fd5b82018360208201111561025657600080fd5b8035906020019184600183028401116401000000008311171561027857600080fd5b509092509050610761565b005b61028d610e77565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c75781810151838201526020016102af565b50505050905090810190601f1680156102f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61030a610eb0565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61037a6004803603604081101561035757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610eed565b604080519115158252519081900360200190f35b610396610f04565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103c7610f20565b60408051918252519081900360200190f35b61037a600480360360608110156103ef57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610f26565b6103c7611005565b61042c611029565b6040805160ff9092168252519081900360200190f35b6103c761102e565b6102836004803603602081101561046057600080fd5b50356dffffffffffffffffffffffffffff16611034565b6103c7611182565b6103c7611188565b6103c76004803603602081101561049d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661118e565b6103c7600480360360208110156104d057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611545565b6103c7611557565b6102836004803603608081101561050b57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff90811691602081013582169160408201351690606001356dffffffffffffffffffffffffffff1661155d565b6103c76004803603602081101561056557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611704565b6105b56004803603602081101561059857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611716565b6040805192835260208301919091528051918290030190f35b61028d611bb0565b61037a600480360360408110156105ec57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611be9565b6102836004803603602081101561062557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611bf6565b6103c7611c76565b6102836004803603602081101561066057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611c7c565b610396611e72565b610396611e8e565b610396611eaa565b610283600480360360e08110156106ab57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611ec6565b6103c76004803603604081101561070957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516612192565b6107366121af565b604080516dffffffffffffffffffffffffffff9092168252519081900360200190f35b6102836121c5565b600e546001146107d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f466f72776172643a204c4f434b45440000000000000000000000000000000000604482015290519081900360640190fd5b6000600e55841515806107e55750600084115b61083a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130206023913960400191505060405180910390fd5b600080610845610eb0565b5091509150816dffffffffffffffffffffffffffff16871080156108785750806dffffffffffffffffffffffffffff1686105b6108e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f466f72776172643a20494e53554646494349454e545f4c495155494449545900604482015290519081900360640190fd5b600754600854600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061094857508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6109b357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f466f72776172643a20494e56414c49445f544f00000000000000000000000000604482015290519081900360640190fd5b8a156109c4576109c4828a8d6123ae565b89156109d5576109d5818a8c6123ae565b8615610ab7578873ffffffffffffffffffffffffffffffffffffffff16631f8eb62e338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610a9e57600080fd5b505af1158015610ab2573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610b2357600080fd5b505afa158015610b37573d6000803e3d6000fd5b505050506040513d6020811015610b4d57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610bbf57600080fd5b505afa158015610bd3573d6000803e3d6000fd5b505050506040513d6020811015610be957600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610c13576000610c29565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610c4d576000610c63565b89856dffffffffffffffffffffffffffff160383035b90506000821180610c745750600081115b610cc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061306a6022913960400191505060405180910390fd5b600954600090610d1290610cf49085906dffffffffffffffffffffffffffff1663ffffffff6125bb16565b610d068761271063ffffffff6125bb16565b9063ffffffff61264116565b600954909150600090610d4090610cf49085906dffffffffffffffffffffffffffff1663ffffffff6125bb16565b9050610d796305f5e100610d6d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6125bb16565b9063ffffffff6125bb16565b610d89838363ffffffff6125bb16565b1015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f466f72776172643a204b00000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610e04848488886126b3565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600e55505050505050505050565b6040518060400160405280600681526020017f465758204c50000000000000000000000000000000000000000000000000000081525081565b600954600a546e010000000000000000000000000000918290046dffffffffffffffffffffffffffff908116939082169290910463ffffffff1690565b6000610efa33848461294c565b5060015b92915050565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ff05773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610fbe908363ffffffff61264116565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ffb8484846129bb565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b61103c612a9c565b60055473ffffffffffffffffffffffffffffffffffffffff1633146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f466f72776172643a20464f5242494444454e0000000000000000000000000000604482015290519081900360640190fd5b6064816dffffffffffffffffffffffffffff161061114157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f466f72776172643a204f56455220464545000000000000000000000000000000604482015290519081900360640190fd5b600980547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff92909216919091179055565b600b5481565b600c5481565b6000600e5460011461120157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f466f72776172643a204c4f434b45440000000000000000000000000000000000604482015290519081900360640190fd5b6000600e81905580611211610eb0565b50600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561128b57600080fd5b505afa15801561129f573d6000803e3d6000fd5b505050506040513d60208110156112b557600080fd5b5051600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561132e57600080fd5b505afa158015611342573d6000803e3d6000fd5b505050506040513d602081101561135857600080fd5b50519050600061137e836dffffffffffffffffffffffffffff871663ffffffff61264116565b905060006113a2836dffffffffffffffffffffffffffff871663ffffffff61264116565b905060006113b08787612b0e565b600054909150806113ed576113d96103e8610d066113d4878763ffffffff6125bb16565b612c9a565b98506113e860006103e8612cec565b61144a565b6114476dffffffffffffffffffffffffffff8916611411868463ffffffff6125bb16565b8161141857fe5b046dffffffffffffffffffffffffffff891661143a868563ffffffff6125bb16565b8161144157fe5b04612d9c565b98505b600089116114a3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612ffa6026913960400191505060405180910390fd5b6114ad8a8a612cec565b6114b986868a8a6126b3565b81156114f857600a546009546114f4916dffffffffffffffffffffffffffff6e010000000000000000000000000000909204821691166125bb565b600d555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600e5550949695505050505050565b60016020526000908152604090205481565b600d5481565b60065473ffffffffffffffffffffffffffffffffffffffff1633146115e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f466f72776172643a20464f5242494444454e0000000000000000000000000000604482015290519081900360640190fd5b6064816dffffffffffffffffffffffffffff161061166257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f466f72776172643a204f56455220464545000000000000000000000000000000604482015290519081900360640190fd5b600780547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff96871617909155600880548216948616949094179093556005805490931691909316179055600980547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff909216919091179055565b60046020526000908152604090205481565b600080600e5460011461178a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f466f72776172643a204c4f434b45440000000000000000000000000000000000604482015290519081900360640190fd5b6000600e8190558061179a610eb0565b50600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b15801561181c57600080fd5b505afa158015611830573d6000803e3d6000fd5b505050506040513d602081101561184657600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b1580156118ba57600080fd5b505afa1580156118ce573d6000803e3d6000fd5b505050506040513d60208110156118e457600080fd5b5051306000908152600160205260408120549192506119038888612b0e565b6000549091508061191a848763ffffffff6125bb16565b8161192157fe5b049a5080611935848663ffffffff6125bb16565b8161193c57fe5b04995060008b11801561194f575060008a115b6119a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061308c6026913960400191505060405180910390fd5b6119ae3084612db4565b6119b9878d8d6123ae565b6119c4868d8c6123ae565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b158015611a3057600080fd5b505afa158015611a44573d6000803e3d6000fd5b505050506040513d6020811015611a5a57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b158015611acc57600080fd5b505afa158015611ae0573d6000803e3d6000fd5b505050506040513d6020811015611af657600080fd5b50519350611b0685858b8b6126b3565b8115611b4557600a54600954611b41916dffffffffffffffffffffffffffff6e010000000000000000000000000000909204821691166125bb565b600d555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600e81905550915091565b6040518060400160405280600381526020017f464c50000000000000000000000000000000000000000000000000000000000081525081565b6000610efa3384846129bb565b611bfe612a9c565b73ffffffffffffffffffffffffffffffffffffffff8116611c6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806130436027913960400191505060405180910390fd5b611c7381612e79565b50565b6103e881565b600e54600114611ced57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f466f72776172643a204c4f434b45440000000000000000000000000000000000604482015290519081900360640190fd5b6000600e55600754600854600954604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611ddb9285928792611dd6926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b158015611d9e57600080fd5b505afa158015611db2573d6000803e3d6000fd5b505050506040513d6020811015611dc857600080fd5b50519063ffffffff61264116565b6123ae565b600a54604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611e689284928792611dd6926dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b158015611d9e57600080fd5b50506001600e5550565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60055473ffffffffffffffffffffffffffffffffffffffff1690565b42841015611f3557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f466f72776172643a204558504952454400000000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015612096573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061211157508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61217c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f466f72776172643a20494e56414c49445f5349474e4154555245000000000000604482015290519081900360640190fd5b61218789898961294c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b6009546dffffffffffffffffffffffffffff1681565b600e5460011461223657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f466f72776172643a204c4f434b45440000000000000000000000000000000000604482015290519081900360640190fd5b6000600e55600754604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516123a79273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b1580156122ad57600080fd5b505afa1580156122c1573d6000803e3d6000fd5b505050506040513d60208110156122d757600080fd5b5051600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561234a57600080fd5b505afa15801561235e573d6000803e3d6000fd5b505050506040513d602081101561237457600080fd5b5051600954600a546dffffffffffffffffffffffffffff6e010000000000000000000000000000909204821691166126b3565b6001600e55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106124b457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612477565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612516576040519150601f19603f3d011682016040523d82523d6000602084013e61251b565b606091505b5091509150818015612549575080511580612549575080806020019051602081101561254657600080fd5b50515b6125b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f466f72776172643a205452414e534645525f4641494c45440000000000000000604482015290519081900360640190fd5b5050505050565b60008115806125d6575050808202828282816125d357fe5b04145b610efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff84118015906126df57506dffffffffffffffffffffffffffff8311155b61274a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f466f72776172643a204f564552464c4f57000000000000000000000000000000604482015290519081900360640190fd5b600a5463ffffffff428116916e0100000000000000000000000000009004811682039081161580159061278c57506dffffffffffffffffffffffffffff841615155b80156127a757506dffffffffffffffffffffffffffff831615155b15612857578063ffffffff166127ea856127c086612f01565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612f2516565b600b80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff811661282a846127c087612f01565b600c80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600980547fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000006dffffffffffffffffffffffffffff89811682029290921792839055600a80547fffffffffffffffffffffffffffffffffffff000000000000000000000000000016898416177fffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffff1663ffffffff871683021790819055604080519290940483168252909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260409020546129f1908263ffffffff61264116565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612a33908263ffffffff612f6616565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60055473ffffffffffffffffffffffffffffffffffffffff163314612b0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fd96021913960400191505060405180910390fd5b565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015612b7957600080fd5b505afa158015612b8d573d6000803e3d6000fd5b505050506040513d6020811015612ba357600080fd5b5051600d5473ffffffffffffffffffffffffffffffffffffffff8216158015945091925090612c86578015612c81576000612bfa6113d46dffffffffffffffffffffffffffff88811690881663ffffffff6125bb16565b90506000612c0783612c9a565b905080821115612c7e576000612c35612c26848463ffffffff61264116565b6000549063ffffffff6125bb16565b90506000612c5a83612c4e86600363ffffffff6125bb16565b9063ffffffff612f6616565b90506000818381612c6757fe5b0490508015612c7a57612c7a8782612cec565b5050505b50505b612c92565b8015612c92576000600d555b505092915050565b60006003821115612cdd575080600160028204015b81811015612cd757809150600281828581612cc657fe5b040181612ccf57fe5b049050612caf565b50612ce7565b8115612ce7575060015b919050565b600054612cff908263ffffffff612f6616565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612d37908263ffffffff612f6616565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612dab5781612dad565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054612dea908263ffffffff61264116565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612e24908263ffffffff61264116565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935281517f3eadceefe02aa6afb5514ad1b2ab3f21eb26dd571b170168413057c70615606b929181900390910190a15050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612f5e57fe5b049392505050565b80820182811015610efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe4d616e616765722f63616c6c65722d69732d6e6f742d7468652d6d616e61676572466f72776172643a20494e53554646494349454e545f4c49515549444954595f4d494e544544466f72776172643a20494e53554646494349454e545f4f55545055545f414d4f554e544d616e616765722f6e65772d6d616e616765722d69732d7468652d7a65726f2d61646472657373466f72776172643a20494e53554646494349454e545f494e5055545f414d4f554e54466f72776172643a20494e53554646494349454e545f4c49515549444954595f4255524e4544a265627a7a72315820a70df903a8144cfb0424ea85163a64dd5ef541816682820edfeb71589b353b8664736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429