60806040523480156200001157600080fd5b506040518060400160405280600681526020016544656261736560d01b8152506040518060400160405280600681526020016544454241534560d01b81525081600390805190602001906200006892919062000094565b5080516200007e90600490602084019062000094565b50506005805460ff191660121790555062000139565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000d757805160ff191683800117855562000107565b8280016001018555821562000107579182015b8281111562000107578251825591602001919060010190620000ea565b506200011592915062000119565b5090565b6200013691905b8082111562000115576000815560010162000120565b90565b6110c580620001496000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b411461030c578063a457c2d714610314578063a9059cbb14610340578063dd62ed3e1461036c576100ea565b806370a082311461026a5780637a43e23f146102905780638cc8af1a146102b3576100ea565b806323ac0381116100c857806323ac0381146101c657806323b872dd146101ea578063313ce56714610220578063395093511461023e576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761039a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b038135169060200135610430565b604080519115158252519081900360200190f35b6101b4610497565b60408051918252519081900360200190f35b6101ce61049d565b604080516001600160a01b039092168252519081900360200190f35b6101986004803603606081101561020057600080fd5b506001600160a01b038135811691602081013590911690604001356104ac565b6102286105f9565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561025457600080fd5b506001600160a01b038135169060200135610602565b6101b46004803603602081101561028057600080fd5b50356001600160a01b031661069b565b6101b4600480360360408110156102a657600080fd5b50803590602001356106c9565b61030a60048036036101008110156102ca57600080fd5b506001600160a01b0381358116916020810135916040820135811691606081013591608082013581169160a08101359160c0820135169060e001356107f2565b005b6100f7610b12565b6101986004803603604081101561032a57600080fd5b506001600160a01b038135169060200135610b73565b6101986004803603604081101561035657600080fd5b506001600160a01b038135169060200135610c62565b6101b46004803603604081101561038257600080fd5b506001600160a01b0381358116916020013516610d48565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b336000818152603c602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60395490565b6038546001600160a01b031681565b6000826001600160a01b0381166104c257600080fd5b6001600160a01b0381163014156104d857600080fd5b6001600160a01b0385166000908152603c6020908152604080832033845290915290205461050c908463ffffffff610d7316565b6001600160a01b0386166000908152603c60209081526040808320338452909152812091909155603a5461054790859063ffffffff610dbc16565b6001600160a01b0387166000908152603b6020526040902054909150610573908263ffffffff610d7316565b6001600160a01b038088166000908152603b602052604080822093909355908716815220546105a8908263ffffffff610e1516565b6001600160a01b038087166000818152603b602090815260409182902094909455805188815290519193928a169260008051602061107083398151915292918290030190a350600195945050505050565b60055460ff1690565b336000908152603c602090815260408083206001600160a01b0386168452909152812054610636908363ffffffff610e1516565b336000818152603c602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b603a546001600160a01b0382166000908152603b60205260408120549091610491919063ffffffff610e6f16565b6038546000906001600160a01b031633146106e357600080fd5b8161072957603954604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a250603954610491565b60008212156107555761074d61073e83610eb1565b6039549063ffffffff610d7316565b60395561076c565b603954610768908363ffffffff610e1516565b6039555b6039546001600160801b031015610789576001600160801b036039555b6039546107ad9069d3c21bcecceda10000006000195b06199063ffffffff610e6f16565b603a55603954604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a25060395492915050565b60055462010000900460ff168061080c575061080c610ed9565b8061081f5750600554610100900460ff16155b61085a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611042602e913960400191505060405180910390fd5b60055462010000900460ff1615801561088a576005805461ff001962ff0000199091166201000017166101001790555b6108ac826108a086818c8b63ffffffff610e1516565b9063ffffffff610e1516565b6064146108b857600080fd5b6108c0610fdb565b69d3c21bcecceda100000060398190556108dd908060001961079f565b603a55603880546001600160a01b0319166001600160a01b03861617905560395461091b9060649061090f908c610dbc565b9063ffffffff610e6f16565b808252603a54610931919063ffffffff610dbc16565b60208201526039546109509060649061090f908a63ffffffff610dbc16565b60408201819052603a5461096a919063ffffffff610dbc16565b60608201526039546109899060649061090f908863ffffffff610dbc16565b60808201819052603a546109a3919063ffffffff610dbc16565b60a08201526039546109c29060649061090f908663ffffffff610dbc16565b60c08201819052603a546109dc919063ffffffff610dbc16565b60e082019081526020808301516001600160a01b03808e166000818152603b855260408082209490945560608701518e841682528482205560a08701518c84168252848220559451603854909216855282852091909155845182519081529151909392600080516020611070833981519152928290030190a3604080820151815190815290516001600160a01b038a16916000916000805160206110708339815191529181900360200190a3608081015160408051918252516001600160a01b038816916000916000805160206110708339815191529181900360200190a360385460c082015160408051918252516001600160a01b0390921691600091600080516020611070833981519152919081900360200190a3508015610b07576005805462ff0000191690555b505050505050505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104265780601f106103fb57610100808354040283529160200191610426565b336000908152603c602090815260408083206001600160a01b0386168452909152812054808310610bc757336000908152603c602090815260408083206001600160a01b0388168452909152812055610bfc565b610bd7818463ffffffff610d7316565b336000908152603c602090815260408083206001600160a01b03891684529091529020555b336000818152603c602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b038116610c7857600080fd5b6001600160a01b038116301415610c8e57600080fd5b6000610ca5603a5485610dbc90919063ffffffff16565b336000908152603b6020526040902054909150610cc8908263ffffffff610d7316565b336000908152603b6020526040808220929092556001600160a01b03871681522054610cfa908263ffffffff610e1516565b6001600160a01b0386166000818152603b60209081526040918290209390935580518781529051919233926000805160206110708339815191529281900390910190a3506001949350505050565b6001600160a01b039182166000908152603c6020908152604080832093909416825291909152205490565b6000610db583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610edf565b9392505050565b600082610dcb57506000610491565b82820282848281610dd857fe5b0414610db55760405162461bcd60e51b81526004018080602001828103825260218152602001806110216021913960400191505060405180910390fd5b600082820183811015610db5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610db583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f76565b6000600160ff1b821415610ec457600080fd5b60008212610ed25781610491565b5060000390565b303b1590565b60008184841115610f6e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f33578181015183820152602001610f1b565b50505050905090810190601f168015610f605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610fc55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f33578181015183820152602001610f1b565b506000838581610fd157fe5b0495945050505050565b6040518061010001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220089f3b104a577c2640918f23056634d0d47fde29c291a099368a861663bcb87864736f6c63430006060033