6080604052600180546001600160a01b031990811673a0d10a1068471b47ae15f77764f58ce2b08d35f4179091556002805490911661dead179055620000486009600a620003cb565b6200005790620f42406200048c565b6003556000600755600360085560085460075462000076919062000344565b6009556064600a55600b805460ff191660011790556003546200009d906103e8906200035f565b620000aa9060016200048c565b600c5560c8601255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015620000e557600080fd5b5060008054336001600160a01b031991821617909155601354600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200014d57600080fd5b505afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000188919062000312565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e557600080fd5b505afa158015620001fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000220919062000312565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200026857600080fd5b505af11580156200027d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a3919062000312565b600d8054610100600160a81b0319166101006001600160a01b0393841602179055306000908152600560209081526040808320600e54851684528252808320600019905560125460015490941683526011825280832093909355600354338352600490915291902055620004c4565b6000602082840312156200032557600080fd5b81516001600160a01b03811681146200033d57600080fd5b9392505050565b600082198211156200035a576200035a620004ae565b500190565b6000826200037d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620003c3578160001904821115620003a757620003a7620004ae565b80851615620003b557918102915b93841c939080029062000387565b509250929050565b60006200033d60ff841683600082620003e75750600162000486565b81620003f65750600062000486565b81600181146200040f57600281146200041a576200043a565b600191505062000486565b60ff8411156200042e576200042e620004ae565b50506001821b62000486565b5060208310610133831016604e8410600b84101617156200045f575081810a62000486565b6200046b838362000382565b8060001904821115620004825762000482620004ae565b0290505b92915050565b6000816000190483118215151615620004a957620004a9620004ae565b500290565b634e487b7160e01b600052601160045260246000fd5b61090780620004d46000396000f3fe60806040526004361061010d5760003560e01c806370a0823111610095578063a8aa1b3111610064578063a8aa1b31146102c3578063a9059cbb14610300578063dcc2345514610320578063dd62ed3e1461033e578063f887ea401461038457600080fd5b806370a0823114610261578063715018a61461029757806389b76123146102ae57806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101bc5780632f54bf6e146101dc578063313ce5671461020b578063571ac8b0146102275780636ddd17131461024757600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017757806318160ddd146101a757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b5060408051808201825260068152653a66e7b96ded60d21b602082015290516101399190610837565b34801561018357600080fd5b5061019761019236600461080d565b6103a4565b6040519015158152602001610139565b3480156101b357600080fd5b5060035461012f565b3480156101c857600080fd5b506101976101d73660046107d1565b610410565b3480156101e857600080fd5b506101976101f7366004610783565b6000546001600160a01b0391821691161490565b34801561021757600080fd5b5060405160098152602001610139565b34801561023357600080fd5b50610197610242366004610783565b6104d0565b34801561025357600080fd5b50600b546101979060ff1681565b34801561026d57600080fd5b5061012f61027c366004610783565b6001600160a01b031660009081526004602052604090205490565b3480156102a357600080fd5b506102ac6104e4565b005b3480156102ba57600080fd5b5060075461012f565b3480156102cf57600080fd5b50600d546102e89061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561030c57600080fd5b5061019761031b36600461080d565b610571565b34801561032c57600080fd5b506000546001600160a01b03166102e8565b34801561034a57600080fd5b5061012f61035936600461079e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039057600080fd5b50600e546102e8906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103ff9086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104bd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610498918490610585565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104c88484846105bf565b949350505050565b60006104de826000196103a4565b92915050565b6000546001600160a01b0316331461052c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e3384846105bf565b9392505050565b600081848411156105a95760405162461bcd60e51b81526004016105239190610837565b5060006105b684866108a4565b95945050505050565b6001600160a01b0383166000908152601160205260408120541580156105fc57506001600160a01b0384166000908152600f602052604090205415155b1561064c57600d546001600160a01b03858116610100909204161461064c576012546001600160a01b038516600090815260116020526040812080549091906106469084906108a4565b90915550505b601080546001600160a01b038581166001600160a01b031983161790925560125491166000818152600f60205260408120805492939290919061069090849061088c565b90915550506001600160a01b0385166000908152601160205260409020546106e0576001600160a01b038516600090815260046020526040812080548592906106da9084906108a4565b90915550505b6001600160a01b0384166000908152600460205260408120805485929061070890849061088c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161075491815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077e57600080fd5b919050565b60006020828403121561079557600080fd5b61057e82610767565b600080604083850312156107b157600080fd5b6107ba83610767565b91506107c860208401610767565b90509250929050565b6000806000606084860312156107e657600080fd5b6107ef84610767565b92506107fd60208501610767565b9150604084013590509250925092565b6000806040838503121561082057600080fd5b61082983610767565b946020939093013593505050565b600060208083528351808285015260005b8181101561086457858101830151858201604001528201610848565b81811115610876576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561089f5761089f6108bb565b500190565b6000828210156108b6576108b66108bb565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207a957b43ddbba4e5c3cd83173069e9ac169a863d8cc2629dd5f615523e59323864736f6c63430008050033