0x6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610325578063dd62ed3e14610345578063ea414b281461038b578063eab15e43146103ab578063f2fde38b146103c057600080fd5b806370a0823114610270578063715018a6146102a6578063779fc9e5146102bb5780638da5cb5b146102db57806395d89b41146102f957600080fd5b80632dc0562d116100e75780632dc0562d146101d6578063313ce567146102085780633ccfd60b14610224578063437823ec1461023b57806347b5dd541461025b57600080fd5b806306fdde0314610124578063095ea7b31461016757806318160ddd1461019757806323b872dd146101b657600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260088152674f776c7261636c6560c01b60208201525b60405161015e9190610d4e565b60405180910390f35b34801561017357600080fd5b50610187610182366004610db8565b6103e0565b604051901515815260200161015e565b3480156101a357600080fd5b506006545b60405190815260200161015e565b3480156101c257600080fd5b506101876101d1366004610de4565b6103f6565b3480156101e257600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161015e565b34801561021457600080fd5b506040516012815260200161015e565b34801561023057600080fd5b5061023961045f565b005b34801561024757600080fd5b50610239610256366004610e25565b61049a565b34801561026757600080fd5b506007546101a8565b34801561027c57600080fd5b506101a861028b366004610e25565b6001600160a01b031660009081526001602052604090205490565b3480156102b257600080fd5b506102396104c6565b3480156102c757600080fd5b506102396102d6366004610e25565b6104da565b3480156102e757600080fd5b506000546001600160a01b03166101f0565b34801561030557600080fd5b5060408051808201909152600381526213d5d360ea1b6020820152610151565b34801561033157600080fd5b50610187610340366004610db8565b610506565b34801561035157600080fd5b506101a8610360366004610e42565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561039757600080fd5b506102396103a6366004610e25565b610513565b3480156103b757600080fd5b50610239610639565b3480156103cc57600080fd5b506102396103db366004610e25565b6106ba565b60006103ed338484610752565b50600192915050565b6000610403848484610876565b610455843361045085604051806060016040528060288152602001610f02602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b99565b610752565b5060019392505050565b610467610bc5565b6040514790339082156108fc029083906000818181858888f19350505050158015610496573d6000803e3d6000fd5b5050565b6104a2610bc5565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6104ce610bc5565b6104d86000610c1f565b565b6104e2610bc5565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b60006103ed338484610876565b6000546001600160a01b031633148061053f57506005546001600160a01b0316336001600160a01b0316145b61059a5760405162461bcd60e51b815260206004820152602160248201527f4f776c546f6b656e3a204e6f74206f776e6572206f72207461782077616c6c656044820152601d60fa1b60648201526084015b60405180910390fd5b6001600160a01b0381166105e95760405162461bcd60e51b81526020600482015260166024820152754f776c546f6b656e3a205a65726f206164647265737360501b6044820152606401610591565b600580546001600160a01b03908116600090815260036020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b610641610bc5565b60095460ff166106a85760405162461bcd60e51b815260206004820152602c60248201527f4f776c546f6b656e3a205472616e73666572732061726520616c72656164792060448201526b1d5b9c995cdd1c9a58dd195960a21b6064820152608401610591565b6009805460ff19169055600654600855565b6106c2610bc5565b6001600160a01b0381166107275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610591565b61073081610c1f565b50565b600061073f8284610e91565b9392505050565b600061073f8284610eb0565b6001600160a01b0383166107b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610591565b6001600160a01b0382166108155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610591565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610591565b6001600160a01b03821661093c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610591565b8061095c846001600160a01b031660009081526001602052604090205490565b10156109aa5760405162461bcd60e51b815260206004820152601e60248201527f4f776c546f6b656e3a20496e73756666696369656e742062616c616e636500006044820152606401610591565b6001600160a01b03831660009081526003602052604081205460ff161580156109ec57506001600160a01b03831660009081526003602052604090205460ff16155b15610ac157610a076064610a01846001610733565b90610746565b60095490915060ff168015610a3557506001600160a01b03831660009081526004602052604090205460ff16155b15610ac15760085482610a5d856001600160a01b031660009081526001602052604090205490565b610a679190610ed2565b1115610ac15760405162461bcd60e51b815260206004820152602360248201527f4f776c546f6b656e3a204578636565647320746865206d617857616c6c657453604482015262697a6560e81b6064820152608401610591565b8015610ad057610ad081610c6f565b6001600160a01b038416600090815260016020526040902054610af39083610d36565b6001600160a01b038516600090815260016020526040902055610b38610b198383610d36565b6001600160a01b03851660009081526001602052604090205490610d42565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610b828585610d36565b60405190815260200160405180910390a350505050565b60008184841115610bbd5760405162461bcd60e51b81526004016105919190610d4e565b505050900390565b6000546001600160a01b031633146104d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610591565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610c816064610a01846032610733565b600654909150610c919082610d36565b600655600754610ca19082610d42565b600755610cd2610cb18383610d36565b6005546001600160a01b031660009081526001602052604090205490610d42565b600580546001600160a01b039081166000908152600160205260409020929092555416337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610d218585610d36565b60405190815260200160405180910390a35050565b600061073f8284610eea565b600061073f8284610ed2565b600060208083528351808285015260005b81811015610d7b57858101830151858201604001528201610d5f565b81811115610d8d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461073057600080fd5b60008060408385031215610dcb57600080fd5b8235610dd681610da3565b946020939093013593505050565b600080600060608486031215610df957600080fd5b8335610e0481610da3565b92506020840135610e1481610da3565b929592945050506040919091013590565b600060208284031215610e3757600080fd5b813561073f81610da3565b60008060408385031215610e5557600080fd5b8235610e6081610da3565b91506020830135610e7081610da3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610eab57610eab610e7b565b500290565b600082610ecd57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610ee557610ee5610e7b565b500190565b600082821015610efc57610efc610e7b565b50039056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2488a8ff1f3ebbb8f979c6c7ce6f5636ebc9096198a32e91d09ff95dd9cca8864736f6c63430008090033
0x6080604052620000126012600a620002ed565b6200002190620f4240620002fe565b60065560006007556009805460ff191660011790553480156200004357600080fd5b506200004f3362000165565b600580546001600160a01b03191633908117909155600654600091825260016020819052604083209190915590600390620000926000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003845282812080548616600190811790915560055490921681529190912080549093161790915560065462000121916064916200010d9160029062000733620001b5821b17901c565b620001cc60201b620007461790919060201c565b60085560065460405190815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a362000343565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000620001c38284620002fe565b90505b92915050565b6000620001c3828462000320565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000231578160001904821115620002155762000215620001da565b808516156200022357918102915b93841c9390800290620001f5565b509250929050565b6000826200024a57506001620001c6565b816200025957506000620001c6565b81600181146200027257600281146200027d576200029d565b6001915050620001c6565b60ff841115620002915762000291620001da565b50506001821b620001c6565b5060208310610133831016604e8410600b8410161715620002c2575081810a620001c6565b620002ce8383620001f0565b8060001904821115620002e557620002e5620001da565b029392505050565b6000620001c360ff84168362000239565b60008160001904831182151516156200031b576200031b620001da565b500290565b6000826200033e57634e487b7160e01b600052601260045260246000fd5b500490565b610f5f80620003536000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610325578063dd62ed3e14610345578063ea414b281461038b578063eab15e43146103ab578063f2fde38b146103c057600080fd5b806370a0823114610270578063715018a6146102a6578063779fc9e5146102bb5780638da5cb5b146102db57806395d89b41146102f957600080fd5b80632dc0562d116100e75780632dc0562d146101d6578063313ce567146102085780633ccfd60b14610224578063437823ec1461023b57806347b5dd541461025b57600080fd5b806306fdde0314610124578063095ea7b31461016757806318160ddd1461019757806323b872dd146101b657600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260088152674f776c7261636c6560c01b60208201525b60405161015e9190610d4e565b60405180910390f35b34801561017357600080fd5b50610187610182366004610db8565b6103e0565b604051901515815260200161015e565b3480156101a357600080fd5b506006545b60405190815260200161015e565b3480156101c257600080fd5b506101876101d1366004610de4565b6103f6565b3480156101e257600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161015e565b34801561021457600080fd5b506040516012815260200161015e565b34801561023057600080fd5b5061023961045f565b005b34801561024757600080fd5b50610239610256366004610e25565b61049a565b34801561026757600080fd5b506007546101a8565b34801561027c57600080fd5b506101a861028b366004610e25565b6001600160a01b031660009081526001602052604090205490565b3480156102b257600080fd5b506102396104c6565b3480156102c757600080fd5b506102396102d6366004610e25565b6104da565b3480156102e757600080fd5b506000546001600160a01b03166101f0565b34801561030557600080fd5b5060408051808201909152600381526213d5d360ea1b6020820152610151565b34801561033157600080fd5b50610187610340366004610db8565b610506565b34801561035157600080fd5b506101a8610360366004610e42565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561039757600080fd5b506102396103a6366004610e25565b610513565b3480156103b757600080fd5b50610239610639565b3480156103cc57600080fd5b506102396103db366004610e25565b6106ba565b60006103ed338484610752565b50600192915050565b6000610403848484610876565b610455843361045085604051806060016040528060288152602001610f02602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b99565b610752565b5060019392505050565b610467610bc5565b6040514790339082156108fc029083906000818181858888f19350505050158015610496573d6000803e3d6000fd5b5050565b6104a2610bc5565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6104ce610bc5565b6104d86000610c1f565b565b6104e2610bc5565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b60006103ed338484610876565b6000546001600160a01b031633148061053f57506005546001600160a01b0316336001600160a01b0316145b61059a5760405162461bcd60e51b815260206004820152602160248201527f4f776c546f6b656e3a204e6f74206f776e6572206f72207461782077616c6c656044820152601d60fa1b60648201526084015b60405180910390fd5b6001600160a01b0381166105e95760405162461bcd60e51b81526020600482015260166024820152754f776c546f6b656e3a205a65726f206164647265737360501b6044820152606401610591565b600580546001600160a01b03908116600090815260036020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b610641610bc5565b60095460ff166106a85760405162461bcd60e51b815260206004820152602c60248201527f4f776c546f6b656e3a205472616e73666572732061726520616c72656164792060448201526b1d5b9c995cdd1c9a58dd195960a21b6064820152608401610591565b6009805460ff19169055600654600855565b6106c2610bc5565b6001600160a01b0381166107275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610591565b61073081610c1f565b50565b600061073f8284610e91565b9392505050565b600061073f8284610eb0565b6001600160a01b0383166107b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610591565b6001600160a01b0382166108155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610591565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610591565b6001600160a01b03821661093c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610591565b8061095c846001600160a01b031660009081526001602052604090205490565b10156109aa5760405162461bcd60e51b815260206004820152601e60248201527f4f776c546f6b656e3a20496e73756666696369656e742062616c616e636500006044820152606401610591565b6001600160a01b03831660009081526003602052604081205460ff161580156109ec57506001600160a01b03831660009081526003602052604090205460ff16155b15610ac157610a076064610a01846001610733565b90610746565b60095490915060ff168015610a3557506001600160a01b03831660009081526004602052604090205460ff16155b15610ac15760085482610a5d856001600160a01b031660009081526001602052604090205490565b610a679190610ed2565b1115610ac15760405162461bcd60e51b815260206004820152602360248201527f4f776c546f6b656e3a204578636565647320746865206d617857616c6c657453604482015262697a6560e81b6064820152608401610591565b8015610ad057610ad081610c6f565b6001600160a01b038416600090815260016020526040902054610af39083610d36565b6001600160a01b038516600090815260016020526040902055610b38610b198383610d36565b6001600160a01b03851660009081526001602052604090205490610d42565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610b828585610d36565b60405190815260200160405180910390a350505050565b60008184841115610bbd5760405162461bcd60e51b81526004016105919190610d4e565b505050900390565b6000546001600160a01b031633146104d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610591565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610c816064610a01846032610733565b600654909150610c919082610d36565b600655600754610ca19082610d42565b600755610cd2610cb18383610d36565b6005546001600160a01b031660009081526001602052604090205490610d42565b600580546001600160a01b039081166000908152600160205260409020929092555416337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610d218585610d36565b60405190815260200160405180910390a35050565b600061073f8284610eea565b600061073f8284610ed2565b600060208083528351808285015260005b81811015610d7b57858101830151858201604001528201610d5f565b81811115610d8d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461073057600080fd5b60008060408385031215610dcb57600080fd5b8235610dd681610da3565b946020939093013593505050565b600080600060608486031215610df957600080fd5b8335610e0481610da3565b92506020840135610e1481610da3565b929592945050506040919091013590565b600060208284031215610e3757600080fd5b813561073f81610da3565b60008060408385031215610e5557600080fd5b8235610e6081610da3565b91506020830135610e7081610da3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610eab57610eab610e7b565b500290565b600082610ecd57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610ee557610ee5610e7b565b500190565b600082821015610efc57610efc610e7b565b50039056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2488a8ff1f3ebbb8f979c6c7ce6f5636ebc9096198a32e91d09ff95dd9cca8864736f6c63430008090033