60806040523480156200001157600080fd5b5060405162003347380380620033478339810180604052810190808051906020019092919080518201929190602001805190602001909291908051820192919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160ff16600a0a84026001819055506001546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600490805190602001906200010192919062000140565b5081600560006101000a81548160ff021916908360ff16021790555080600690805190602001906200013592919062000140565b5050505050620001ef565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018357805160ff1916838001178555620001b4565b82800160010185558215620001b4579182015b82811115620001b357825182559160200191906001019062000196565b5b509050620001c39190620001c7565b5090565b620001ec91905b80821115620001e8576000816000905550600101620001ce565b5090565b90565b61314880620001ff6000396000f3006080604052600436106200016f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031462000174578063095ea7b3146200020a5780630fb5a6b4146200027257806313d033c014620002a05780631726cbc814620002ce57806318160ddd146200032857806319165587146200035657806323b872dd146200039c578063313ce5671462000424578063384711cc146200045857806338af3eed14620004b257806366188463146200050c57806370a082311462000574578063715018a614620005ce57806374a8f10314620005e8578063872a7810146200062e5780638da5cb5b146200066057806395d89b4114620006ba5780639852595c1462000750578063a9059cbb14620007aa578063be9a65551462000812578063d73dd6231462000840578063dd62ed3e14620008a8578063df3374a91462000922578063f2fde38b1462000992578063fa01dc0614620009d8575b600080fd5b3480156200018157600080fd5b506200018c62000a36565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015620001ce578082015181840152602081019050620001b1565b50505050905090810190601f168015620001fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156200021757600080fd5b5062000258600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062000ad8565b604051808215151515815260200191505060405180910390f35b3480156200027f57600080fd5b506200028a62000bca565b6040518082815260200191505060405180910390f35b348015620002ad57600080fd5b50620002b862000bd0565b6040518082815260200191505060405180910390f35b348015620002db57600080fd5b5062000312600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062000bd6565b6040518082815260200191505060405180910390f35b3480156200033557600080fd5b506200034062000cda565b6040518082815260200191505060405180910390f35b3480156200036357600080fd5b506200039a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062000ce4565b005b348015620003a957600080fd5b506200040a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062000dbe565b604051808215151515815260200191505060405180910390f35b3480156200043157600080fd5b506200043c62001181565b604051808260ff1660ff16815260200191505060405180910390f35b3480156200046557600080fd5b506200049c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001194565b6040518082815260200191505060405180910390f35b348015620004bf57600080fd5b50620004ca62001298565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200051957600080fd5b506200055a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050620012be565b604051808215151515815260200191505060405180910390f35b3480156200058157600080fd5b50620005b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001553565b6040518082815260200191505060405180910390f35b348015620005db57600080fd5b50620005e66200159b565b005b348015620005f557600080fd5b506200062c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620016a1565b005b3480156200063b57600080fd5b5062000646620017d8565b604051808215151515815260200191505060405180910390f35b3480156200066d57600080fd5b5062000678620017eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620006c757600080fd5b50620006d262001811565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101562000714578082015181840152602081019050620006f7565b50505050905090810190601f168015620007425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156200075d57600080fd5b5062000794600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620018b3565b6040518082815260200191505060405180910390f35b348015620007b757600080fd5b50620007f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050620018cb565b604051808215151515815260200191505060405180910390f35b3480156200081f57600080fd5b506200082a62001af0565b6040518082815260200191505060405180910390f35b3480156200084d57600080fd5b506200088e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062001af6565b604051808215151515815260200191505060405180910390f35b348015620008b557600080fd5b506200090c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001cf4565b6040518082815260200191505060405180910390f35b3480156200092f57600080fd5b5062000990600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080351515906020019092919050505062001d7b565b005b3480156200099f57600080fd5b50620009d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001e45565b005b348015620009e557600080fd5b5062000a1c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001eb0565b604051808215151515815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000ad05780601f1062000aa45761010080835404028352916020019162000ad0565b820191906000526020600020905b81548152906001019060200180831162000ab257829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600b5481565b60095481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631726cbc8836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801562000c9657600080fd5b505af115801562000cab573d6000803e3d6000fd5b505050506040513d602081101562000cc257600080fd5b81019080805190602001909291905050509050919050565b6000600154905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166319165587826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562000da257600080fd5b505af115801562000db7573d6000803e3d6000fd5b5050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151562000dfc57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151562000e4a57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151562000ed657600080fd5b62000f29826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462001ed090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000fbe826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462001eea90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200109182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462001ed090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600560009054906101000a900460ff1681565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663384711cc836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200125457600080fd5b505af115801562001269573d6000803e3d6000fd5b505050506040513d60208110156200128057600080fd5b81019080805190602001909291905050509050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115620013d1576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062001467565b620013e6838262001ed090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620015f857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620016fe57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374a8f103826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620017bc57600080fd5b505af1158015620017d1573d6000803e3d6000fd5b5050505050565b600c60009054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620018ab5780601f106200187f57610100808354040283529160200191620018ab565b820191906000526020600020905b8154815290600101906020018083116200188d57829003601f168201915b505050505081565b600d6020528060005260406000206000915090505481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156200190957600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156200195757600080fd5b620019aa826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462001ed090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062001a3f826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462001eea90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600a5481565b600062001b8982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462001eea90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b848484848462001d8a62002004565b808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018215151515815260200195505050505050604051809103906000f08015801562001dfd573d6000803e3d6000fd5b50600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151562001ea257600080fd5b62001ead8162001f07565b50565b600e6020528060005260406000206000915054906101000a900460ff1681565b600082821115151562001edf57fe5b818303905092915050565b6000818301905082811015151562001efe57fe5b80905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151562001f4457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516111078062002016833901905600608060405234801561001057600080fd5b5060405160a0806111078339810180604052810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156100d757600080fd5b8183111515156100e657600080fd5b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548160ff02191690831515021790555081600481905550610168838561017f64010000000002610cdf179091906401000000009004565b60028190555083600381905550505050505061019b565b6000818301905082811015151561019257fe5b80905092915050565b610f5d806101aa6000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630fb5a6b4146100d557806313d033c0146101005780631726cbc81461012b5780631916558714610182578063384711cc146101c557806338af3eed1461021c578063715018a61461027357806374a8f1031461028a578063872a7810146102cd5780638da5cb5b146102fc5780639852595c14610353578063be9a6555146103aa578063f2fde38b146103d5578063fa01dc0614610418575b600080fd5b3480156100e157600080fd5b506100ea610473565b6040518082815260200191505060405180910390f35b34801561010c57600080fd5b50610115610479565b6040518082815260200191505060405180910390f35b34801561013757600080fd5b5061016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061047f565b6040518082815260200191505060405180910390f35b34801561018e57600080fd5b506101c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104e2565b005b3480156101d157600080fd5b50610206600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061061b565b6040518082815260200191505060405180910390f35b34801561022857600080fd5b5061023161081f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027f57600080fd5b50610288610845565b005b34801561029657600080fd5b506102cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610947565b005b3480156102d957600080fd5b506102e2610be9565b604051808215151515815260200191505060405180910390f35b34801561030857600080fd5b50610311610bfc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035f57600080fd5b50610394600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c21565b6040518082815260200191505060405180910390f35b3480156103b657600080fd5b506103bf610c39565b6040518082815260200191505060405180910390f35b3480156103e157600080fd5b50610416600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c3f565b005b34801561042457600080fd5b50610459600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ca6565b604051808215151515815260200191505060405180910390f35b60045481565b60025481565b60006104db600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cd8461061b565b610cc690919063ffffffff16565b9050919050565b60006104ed8261047f565b90506000811115156104fe57600080fd5b61055081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cdf90919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105e0600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16610cfb9092919063ffffffff16565b7ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c565816040518082815260200191505060405180910390a15050565b60008060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156106bb57600080fd5b505af11580156106cf573d6000803e3d6000fd5b505050506040513d60208110156106e557600080fd5b8101908080519060200190929190505050915061074a600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610cdf90919063ffffffff16565b905060025442101561075f5760009250610818565b610776600454600354610cdf90919063ffffffff16565b421015806107cd5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156107da57809250610818565b6108156004546108076107f860035442610cc690919063ffffffff16565b84610de990919063ffffffff16565b610e2190919063ffffffff16565b92505b5050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108a057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109a757600080fd5b600560009054906101000a900460ff1615156109c257600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610a1b57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ab657600080fd5b505af1158015610aca573d6000803e3d6000fd5b505050506040513d6020811015610ae057600080fd5b81019080805190602001909291905050509250610afc8461047f565b9150610b118284610cc690919063ffffffff16565b90506001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610bb76000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff16610cfb9092919063ffffffff16565b7f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee660405160405180910390a150505050565b600560009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915090505481565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9a57600080fd5b610ca381610e37565b50565b60076020528060005260406000206000915054906101000a900460ff1681565b6000828211151515610cd457fe5b818303905092915050565b60008183019050828110151515610cf257fe5b80905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d9e57600080fd5b505af1158015610db2573d6000803e3d6000fd5b505050506040513d6020811015610dc857600080fd5b81019080805190602001909291905050501515610de457600080fd5b505050565b600080831415610dfc5760009050610e1b565b8183029050818382811515610e0d57fe5b04141515610e1757fe5b8090505b92915050565b60008183811515610e2e57fe5b04905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582045b0f00af94e8d8915b452b0d4c03ba8173319432c8fd8750a6561a2730f46c90029a165627a7a7230582021e424dee5dca007e6aa48d50345b29dbb7db455d8a762be7684e27df7a4d542002900000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000045154434c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055154434c53000000000000000000000000000000000000000000000000000000