608060405234801561001057600080fd5b5073911369828d332ad63252861c9484de13531c539f600081815260208181526704fefa17b72400007fc8ae61199d11959b67eeb645739bf56355c0c1e953afba6394c5cf6d8a19701081905560408051918252517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a361072f8061009f6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063521eb27311610071578063521eb2731461021057806370a082311461023457806395d89b411461025a578063a457c2d714610262578063a9059cbb1461028e578063dd62ed3e146102ba576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102e8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610312565b604080519115158252519081900360200190f35b61017e610328565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b03813581169160208101359091169060400135610334565b6101ce61038b565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610390565b6102186103cc565b604080516001600160a01b039092168252519081900360200190f35b61017e6004803603602081101561024a57600080fd5b50356001600160a01b03166103e4565b6100c16103ff565b6101626004803603604081101561027857600080fd5b506001600160a01b038135169060200135610421565b610162600480360360408110156102a457600080fd5b506001600160a01b03813516906020013561045d565b61017e600480360360408110156102d057600080fd5b506001600160a01b038135811691602001351661046a565b6040518060400160405280600b8152602001600160a81b6a446174652053797374656d0281525081565b600061031f338484610495565b50600192915050565b6704fefa17b724000081565b600061034184848461059d565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461038191869161037c908663ffffffff6106b316565b610495565b5060019392505050565b600881565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161031f91859061037c908663ffffffff6106c816565b73911369828d332ad63252861c9484de13531c539f81565b6001600160a01b031660009081526020819052604090205490565b604051806040016040528060038152602001600160e81b624454530281525081565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161031f91859061037c908663ffffffff6106b316565b600061031f33848461059d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0382166104dd57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806106e26022913960400191505060405180910390fd5b6001600160a01b03831661053b5760408051600160e51b62461bcd02815260206004820152601f60248201527f5365747465722063616e6e6f742062652061207a65726f206164647265737300604482015290519081900360640190fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166105fb5760408051600160e51b62461bcd02815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f207a65726f206164647265737300604482015290519081900360640190fd5b6001600160a01b038316600090815260208190526040902054610624908263ffffffff6106b316565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610659908263ffffffff6106c816565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156106c257600080fd5b50900390565b6000828201838110156106da57600080fd5b939250505056fe43616e6e6f7420617070726f766520746f20746865207a65726f2061646472657373a165627a7a7230582036fb70a2d7688e0db5e8b8c5e22bf52ec25338aae39a3e2aefab1296b063a5020029