0x608060405234801561000f575f80fd5b50600436106100cb575f3560e01c806370a082311161008857806395d89b411161006357806395d89b41146101b3578063a9059cbb146101d2578063cbd2ecd2146101e5578063dd62ed3e146101f8575f80fd5b806370a082311461016a57806379cc6790146101925780638da5cb5b146101a5575f80fd5b806306fdde03146100cf578063095ea7b31461010a57806318160ddd1461012d57806323b872dd1461013e578063313ce5671461015157806340c10f1914610157575b5f80fd5b60408051808201909152600d81526c44657374696e7954656d706c6560981b60208201525b6040516101019190610849565b60405180910390f35b61011d6101183660046108af565b610230565b6040519015158152602001610101565b5f545b604051908152602001610101565b61011d61014c3660046108d7565b61029c565b5f610130565b61011d6101653660046108af565b6103f0565b610130610178366004610910565b6001600160a01b03165f9081526001602052604090205490565b61011d6101a03660046108af565b6104c2565b6040515f8152602001610101565b6040805180820190915260038152621114d560ea1b60208201526100f4565b61011d6101e03660046108af565b610619565b61011d6101f33660046108d7565b6106a2565b610130610206366004610930565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b335f8181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061028a9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526001602052604081205482808210156102de5760405162461bcd60e51b81526004016102d590610961565b60405180910390fd5b85846001600160a01b0382163314610332576001600160a01b0382165f9081526002602090815260408083203384529091529020548111156103325760405162461bcd60e51b81526004016102d5906109a6565b6001600160a01b038089165f8181526001602052604080822080548b90039055928a168082529083902080548a01905591515f80516020610a0d83398151915290610380908a815260200190565b60405180910390a3600194506001600160a01b0382165f9081526002602090815260408083203384529091529020546308cee8ea1911156103e5576001600160a01b0382165f9081526002602090815260408083203384529091529020805482900390555b505050509392505050565b5f336001600160a01b037f0000000000000000000000007777396948e32f6810cfb7f5be678a53d36a777716146104695760405162461bcd60e51b815260206004820152601d60248201527f4453543a204d696e746572206e6f742044657374696e7954656d706c6500000060448201526064016102d5565b5f8054830181556001600160a01b03841680825260016020526040918290208054850190559051732002021020031229201507012018061852013142905f80516020610a0d8339815191529061028a9086815260200190565b6001600160a01b0382165f9081526001602052604081205482808210156104fb5760405162461bcd60e51b81526004016102d590610961565b84846001600160a01b038216331461054f576001600160a01b0382165f90815260026020908152604080832033845290915290205481111561054f5760405162461bcd60e51b81526004016102d5906109a6565b6001600160a01b0387165f8181526001602052604080822080548a9003905581548990039091555173200202102003122920150701201806185201314291905f80516020610a0d833981519152906105aa908a815260200190565b60405180910390a3600194506001600160a01b0382165f9081526002602090815260408083203384529091529020546308cee8ea19111561060f576001600160a01b0382165f9081526002602090815260408083203384529091529020805482900390555b5050505092915050565b335f9081526001602052604081205482808210156106495760405162461bcd60e51b81526004016102d590610961565b335f818152600160209081526040808320805489900390556001600160a01b03891680845292819020805489019055518781529192915f80516020610a0d833981519152910160405180910390a3506001949350505050565b5f83826001600160a01b03821633146106f7576001600160a01b0382165f9081526002602090815260408083203384529091529020548111156106f75760405162461bcd60e51b81526004016102d5906109a6565b336001600160a01b0387160361074f5760405162461bcd60e51b815260206004820152601a60248201527f4453543a20506c656173652075736520617070726f766528292e00000000000060448201526064016102d5565b6001600160a01b038087165f908152600260209081526040808320938916835292905290812080548692906107859084906109ed565b90915550506001600160a01b038681165f818152600260209081526040808320948a16808452948252918290205491519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3600192506001600160a01b0382165f9081526002602090815260408083203384529091529020546308cee8ea191115610840576001600160a01b0382165f9081526002602090815260408083203384529091529020805482900390555b50509392505050565b5f6020808352835180828501525f5b8181101561087457858101830151858201604001528201610858565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108aa575f80fd5b919050565b5f80604083850312156108c0575f80fd5b6108c983610894565b946020939093013593505050565b5f805f606084860312156108e9575f80fd5b6108f284610894565b925061090060208501610894565b9150604084013590509250925092565b5f60208284031215610920575f80fd5b61092982610894565b9392505050565b5f8060408385031215610941575f80fd5b61094a83610894565b915061095860208401610894565b90509250929050565b60208082526025908201527f4453543a207472616e7366657220616d6f756e7420657863656564732062616c60408201526430b731b29760d91b606082015260800190565b60208082526027908201527f4453543a207472616e7366657220616d6f756e74206578636565647320616c6c60408201526637bbb0b731b29760c91b606082015260800190565b8082018082111561029657634e487b7160e01b5f52601160045260245ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122069ed5103a1e996a1bf21b7b3cf58c89214b99eb12ef2e78fd053c895c8285a0564736f6c63430008140033
0x60a06040526304a2cb715f5560405162000e6f38038062000e6f8339810160408190526200002d91620002bc565b6001600160a01b03821660808190525f8181527f19a7095d85d7c732e7499e16a3c67c506bcbf1e62eb3a63ec12b51d59580bc176020526040908190206308cee8ea19908190559051732002021020031229201507012018061852013142915f8051602062000e4f83398151915291620000a991815260200190565b60405180910390a35f805b82518110156200019057828181518110620000d357620000d3620003a0565b6020908102919091018101516001600160a01b0381165f81815260018452604090819020620d2fc890819055905190815291945091732002021020031229201507012018061852013142915f8051602062000e2f833981519152910160405180910390a36001600160a01b038281165f818152600260209081526040808320948916808452948252918290206308cee8ea199081905591519182525f8051602062000e4f833981519152910160405180910390a3600101620000b4565b506080516001600160a01b03165f8181526001602052604080822062ed5bd2908190557377777dcaefeac067f21162cd2f48e5b5db0a2b979092527ff973caeaca36a2d6cdb4ec86ff141434b5a203677f046071076ff9eaa97cdc72805463033ec19701905551732002021020031229201507012018061852013142915f8051602062000e2f833981519152916200022a91815260200190565b60405180910390a360405163033ec19781527377777dcaefeac067f21162cd2f48e5b5db0a2b9790732002021020031229201507012018061852013142905f8051602062000e2f8339815191529060200160405180910390a3505050620003b4565b80516001600160a01b0381168114620002a3575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215620002ce575f80fd5b620002d9836200028c565b602084810151919350906001600160401b0380821115620002f8575f80fd5b818601915086601f8301126200030c575f80fd5b815181811115620003215762000321620002a8565b8060051b604051601f19603f83011681018181108582111715620003495762000349620002a8565b60405291825284820192508381018501918983111562000367575f80fd5b938501935b82851015620003905762000380856200028c565b845293850193928501926200036c565b8096505050505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b608051610a62620003cd5f395f6103fc0152610a625ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c806370a082311161008857806395d89b411161006357806395d89b41146101b3578063a9059cbb146101d2578063cbd2ecd2146101e5578063dd62ed3e146101f8575f80fd5b806370a082311461016a57806379cc6790146101925780638da5cb5b146101a5575f80fd5b806306fdde03146100cf578063095ea7b31461010a57806318160ddd1461012d57806323b872dd1461013e578063313ce5671461015157806340c10f1914610157575b5f80fd5b60408051808201909152600d81526c44657374696e7954656d706c6560981b60208201525b6040516101019190610849565b60405180910390f35b61011d6101183660046108af565b610230565b6040519015158152602001610101565b5f545b604051908152602001610101565b61011d61014c3660046108d7565b61029c565b5f610130565b61011d6101653660046108af565b6103f0565b610130610178366004610910565b6001600160a01b03165f9081526001602052604090205490565b61011d6101a03660046108af565b6104c2565b6040515f8152602001610101565b6040805180820190915260038152621114d560ea1b60208201526100f4565b61011d6101e03660046108af565b610619565b61011d6101f33660046108d7565b6106a2565b610130610206366004610930565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b335f8181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061028a9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526001602052604081205482808210156102de5760405162461bcd60e51b81526004016102d590610961565b60405180910390fd5b85846001600160a01b0382163314610332576001600160a01b0382165f9081526002602090815260408083203384529091529020548111156103325760405162461bcd60e51b81526004016102d5906109a6565b6001600160a01b038089165f8181526001602052604080822080548b90039055928a168082529083902080548a01905591515f80516020610a0d83398151915290610380908a815260200190565b60405180910390a3600194506001600160a01b0382165f9081526002602090815260408083203384529091529020546308cee8ea1911156103e5576001600160a01b0382165f9081526002602090815260408083203384529091529020805482900390555b505050509392505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104695760405162461bcd60e51b815260206004820152601d60248201527f4453543a204d696e746572206e6f742044657374696e7954656d706c6500000060448201526064016102d5565b5f8054830181556001600160a01b03841680825260016020526040918290208054850190559051732002021020031229201507012018061852013142905f80516020610a0d8339815191529061028a9086815260200190565b6001600160a01b0382165f9081526001602052604081205482808210156104fb5760405162461bcd60e51b81526004016102d590610961565b84846001600160a01b038216331461054f576001600160a01b0382165f90815260026020908152604080832033845290915290205481111561054f5760405162461bcd60e51b81526004016102d5906109a6565b6001600160a01b0387165f8181526001602052604080822080548a9003905581548990039091555173200202102003122920150701201806185201314291905f80516020610a0d833981519152906105aa908a815260200190565b60405180910390a3600194506001600160a01b0382165f9081526002602090815260408083203384529091529020546308cee8ea19111561060f576001600160a01b0382165f9081526002602090815260408083203384529091529020805482900390555b5050505092915050565b335f9081526001602052604081205482808210156106495760405162461bcd60e51b81526004016102d590610961565b335f818152600160209081526040808320805489900390556001600160a01b03891680845292819020805489019055518781529192915f80516020610a0d833981519152910160405180910390a3506001949350505050565b5f83826001600160a01b03821633146106f7576001600160a01b0382165f9081526002602090815260408083203384529091529020548111156106f75760405162461bcd60e51b81526004016102d5906109a6565b336001600160a01b0387160361074f5760405162461bcd60e51b815260206004820152601a60248201527f4453543a20506c656173652075736520617070726f766528292e00000000000060448201526064016102d5565b6001600160a01b038087165f908152600260209081526040808320938916835292905290812080548692906107859084906109ed565b90915550506001600160a01b038681165f818152600260209081526040808320948a16808452948252918290205491519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3600192506001600160a01b0382165f9081526002602090815260408083203384529091529020546308cee8ea191115610840576001600160a01b0382165f9081526002602090815260408083203384529091529020805482900390555b50509392505050565b5f6020808352835180828501525f5b8181101561087457858101830151858201604001528201610858565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108aa575f80fd5b919050565b5f80604083850312156108c0575f80fd5b6108c983610894565b946020939093013593505050565b5f805f606084860312156108e9575f80fd5b6108f284610894565b925061090060208501610894565b9150604084013590509250925092565b5f60208284031215610920575f80fd5b61092982610894565b9392505050565b5f8060408385031215610941575f80fd5b61094a83610894565b915061095860208401610894565b90509250929050565b60208082526025908201527f4453543a207472616e7366657220616d6f756e7420657863656564732062616c60408201526430b731b29760d91b606082015260800190565b60208082526027908201527f4453543a207472616e7366657220616d6f756e74206578636565647320616c6c60408201526637bbb0b731b29760c91b606082015260800190565b8082018082111561029657634e487b7160e01b5f52601160045260245ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122069ed5103a1e996a1bf21b7b3cf58c89214b99eb12ef2e78fd053c895c8285a0564736f6c63430008140033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9250000000000000000000000007777396948e32f6810cfb7f5be678a53d36a77770000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000001c1d6ab92f943ed4a31da8f447fd9658996000000000000000000000000011119c3a27d5d7e13cb52053af58b2dbddcfe05100000000000000000000000022222ec77c520bdb7d6a2450c3db3c5c138c437200000000000000000000000033339be5d3c5c7ae99c1532df8a09f859770b3e30000000000000000000000004444023b8e794ecd3a21335fca22675739bd7914000000000000000000000000555599f812dc2cf428d67339221e2b066e7fcae500000000000000000000000066660bd655e77b2d8b0ad9f87b4c48d7f284e9b600000000000000000000000077777dcaefeac067f21162cd2f48e5b5db0a2b97000000000000000000000000888853cfdab45eb0608acc157c6295e8efd617a8