0x6080604052600436106101e75760003560e01c80638da5cb5b11610102578063cc1776d311610095578063f2fde38b11610064578063f2fde38b1461059d578063f5648a4f146105bd578063f70b6f8c146105d2578063f80f5dd5146105f257600080fd5b8063cc1776d3146104f7578063dd62ed3e14610516578063e57f14e11461055c578063ef97212d1461057c57600080fd5b8063a9059cbb116100d1578063a9059cbb1461048d578063aa4bde28146104ad578063c6509bc9146104c2578063c9567bf9146104e257600080fd5b80638da5cb5b1461044f5780638ea5220f1461041157806395d89b41146101f3578063a457c2d71461046d57600080fd5b8063395093511161017a57806370a082311161014957806370a08231146103c6578063715018a6146103fc57806375f0a8741461041157806385141a771461043957600080fd5b8063395093511461034c57806349bd5a5e1461036c5780634f7041a51461038c5780634fcd2446146103a657600080fd5b806318160ddd116101b657806318160ddd146102cb57806323b872dd146102f6578063313ce567146103165780633722355c1461032a57600080fd5b806306fdde03146101f3578063095ea7b31461022f57806311102d4d1461025f5780631694505e1461029357600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201825260048152635065646560e01b602082015290516102269190611bc9565b60405180910390f35b34801561023b57600080fd5b5061024f61024a366004611c2c565b610612565b6040519015158152602001610226565b34801561026b57600080fd5b5060085461028190640100000000900460ff1681565b60405160ff9091168152602001610226565b34801561029f57600080fd5b506001546102b3906001600160a01b031681565b6040516001600160a01b039091168152602001610226565b3480156102d757600080fd5b506d14bddab3e51a57cff87a500000005b604051908152602001610226565b34801561030257600080fd5b5061024f610311366004611c58565b610629565b34801561032257600080fd5b506012610281565b34801561033657600080fd5b5061034a610345366004611c99565b610705565b005b34801561035857600080fd5b5061024f610367366004611c2c565b6107d0565b34801561037857600080fd5b506002546102b3906001600160a01b031681565b34801561039857600080fd5b506008546102819060ff1681565b3480156103b257600080fd5b5061034a6103c1366004611cd3565b610807565b3480156103d257600080fd5b506102e86103e1366004611c99565b6001600160a01b031660009081526003602052604090205490565b34801561040857600080fd5b5061034a61092e565b34801561041d57600080fd5b506102b37390dd09e88272e3af868db622eef36a2ab6dcb93c81565b34801561044557600080fd5b506102b361dead81565b34801561045b57600080fd5b506000546001600160a01b03166102b3565b34801561047957600080fd5b5061024f610488366004611c2c565b61096a565b34801561049957600080fd5b5061024f6104a8366004611c2c565b610a22565b3480156104b957600080fd5b506102e8610a2f565b3480156104ce57600080fd5b5061034a6104dd366004611d06565b610a57565b3480156104ee57600080fd5b5061034a610b48565b34801561050357600080fd5b5060085461028190610100900460ff1681565b34801561052257600080fd5b506102e8610531366004611d49565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561056857600080fd5b5061034a610577366004611c99565b610be7565b34801561058857600080fd5b50600854610281906301000000900460ff1681565b3480156105a957600080fd5b5061034a6105b8366004611c99565b610cac565b3480156105c957600080fd5b5061034a610d5e565b3480156105de57600080fd5b506008546102819062010000900460ff1681565b3480156105fe57600080fd5b5061034a61060d366004611c99565b610e99565b600061061f338484610f48565b5060015b92915050565b6000610636848484611037565b6001600160a01b03841660009081526004602090815260408083203384529091529020548211156106c05760405162461bcd60e51b815260206004820152602960248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732061604482015268363637bbb0b731b29760b91b60648201526084015b60405180910390fd5b6001600160a01b0384166000908152600460209081526040808320338085529252909120546106fb9186916106f6908690611d98565b610f48565b5060019392505050565b6000546001600160a01b0316331461072f5760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b03811660009081526005602052604090205460ff16156107ac5760405162461bcd60e51b815260206004820152602b60248201527f6164647265737320697320616c7265616479206578636c756465642066726f6d60448201526a081b585e081dd85b1b195d60aa1b60648201526084016106b7565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161061f9185906106f6908690611dec565b6000546001600160a01b031633146108315760405162461bcd60e51b81526004016106b790611dab565b600a8260ff16111580156108495750600a8160ff1611155b61088a5760405162461bcd60e51b815260206004820152601260248201527166656573206d757374206265203c3d31302560701b60448201526064016106b7565b60085460ff83811691161415806108ae575060085460ff8281166101009092041614155b61090a5760405162461bcd60e51b815260206004820152602760248201527f6e657720666565732063616e6e6f74206265207468652073616d65206173206f6044820152666c64206665657360c81b60648201526084016106b7565b6008805460ff9283166101000261ffff199091169290931691909117919091179055565b6000546001600160a01b031633146109585760405162461bcd60e51b81526004016106b790611dab565b600080546001600160a01b0319169055565b3360009081526004602090815260408083206001600160a01b03861684529091528120548211156109ec5760405162461bcd60e51b815260206004820152602660248201527f45524332303a2064656372656173656420616c6c6f776e6163652062656c6f77604482015265103d32b9379760d11b60648201526084016106b7565b3360008181526004602090815260408083206001600160a01b038816845290915290205461061f919085906106f6908690611d98565b600061061f338484611037565b6064610a4a6d14bddab3e51a57cff87a500000006002611dff565b610a549190611e16565b81565b6000546001600160a01b03163314610a815760405162461bcd60e51b81526004016106b790611dab565b600854610a989060ff610100820481169116611e38565b60ff1681610aa68486611e38565b610ab09190611e38565b60ff1614610b005760405162461bcd60e51b815260206004820152601f60248201527f726174696f73206d7573742061646420757020746f20746f74616c207461780060448201526064016106b7565b6008805463ffff000019166201000060ff9586160263ff0000001916176301000000938516939093029290921764ff0000000019166401000000009190931602919091179055565b6000546001600160a01b03163314610b725760405162461bcd60e51b81526004016106b790611dab565b60085465010000000000900460ff1615610bce5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106b7565b6008805465ff0000000000191665010000000000179055565b6000546001600160a01b03163314610c115760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b03811660009081526006602052604090205460ff1615610c885760405162461bcd60e51b815260206004820152602560248201527f6164647265737320697320616c7265616479206578636c756465642066726f6d604482015264206665657360d81b60648201526084016106b7565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6000546001600160a01b03163314610cd65760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b038116610d3c5760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526632323932b9b99760c91b60648201526084016106b7565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d885760405162461bcd60e51b81526004016106b790611dab565b60004711610de75760405162461bcd60e51b815260206004820152602660248201527f63616e6e6f742073656e64206d6f7265207468616e20636f6e74726163742062604482015265616c616e636560d01b60648201526084016106b7565b600080546040516001600160a01b039091169047908381818185875af1925050503d8060008114610e34576040519150601f19603f3d011682016040523d82523d6000602084013e610e39565b606091505b5050905080610e965760405162461bcd60e51b815260206004820152602360248201527f6572726f72207769746864726177696e67204554482066726f6d20636f6e74726044820152621858dd60ea1b60648201526084016106b7565b50565b6000546001600160a01b03163314610ec35760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b03811660009081526007602052604090205460ff1615610f245760405162461bcd60e51b81526020600482015260156024820152741859191c995cdcc8185b1c9958591e481859191959605a1b60448201526064016106b7565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6001600160a01b038316610faa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b7565b6001600160a01b03821661100b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b7565b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b6001600160a01b03831661109b5760405162461bcd60e51b815260206004820152602560248201527f63616e6e6f74207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b7565b6001600160a01b0382166110fd5760405162461bcd60e51b815260206004820152602360248201527f63616e6e6f74207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b7565b6000811161115f5760405162461bcd60e51b815260206004820152602960248201527f7472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b7565b6001600160a01b0383166000908152600360205260409020548111156111d15760405162461bcd60e51b815260206004820152602160248201527f63616e6e6f74207472616e73666572206d6f7265207468616e2062616c616e636044820152606560f81b60648201526084016106b7565b60085465010000000000900460ff168061120357506001600160a01b03821660009081526007602052604090205460ff165b8061122657506001600160a01b03831660009081526007602052604090205460ff165b6112725760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206973206e6f74206f70656e2079657400000000000000000060448201526064016106b7565b6001600160a01b03821660009081526005602052604090205460ff16806112e6575060646112af6d14bddab3e51a57cff87a500000006002611dff565b6112b99190611e16565b816112d9846001600160a01b031660009081526003602052604090205490565b6112e39190611dec565b11155b6113325760405162461bcd60e51b815260206004820152601d60248201527f63616e6e6f7420657863656564206d617857616c6c6574416d6f756e7400000060448201526064016106b7565b6001600160a01b03831660009081526006602052604090205460ff168061137157506001600160a01b03821660009081526006602052604090205460ff165b806113a357506002546001600160a01b038481169116148015906113a357506002546001600160a01b03838116911614155b15611444576001600160a01b038316600090815260036020526040812080548392906113d0908490611d98565b90915550506001600160a01b038216600090815260036020526040812080548392906113fd908490611dec565b92505081905550816001600160a01b0316836001600160a01b0316600080516020611f248339815191528360405161143791815260200190565b60405180910390a3505050565b6001600160a01b0383166000908152600360205260408120805483929061146c908490611d98565b90915550506002546001600160a01b03908116908416036115c85760085460ff161561151f576008546064906114a59060ff1683611dff565b6114af9190611e16565b30600090815260036020526040812080549091906114ce908490611dec565b909155505060085430906001600160a01b03851690600080516020611f24833981519152906064906115039060ff1686611dff565b61150d9190611e16565b60405190815260200160405180910390a35b6008546064906115329060ff1683611dff565b61153c9190611e16565b6115469082611d98565b6001600160a01b0383166000908152600360205260408120805490919061156e908490611dec565b90915550506008546001600160a01b038084169190851690600080516020611f24833981519152906064906115a69060ff1686611dff565b6115b09190611e16565b6115ba9085611d98565b604051908152602001611437565b600854610100900460ff1615611909576008546064906115f090610100900460ff1683611dff565b6115fa9190611e16565b3060009081526003602052604081208054909190611619908490611dec565b909155505060085430906001600160a01b03851690600080516020611f248339815191529060649061165390610100900460ff1686611dff565b61165d9190611e16565b60405190815260200160405180910390a3611688610fa06d14bddab3e51a57cff87a50000000611e16565b3060009081526003602052604090205411156119095760085460009060029060ff64010000000082048116916116ce916301000000820481169162010000900416611e38565b6116d89190611e38565b60085460ff918216916201000090910416611708306001600160a01b031660009081526003602052604090205490565b6117129190611dff565b61171c9190611e16565b6117269190611e16565b905061175a8161174b306001600160a01b031660009081526003602052604090205490565b6117559190611d98565b6119c4565b60085460009062010000900460ff16156117d4576008546117d490839060ff640100000000820481169161179e916301000000820481169162010000900416611e38565b6117a89190611e38565b60085460ff918216916117c2916201000090041647611dff565b6117cc9190611e16565b61dead611b1e565b6008546301000000900460ff161561188f576008547390dd09e88272e3af868db622eef36a2ab6dcb93c9061181d9060ff64010000000082048116916301000000900416611e38565b60085460ff9182169161183891630100000090041647611dff565b6118429190611e16565b60405161753091906000818181858888f193505050503d8060008114611884576040519150601f19603f3d011682016040523d82523d6000602084013e611889565b606091505b50909150505b600854640100000000900460ff1615611906576040517390dd09e88272e3af868db622eef36a2ab6dcb93c906175309047906000818181858888f193505050503d80600081146118fb576040519150601f19603f3d011682016040523d82523d6000602084013e611900565b606091505b50909150505b50505b60085460649061192190610100900460ff1683611dff565b61192b9190611e16565b6119359082611d98565b6001600160a01b0383166000908152600360205260408120805490919061195d908490611dec565b90915550506008546001600160a01b038381169190851690600080516020611f248339815191529060649061199a90610100900460ff1686611dff565b6119a49190611e16565b6119ae9085611d98565b60405190815260200160405180910390a3505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119f9576119f9611e51565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190611e67565b81600181518110611a8957611a89611e51565b6001600160a01b039283166020918202929092010152600154611aaf9130911684610f48565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ae8908590600090869030904290600401611e84565b600060405180830381600087803b158015611b0257600080fd5b505af1158015611b16573d6000803e3d6000fd5b505050505050565b600154611b369030906001600160a01b031685610f48565b60015460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c40160606040518083038185885af1158015611ba4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b169190611ef5565b600060208083528351808285015260005b81811015611bf657858101830151858201604001528201611bda565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e9657600080fd5b60008060408385031215611c3f57600080fd5b8235611c4a81611c17565b946020939093013593505050565b600080600060608486031215611c6d57600080fd5b8335611c7881611c17565b92506020840135611c8881611c17565b929592945050506040919091013590565b600060208284031215611cab57600080fd5b8135611cb681611c17565b9392505050565b803560ff81168114611cce57600080fd5b919050565b60008060408385031215611ce657600080fd5b611cef83611cbd565b9150611cfd60208401611cbd565b90509250929050565b600080600060608486031215611d1b57600080fd5b611d2484611cbd565b9250611d3260208501611cbd565b9150611d4060408501611cbd565b90509250925092565b60008060408385031215611d5c57600080fd5b8235611d6781611c17565b91506020830135611d7781611c17565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561062357610623611d82565b60208082526021908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726040820152601760f91b606082015260800190565b8082018082111561062357610623611d82565b808202811582820484141761062357610623611d82565b600082611e3357634e487b7160e01b600052601260045260246000fd5b500490565b60ff818116838216019081111561062357610623611d82565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e7957600080fd5b8151611cb681611c17565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ed45784516001600160a01b031683529383019391830191600101611eaf565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f0a57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122069a8a0dee8ed73575e4f8f8a1b75f93a585de4077c1251d5c1267a4ced18348864736f6c63430008130033
0x60806040526008805465ffffffffffff1916640607000a0a1790553480156200002757600080fd5b50600080546001600160a01b0319908116331790915560018054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa15801562000099573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bf919062000378565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000133919062000378565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000181573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a7919062000378565b600280546001600160a01b0319166001600160a01b039283161781556000805483168152600660209081526040808320805460ff1990811660019081179092553080865283862080548316841790557f112e9867d45d83be04d6646358f978844daeb02ad2990fde1dd8727bdc3ec54280548316841790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548316841790558554881686526005855283862080548316841790558254881686528386208054831684179055955487168552828520805482168317905594845281842080548616821790557fedfeef3533ce36667d6edcbc0de876c2e038bfe92ae4786899dc79b8edb0508680548616821790557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805486168217905583548616845260078352818420805490951617909355815484168252600390529081206d14bddab3e51a57cff87a50000000905554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6d14bddab3e51a57cff87a500000006040516200036991815260200190565b60405180910390a350620003aa565b6000602082840312156200038b57600080fd5b81516001600160a01b0381168114620003a357600080fd5b9392505050565b611f7980620003ba6000396000f3fe6080604052600436106101e75760003560e01c80638da5cb5b11610102578063cc1776d311610095578063f2fde38b11610064578063f2fde38b1461059d578063f5648a4f146105bd578063f70b6f8c146105d2578063f80f5dd5146105f257600080fd5b8063cc1776d3146104f7578063dd62ed3e14610516578063e57f14e11461055c578063ef97212d1461057c57600080fd5b8063a9059cbb116100d1578063a9059cbb1461048d578063aa4bde28146104ad578063c6509bc9146104c2578063c9567bf9146104e257600080fd5b80638da5cb5b1461044f5780638ea5220f1461041157806395d89b41146101f3578063a457c2d71461046d57600080fd5b8063395093511161017a57806370a082311161014957806370a08231146103c6578063715018a6146103fc57806375f0a8741461041157806385141a771461043957600080fd5b8063395093511461034c57806349bd5a5e1461036c5780634f7041a51461038c5780634fcd2446146103a657600080fd5b806318160ddd116101b657806318160ddd146102cb57806323b872dd146102f6578063313ce567146103165780633722355c1461032a57600080fd5b806306fdde03146101f3578063095ea7b31461022f57806311102d4d1461025f5780631694505e1461029357600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201825260048152635065646560e01b602082015290516102269190611bc9565b60405180910390f35b34801561023b57600080fd5b5061024f61024a366004611c2c565b610612565b6040519015158152602001610226565b34801561026b57600080fd5b5060085461028190640100000000900460ff1681565b60405160ff9091168152602001610226565b34801561029f57600080fd5b506001546102b3906001600160a01b031681565b6040516001600160a01b039091168152602001610226565b3480156102d757600080fd5b506d14bddab3e51a57cff87a500000005b604051908152602001610226565b34801561030257600080fd5b5061024f610311366004611c58565b610629565b34801561032257600080fd5b506012610281565b34801561033657600080fd5b5061034a610345366004611c99565b610705565b005b34801561035857600080fd5b5061024f610367366004611c2c565b6107d0565b34801561037857600080fd5b506002546102b3906001600160a01b031681565b34801561039857600080fd5b506008546102819060ff1681565b3480156103b257600080fd5b5061034a6103c1366004611cd3565b610807565b3480156103d257600080fd5b506102e86103e1366004611c99565b6001600160a01b031660009081526003602052604090205490565b34801561040857600080fd5b5061034a61092e565b34801561041d57600080fd5b506102b37390dd09e88272e3af868db622eef36a2ab6dcb93c81565b34801561044557600080fd5b506102b361dead81565b34801561045b57600080fd5b506000546001600160a01b03166102b3565b34801561047957600080fd5b5061024f610488366004611c2c565b61096a565b34801561049957600080fd5b5061024f6104a8366004611c2c565b610a22565b3480156104b957600080fd5b506102e8610a2f565b3480156104ce57600080fd5b5061034a6104dd366004611d06565b610a57565b3480156104ee57600080fd5b5061034a610b48565b34801561050357600080fd5b5060085461028190610100900460ff1681565b34801561052257600080fd5b506102e8610531366004611d49565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561056857600080fd5b5061034a610577366004611c99565b610be7565b34801561058857600080fd5b50600854610281906301000000900460ff1681565b3480156105a957600080fd5b5061034a6105b8366004611c99565b610cac565b3480156105c957600080fd5b5061034a610d5e565b3480156105de57600080fd5b506008546102819062010000900460ff1681565b3480156105fe57600080fd5b5061034a61060d366004611c99565b610e99565b600061061f338484610f48565b5060015b92915050565b6000610636848484611037565b6001600160a01b03841660009081526004602090815260408083203384529091529020548211156106c05760405162461bcd60e51b815260206004820152602960248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732061604482015268363637bbb0b731b29760b91b60648201526084015b60405180910390fd5b6001600160a01b0384166000908152600460209081526040808320338085529252909120546106fb9186916106f6908690611d98565b610f48565b5060019392505050565b6000546001600160a01b0316331461072f5760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b03811660009081526005602052604090205460ff16156107ac5760405162461bcd60e51b815260206004820152602b60248201527f6164647265737320697320616c7265616479206578636c756465642066726f6d60448201526a081b585e081dd85b1b195d60aa1b60648201526084016106b7565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161061f9185906106f6908690611dec565b6000546001600160a01b031633146108315760405162461bcd60e51b81526004016106b790611dab565b600a8260ff16111580156108495750600a8160ff1611155b61088a5760405162461bcd60e51b815260206004820152601260248201527166656573206d757374206265203c3d31302560701b60448201526064016106b7565b60085460ff83811691161415806108ae575060085460ff8281166101009092041614155b61090a5760405162461bcd60e51b815260206004820152602760248201527f6e657720666565732063616e6e6f74206265207468652073616d65206173206f6044820152666c64206665657360c81b60648201526084016106b7565b6008805460ff9283166101000261ffff199091169290931691909117919091179055565b6000546001600160a01b031633146109585760405162461bcd60e51b81526004016106b790611dab565b600080546001600160a01b0319169055565b3360009081526004602090815260408083206001600160a01b03861684529091528120548211156109ec5760405162461bcd60e51b815260206004820152602660248201527f45524332303a2064656372656173656420616c6c6f776e6163652062656c6f77604482015265103d32b9379760d11b60648201526084016106b7565b3360008181526004602090815260408083206001600160a01b038816845290915290205461061f919085906106f6908690611d98565b600061061f338484611037565b6064610a4a6d14bddab3e51a57cff87a500000006002611dff565b610a549190611e16565b81565b6000546001600160a01b03163314610a815760405162461bcd60e51b81526004016106b790611dab565b600854610a989060ff610100820481169116611e38565b60ff1681610aa68486611e38565b610ab09190611e38565b60ff1614610b005760405162461bcd60e51b815260206004820152601f60248201527f726174696f73206d7573742061646420757020746f20746f74616c207461780060448201526064016106b7565b6008805463ffff000019166201000060ff9586160263ff0000001916176301000000938516939093029290921764ff0000000019166401000000009190931602919091179055565b6000546001600160a01b03163314610b725760405162461bcd60e51b81526004016106b790611dab565b60085465010000000000900460ff1615610bce5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106b7565b6008805465ff0000000000191665010000000000179055565b6000546001600160a01b03163314610c115760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b03811660009081526006602052604090205460ff1615610c885760405162461bcd60e51b815260206004820152602560248201527f6164647265737320697320616c7265616479206578636c756465642066726f6d604482015264206665657360d81b60648201526084016106b7565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6000546001600160a01b03163314610cd65760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b038116610d3c5760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526632323932b9b99760c91b60648201526084016106b7565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d885760405162461bcd60e51b81526004016106b790611dab565b60004711610de75760405162461bcd60e51b815260206004820152602660248201527f63616e6e6f742073656e64206d6f7265207468616e20636f6e74726163742062604482015265616c616e636560d01b60648201526084016106b7565b600080546040516001600160a01b039091169047908381818185875af1925050503d8060008114610e34576040519150601f19603f3d011682016040523d82523d6000602084013e610e39565b606091505b5050905080610e965760405162461bcd60e51b815260206004820152602360248201527f6572726f72207769746864726177696e67204554482066726f6d20636f6e74726044820152621858dd60ea1b60648201526084016106b7565b50565b6000546001600160a01b03163314610ec35760405162461bcd60e51b81526004016106b790611dab565b6001600160a01b03811660009081526007602052604090205460ff1615610f245760405162461bcd60e51b81526020600482015260156024820152741859191c995cdcc8185b1c9958591e481859191959605a1b60448201526064016106b7565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6001600160a01b038316610faa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b7565b6001600160a01b03821661100b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b7565b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b6001600160a01b03831661109b5760405162461bcd60e51b815260206004820152602560248201527f63616e6e6f74207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b7565b6001600160a01b0382166110fd5760405162461bcd60e51b815260206004820152602360248201527f63616e6e6f74207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b7565b6000811161115f5760405162461bcd60e51b815260206004820152602960248201527f7472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b7565b6001600160a01b0383166000908152600360205260409020548111156111d15760405162461bcd60e51b815260206004820152602160248201527f63616e6e6f74207472616e73666572206d6f7265207468616e2062616c616e636044820152606560f81b60648201526084016106b7565b60085465010000000000900460ff168061120357506001600160a01b03821660009081526007602052604090205460ff165b8061122657506001600160a01b03831660009081526007602052604090205460ff165b6112725760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206973206e6f74206f70656e2079657400000000000000000060448201526064016106b7565b6001600160a01b03821660009081526005602052604090205460ff16806112e6575060646112af6d14bddab3e51a57cff87a500000006002611dff565b6112b99190611e16565b816112d9846001600160a01b031660009081526003602052604090205490565b6112e39190611dec565b11155b6113325760405162461bcd60e51b815260206004820152601d60248201527f63616e6e6f7420657863656564206d617857616c6c6574416d6f756e7400000060448201526064016106b7565b6001600160a01b03831660009081526006602052604090205460ff168061137157506001600160a01b03821660009081526006602052604090205460ff165b806113a357506002546001600160a01b038481169116148015906113a357506002546001600160a01b03838116911614155b15611444576001600160a01b038316600090815260036020526040812080548392906113d0908490611d98565b90915550506001600160a01b038216600090815260036020526040812080548392906113fd908490611dec565b92505081905550816001600160a01b0316836001600160a01b0316600080516020611f248339815191528360405161143791815260200190565b60405180910390a3505050565b6001600160a01b0383166000908152600360205260408120805483929061146c908490611d98565b90915550506002546001600160a01b03908116908416036115c85760085460ff161561151f576008546064906114a59060ff1683611dff565b6114af9190611e16565b30600090815260036020526040812080549091906114ce908490611dec565b909155505060085430906001600160a01b03851690600080516020611f24833981519152906064906115039060ff1686611dff565b61150d9190611e16565b60405190815260200160405180910390a35b6008546064906115329060ff1683611dff565b61153c9190611e16565b6115469082611d98565b6001600160a01b0383166000908152600360205260408120805490919061156e908490611dec565b90915550506008546001600160a01b038084169190851690600080516020611f24833981519152906064906115a69060ff1686611dff565b6115b09190611e16565b6115ba9085611d98565b604051908152602001611437565b600854610100900460ff1615611909576008546064906115f090610100900460ff1683611dff565b6115fa9190611e16565b3060009081526003602052604081208054909190611619908490611dec565b909155505060085430906001600160a01b03851690600080516020611f248339815191529060649061165390610100900460ff1686611dff565b61165d9190611e16565b60405190815260200160405180910390a3611688610fa06d14bddab3e51a57cff87a50000000611e16565b3060009081526003602052604090205411156119095760085460009060029060ff64010000000082048116916116ce916301000000820481169162010000900416611e38565b6116d89190611e38565b60085460ff918216916201000090910416611708306001600160a01b031660009081526003602052604090205490565b6117129190611dff565b61171c9190611e16565b6117269190611e16565b905061175a8161174b306001600160a01b031660009081526003602052604090205490565b6117559190611d98565b6119c4565b60085460009062010000900460ff16156117d4576008546117d490839060ff640100000000820481169161179e916301000000820481169162010000900416611e38565b6117a89190611e38565b60085460ff918216916117c2916201000090041647611dff565b6117cc9190611e16565b61dead611b1e565b6008546301000000900460ff161561188f576008547390dd09e88272e3af868db622eef36a2ab6dcb93c9061181d9060ff64010000000082048116916301000000900416611e38565b60085460ff9182169161183891630100000090041647611dff565b6118429190611e16565b60405161753091906000818181858888f193505050503d8060008114611884576040519150601f19603f3d011682016040523d82523d6000602084013e611889565b606091505b50909150505b600854640100000000900460ff1615611906576040517390dd09e88272e3af868db622eef36a2ab6dcb93c906175309047906000818181858888f193505050503d80600081146118fb576040519150601f19603f3d011682016040523d82523d6000602084013e611900565b606091505b50909150505b50505b60085460649061192190610100900460ff1683611dff565b61192b9190611e16565b6119359082611d98565b6001600160a01b0383166000908152600360205260408120805490919061195d908490611dec565b90915550506008546001600160a01b038381169190851690600080516020611f248339815191529060649061199a90610100900460ff1686611dff565b6119a49190611e16565b6119ae9085611d98565b60405190815260200160405180910390a3505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119f9576119f9611e51565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190611e67565b81600181518110611a8957611a89611e51565b6001600160a01b039283166020918202929092010152600154611aaf9130911684610f48565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ae8908590600090869030904290600401611e84565b600060405180830381600087803b158015611b0257600080fd5b505af1158015611b16573d6000803e3d6000fd5b505050505050565b600154611b369030906001600160a01b031685610f48565b60015460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c40160606040518083038185885af1158015611ba4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b169190611ef5565b600060208083528351808285015260005b81811015611bf657858101830151858201604001528201611bda565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e9657600080fd5b60008060408385031215611c3f57600080fd5b8235611c4a81611c17565b946020939093013593505050565b600080600060608486031215611c6d57600080fd5b8335611c7881611c17565b92506020840135611c8881611c17565b929592945050506040919091013590565b600060208284031215611cab57600080fd5b8135611cb681611c17565b9392505050565b803560ff81168114611cce57600080fd5b919050565b60008060408385031215611ce657600080fd5b611cef83611cbd565b9150611cfd60208401611cbd565b90509250929050565b600080600060608486031215611d1b57600080fd5b611d2484611cbd565b9250611d3260208501611cbd565b9150611d4060408501611cbd565b90509250925092565b60008060408385031215611d5c57600080fd5b8235611d6781611c17565b91506020830135611d7781611c17565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561062357610623611d82565b60208082526021908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726040820152601760f91b606082015260800190565b8082018082111561062357610623611d82565b808202811582820484141761062357610623611d82565b600082611e3357634e487b7160e01b600052601260045260246000fd5b500490565b60ff818116838216019081111561062357610623611d82565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e7957600080fd5b8151611cb681611c17565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ed45784516001600160a01b031683529383019391830191600101611eaf565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f0a57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122069a8a0dee8ed73575e4f8f8a1b75f93a585de4077c1251d5c1267a4ced18348864736f6c63430008130033