0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638bf1ad4c1161005b5780638bf1ad4c1461019157806399d508c014610207578063f09dafb214610221578063fc0c546a1461023e57610088565b806332b1c5b71461008d5780635ca2fc53146100c85780636fc559bb1461010e5780637935510b14610174575b600080fd5b6100aa600480360360208110156100a357600080fd5b5035610262565b6040805161ffff909316835260208301919091528051918290030190f35b61010c600480360360a08110156100de57600080fd5b506001600160a01b038135169060208101359060408101359061ffff60608201358116916080013516610388565b005b61012b6004803603602081101561012457600080fd5b503561077b565b60408051978852602088019690965261ffff9485168787015292841660608701529216608085015260a08401919091526001600160a01b031660c0830152519081900360e00190f35b61010c6004803603602081101561018a57600080fd5b50356107cd565b6101b7600480360360208110156101a757600080fd5b50356001600160a01b031661099a565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101f35781810151838201526020016101db565b505050509050019250505060405180910390f35b61020f610a06565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b5035610a0c565b610246610a3c565b604080516001600160a01b039092168252519081900360200190f35b6000818152600160205260408120805482919061027d610a4b565b1015610290576000809250925050610383565b60006102a882600001546102a2610a4b565b90610a4f565b905060006102b98262015180610a9a565b600284015490915062010000900461ffff168110156102e057935060009250610383915050565b600283015461ffff16811061032457600061030c84600301548560010154610a4f90919063ffffffff16565b60029094015461ffff16955092935061038392505050565b6002830154600090610343908390640100000000900461ffff16610a4f565b600285015460018601549192506000916103609161ffff16610a9a565b9050600061037261ffff841683610adc565b929750919550610383945050505050565b915091565b610e428161ffff1611156103d8576040805162461bcd60e51b81526020600482015260126024820152716d6f7265207468616e20313020796561727360701b604482015290519081900360640190fd5b6123a58261ffff161115610428576040805162461bcd60e51b81526020600482015260126024820152716d6f7265207468616e20323520796561727360701b604482015290519081900360640190fd5b8061ffff168261ffff161015610478576040805162461bcd60e51b815260206004820152601060248201526f223ab930ba34b7b7101e1021b634b33360811b604482015290519081900360640190fd5b60006104888461ffff8516610a9a565b9050600081116104d8576040805162461bcd60e51b81526020600482015260166024820152750616d6f756e74566573746564506572446179203e20360541b604482015290519081900360640190fd5b60008054604080516323b872dd60e01b81523360048201523060248201526044810188905290516001600160a01b03909216926323b872dd926064808401936020939083900390910190829087803b15801561053357600080fd5b505af1158015610547573d6000803e3d6000fd5b505050506040513d602081101561055d57600080fd5b50516105a2576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6105aa610c8b565b6040518060e00160405280876000146105c357876105cb565b6105cb610a4b565b81526020018681526020018561ffff1681526020018461ffff168152602001600061ffff16815260200160008152602001886001600160a01b0316815250905080600160006003548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548161ffff021916908361ffff16021790555060608201518160020160026101000a81548161ffff021916908361ffff16021790555060808201518160020160046101000a81548161ffff021916908361ffff16021790555060a0820151816003015560c08201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555090505060026000886001600160a01b03166001600160a01b031681526020019081526020016000206003549080600181540180825580915050600190039060005260206000200160009091909190915055866001600160a01b03167f9d2a1eab91557a277ec725fe26546609d5a33a550c3f3476982ee177252be8f46003546040518082815260200191505060405180910390a250506003805460010190555050505050565b600160208190526000918252604090912080549181015460028201546003830154600490930154919261ffff80831693620100008404821693640100000000900490911691906001600160a01b031687565b6000806107d983610262565b909250905080610824576040805162461bcd60e51b81526020600482015260116024820152700616d6f756e74566573746564206973203607c1b604482015290519081900360640190fd5b6000838152600160205260409020600281015461085190640100000000900461ffff908116908516610b35565b60028201805461ffff929092166401000000000265ffff000000001990921691909117905560038101546108859083610b35565b6003820155600080546004808401546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018790525192169263a9059cbb926044808401936020939083900390910190829087803b1580156108e757600080fd5b505af11580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b5051610950576040805162461bcd60e51b81526020600482015260096024820152686e6f20746f6b656e7360b81b604482015290519081900360640190fd5b60048101546040805184815290516001600160a01b03909216917fc6cbb4aa8681b18644bf64921eea8f2b9f44cbd58d64fc07a110bfccc20382969181900360200190a250505050565b6001600160a01b0381166000908152600260209081526040918290208054835181840281018401909452808452606093928301828280156109fa57602002820191906000526020600020905b8154815260200190600101908083116109e6575b50505050509050919050565b60035481565b600081815260016020819052604082206002810154918101549091610a35919061ffff16610a9a565b9392505050565b6000546001600160a01b031681565b4290565b6000610a9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b8f565b90505b92915050565b6000610a9183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c26565b600082610aeb57506000610a94565b82820282848281610af857fe5b0414610a915760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc86021913960400191505060405180910390fd5b600082820183811015610a91576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610c1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be3578181015183820152602001610bcb565b50505050905090810190601f168015610c105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610c755760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610be3578181015183820152602001610bcb565b506000838581610c8157fe5b0495945050505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091529056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212204adf440d8ce7fa0eae9ecb6f4e780ee49274426cfc0ba0f076adf7e5d804b87c64736f6c634300060c0033
0x608060405234801561001057600080fd5b50604051610d96380380610d968339818101604052602081101561003357600080fd5b50516001600160a01b03811661004857600080fd5b600080546001600160a01b039092166001600160a01b0319909216919091179055610d1e806100786000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638bf1ad4c1161005b5780638bf1ad4c1461019157806399d508c014610207578063f09dafb214610221578063fc0c546a1461023e57610088565b806332b1c5b71461008d5780635ca2fc53146100c85780636fc559bb1461010e5780637935510b14610174575b600080fd5b6100aa600480360360208110156100a357600080fd5b5035610262565b6040805161ffff909316835260208301919091528051918290030190f35b61010c600480360360a08110156100de57600080fd5b506001600160a01b038135169060208101359060408101359061ffff60608201358116916080013516610388565b005b61012b6004803603602081101561012457600080fd5b503561077b565b60408051978852602088019690965261ffff9485168787015292841660608701529216608085015260a08401919091526001600160a01b031660c0830152519081900360e00190f35b61010c6004803603602081101561018a57600080fd5b50356107cd565b6101b7600480360360208110156101a757600080fd5b50356001600160a01b031661099a565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101f35781810151838201526020016101db565b505050509050019250505060405180910390f35b61020f610a06565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b5035610a0c565b610246610a3c565b604080516001600160a01b039092168252519081900360200190f35b6000818152600160205260408120805482919061027d610a4b565b1015610290576000809250925050610383565b60006102a882600001546102a2610a4b565b90610a4f565b905060006102b98262015180610a9a565b600284015490915062010000900461ffff168110156102e057935060009250610383915050565b600283015461ffff16811061032457600061030c84600301548560010154610a4f90919063ffffffff16565b60029094015461ffff16955092935061038392505050565b6002830154600090610343908390640100000000900461ffff16610a4f565b600285015460018601549192506000916103609161ffff16610a9a565b9050600061037261ffff841683610adc565b929750919550610383945050505050565b915091565b610e428161ffff1611156103d8576040805162461bcd60e51b81526020600482015260126024820152716d6f7265207468616e20313020796561727360701b604482015290519081900360640190fd5b6123a58261ffff161115610428576040805162461bcd60e51b81526020600482015260126024820152716d6f7265207468616e20323520796561727360701b604482015290519081900360640190fd5b8061ffff168261ffff161015610478576040805162461bcd60e51b815260206004820152601060248201526f223ab930ba34b7b7101e1021b634b33360811b604482015290519081900360640190fd5b60006104888461ffff8516610a9a565b9050600081116104d8576040805162461bcd60e51b81526020600482015260166024820152750616d6f756e74566573746564506572446179203e20360541b604482015290519081900360640190fd5b60008054604080516323b872dd60e01b81523360048201523060248201526044810188905290516001600160a01b03909216926323b872dd926064808401936020939083900390910190829087803b15801561053357600080fd5b505af1158015610547573d6000803e3d6000fd5b505050506040513d602081101561055d57600080fd5b50516105a2576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6105aa610c8b565b6040518060e00160405280876000146105c357876105cb565b6105cb610a4b565b81526020018681526020018561ffff1681526020018461ffff168152602001600061ffff16815260200160008152602001886001600160a01b0316815250905080600160006003548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548161ffff021916908361ffff16021790555060608201518160020160026101000a81548161ffff021916908361ffff16021790555060808201518160020160046101000a81548161ffff021916908361ffff16021790555060a0820151816003015560c08201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555090505060026000886001600160a01b03166001600160a01b031681526020019081526020016000206003549080600181540180825580915050600190039060005260206000200160009091909190915055866001600160a01b03167f9d2a1eab91557a277ec725fe26546609d5a33a550c3f3476982ee177252be8f46003546040518082815260200191505060405180910390a250506003805460010190555050505050565b600160208190526000918252604090912080549181015460028201546003830154600490930154919261ffff80831693620100008404821693640100000000900490911691906001600160a01b031687565b6000806107d983610262565b909250905080610824576040805162461bcd60e51b81526020600482015260116024820152700616d6f756e74566573746564206973203607c1b604482015290519081900360640190fd5b6000838152600160205260409020600281015461085190640100000000900461ffff908116908516610b35565b60028201805461ffff929092166401000000000265ffff000000001990921691909117905560038101546108859083610b35565b6003820155600080546004808401546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018790525192169263a9059cbb926044808401936020939083900390910190829087803b1580156108e757600080fd5b505af11580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b5051610950576040805162461bcd60e51b81526020600482015260096024820152686e6f20746f6b656e7360b81b604482015290519081900360640190fd5b60048101546040805184815290516001600160a01b03909216917fc6cbb4aa8681b18644bf64921eea8f2b9f44cbd58d64fc07a110bfccc20382969181900360200190a250505050565b6001600160a01b0381166000908152600260209081526040918290208054835181840281018401909452808452606093928301828280156109fa57602002820191906000526020600020905b8154815260200190600101908083116109e6575b50505050509050919050565b60035481565b600081815260016020819052604082206002810154918101549091610a35919061ffff16610a9a565b9392505050565b6000546001600160a01b031681565b4290565b6000610a9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b8f565b90505b92915050565b6000610a9183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c26565b600082610aeb57506000610a94565b82820282848281610af857fe5b0414610a915760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc86021913960400191505060405180910390fd5b600082820183811015610a91576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610c1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be3578181015183820152602001610bcb565b50505050905090810190601f168015610c105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610c755760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610be3578181015183820152602001610bcb565b506000838581610c8157fe5b0495945050505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091529056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212204adf440d8ce7fa0eae9ecb6f4e780ee49274426cfc0ba0f076adf7e5d804b87c64736f6c634300060c00330000000000000000000000007de91b204c1c737bcee6f000aaa6569cf7061cb7