0x6080604052600436106102975760003560e01c80638da5cb5b1161015a578063c30ea2a2116100c1578063f0d396ed1161007a578063f0d396ed14610823578063f2fde38b14610843578063f3c85eba14610863578063f58d80c914610883578063f887ea40146108a3578063f9e87952146108c357600080fd5b8063c30ea2a214610740578063cb8fe02c14610761578063dbfc59ab14610781578063dd62ed3e146107b6578063e18bf122146107d6578063ea27c93c146107f657600080fd5b8063a9059cbb11610113578063a9059cbb1461067f578063ae04d45d1461069f578063b3f00674146106bf578063b6b55f25146106df578063bc4297e7146106ff578063be8529fc1461072057600080fd5b80638da5cb5b146105ab5780638e64fcd7146105dd5780639511d72f1461060a57806395d89b411461062a5780639c4e31481461063f578063a457c2d71461065f57600080fd5b80633c73ad87116101fe5780636d3036a7116101b75780636d3036a7146104e75780636eabfced146104ff57806370a082311461051f578063715018a61461055557806376154ddf1461056a578063872f0b971461058a57600080fd5b80633c73ad8714610446578063429093cc14610473578063494bf608146104935780634e71d92d1461049b578063574eab01146104b057806366e582aa146104d157600080fd5b806323b872dd1161025057806323b872dd146103945780632e1a7d4d146103b45780632e3702d5146103d4578063313ce567146103ea578063368519f314610406578063395093511461042657600080fd5b806306fdde03146102ab5780630902f1ac146102d6578063095ea7b31461030b5780630d6680871461033b57806315ba0e451461035f57806318160ddd1461037f57600080fd5b366102a6576102a46108f0565b005b600080fd5b3480156102b757600080fd5b506102c06109cd565b6040516102cd9190612675565b60405180910390f35b3480156102e257600080fd5b506102eb610a5f565b604080516001600160701b039384168152929091166020830152016102cd565b34801561031757600080fd5b5061032b6103263660046126d8565b610b81565b60405190151581526020016102cd565b34801561034757600080fd5b5061035160105481565b6040519081526020016102cd565b34801561036b57600080fd5b506102a461037a366004612704565b610b9b565b34801561038b57600080fd5b50600254610351565b3480156103a057600080fd5b5061032b6103af366004612721565b610bc5565b3480156103c057600080fd5b506102a46103cf366004612762565b610be9565b3480156103e057600080fd5b50610351600f5481565b3480156103f657600080fd5b50604051601281526020016102cd565b34801561041257600080fd5b5061035161042136600461277b565b610eb2565b34801561043257600080fd5b5061032b6104413660046126d8565b610f13565b34801561045257600080fd5b50610351610461366004612704565b600c6020526000908152604090205481565b34801561047f57600080fd5b506102a461048e366004612762565b610f35565b6102a46108f0565b3480156104a757600080fd5b506102a4610f7b565b3480156104bc57600080fd5b5060115461032b90600160a81b900460ff1681565b3480156104dd57600080fd5b50610351600a5481565b3480156104f357600080fd5b50610351600160801b81565b34801561050b57600080fd5b506102a461051a366004612704565b61114e565b34801561052b57600080fd5b5061035161053a366004612704565b6001600160a01b031660009081526020819052604090205490565b34801561056157600080fd5b506102a46111e2565b34801561057657600080fd5b50610351610585366004612704565b6111f4565b34801561059657600080fd5b5060115461032b90600160b01b900460ff1681565b3480156105b757600080fd5b506005546001600160a01b03165b6040516001600160a01b0390911681526020016102cd565b3480156105e957600080fd5b506103516105f8366004612704565b600d6020526000908152604090205481565b34801561061657600080fd5b506102a4610625366004612762565b611250565b34801561063657600080fd5b506102c06112ae565b34801561064b57600080fd5b506102a461065a366004612704565b6112bd565b34801561066b57600080fd5b5061032b61067a3660046126d8565b6112e7565b34801561068b57600080fd5b5061032b61069a3660046126d8565b611362565b3480156106ab57600080fd5b506102a46106ba366004612762565b611370565b3480156106cb57600080fd5b506011546105c5906001600160a01b031681565b3480156106eb57600080fd5b506102a46106fa366004612762565b61137d565b34801561070b57600080fd5b5060115461032b90600160b81b900460ff1681565b34801561072c57600080fd5b5061035161073b366004612704565b611662565b34801561074c57600080fd5b5060115461032b90600160a01b900460ff1681565b34801561076d57600080fd5b506007546105c5906001600160a01b031681565b34801561078d57600080fd5b506107a161079c36600461279d565b611688565b604080519283526020830191909152016102cd565b3480156107c257600080fd5b506103516107d13660046127d2565b61181a565b3480156107e257600080fd5b506008546105c5906001600160a01b031681565b34801561080257600080fd5b50610351610811366004612704565b600b6020526000908152604090205481565b34801561082f57600080fd5b506102a461083e366004612819565b611845565b34801561084f57600080fd5b506102a461085e366004612704565b6118ad565b34801561086f57600080fd5b506102a461087e366004612875565b611923565b34801561088f57600080fd5b5061035161089e366004612704565b611e7a565b3480156108af57600080fd5b506009546105c5906001600160a01b031681565b3480156108cf57600080fd5b506103516108de366004612704565b600e6020526000908152604090205481565b60006108fb60025490565b116109455760405162461bcd60e51b81526020600482015260156024820152744e6f776865726520746f206469737472696275746560581b60448201526064015b60405180910390fd5b34156109cb5761097861095760025490565b61096534600160801b611ec7565b61096f91906128b7565b600a5490611ed3565b600a8190555034600f600082825461099091906128d9565b909155505060405134815233907f2aaa7923c74576791f293c17c5b1617a0c94ad8beb3c351bef807fd8784268439060200160405180910390a25b565b6060600380546109dc906128ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610a08906128ec565b8015610a555780601f10610a2a57610100808354040283529160200191610a55565b820191906000526020600020905b815481529060010190602001808311610a3857829003601f168201915b5050505050905090565b600080600080600860009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc9190612937565b5091509150600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b589190612987565b6007546001600160a01b03918216911610610b74578082610b77565b81815b9350935050509091565b600033610b8f818585611edf565b60019150505b92915050565b610ba3612003565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b600033610bd385828561205d565b610bde8585856120d7565b506001949350505050565b610bf1612116565b601154600160a81b900460ff16610c415760405162461bcd60e51b815260206004820152601460248201527315da5d1a191c985dc81b9bdd08185b1b1bddd95960621b604482015260640161093c565b60008111610c885760405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b604482015260640161093c565b33600090815260208190526040902054811115610ce25760405162461bcd60e51b8152602060048201526018602482015277416d6f756e74206f76657220757365722062616c616e636560401b604482015260640161093c565b60105415610d3857336000908152600e6020526040902054421015610d385760405162461bcd60e51b815260206004820152600c60248201526b14dd1a5b1b081b1bd8dad95960a21b604482015260640161093c565b6000610d4333611662565b336000908152600c6020526040902054909150610d609082611ed3565b336000908152600c6020526040902055601054610d7d90426128d9565b336000818152600e60205260409081902092909255600854915163a9059cbb60e01b81526004810191909152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0891906129a4565b50610e13338361216f565b604080518381526020810183905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2604051600090309083908381818185875af1925050503d8060008114610e90576040519150601f19603f3d011682016040523d82523d6000602084013e610e95565b606091505b5050905080610ea357600080fd5b5050610eaf6001600655565b50565b60006107ca610f02610ec6856107cd611ec7565b610efc610ef7610ed987623cda20611ec7565b610ee689623cda29611ec7565b610ef091906128d9565b8890611ec7565b6121d3565b90612242565b610f0c91906128b7565b9392505050565b600033610b8f818585610f26838361181a565b610f3091906128d9565b611edf565b610f3d612003565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f77573d6000803e3d6000fd5b5050565b610f83612116565b601154600160b01b900460ff16610fd05760405162461bcd60e51b815260206004820152601160248201527010db185a5b481b9bdd08185b1b1bddd959607a1b604482015260640161093c565b6000610fdb33611662565b9050600081116110205760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015260640161093c565b6000606461102f8360506129c1565b61103991906128b7565b9050600061104782846129d8565b336000908152600c60205260409020549091506110649084611ed3565b336000908152600c602052604090205560105461108190426128d9565b336000818152600e602090815260408083209490945581905291909120547f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79060408051918252602082018790520160405180910390a2604051339083156108fc029084906000818181858888f19350505050158015611105573d6000803e3d6000fd5b506011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611140573d6000803e3d6000fd5b505050506109cb6001600655565b611156612003565b600780546001600160a01b0319166001600160a01b0383811691821790925560095460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044015b6020604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7791906129a4565b6111ea612003565b6109cb600061224e565b6001600160a01b0381166000908152600b602090815260408083205491839052822054600a54600160801b92611246926112419261123b916112369190611ec7565b6122a0565b906122b0565b6122ee565b610b9591906128b7565b611258612003565b6008546001600160a01b031663a9059cbb61127b6005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810184905260440161119f565b6060600480546109dc906128ec565b6112c5612003565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600033816112f5828661181a565b9050838110156113555760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161093c565b610bde8286868403611edf565b600033610b8f8185856120d7565b611378612003565b601055565b601154600160a01b900460ff166113cc5760405162461bcd60e51b815260206004820152601360248201527211195c1bdcda5d081b9bdd08185b1b1bddd959606a1b604482015260640161093c565b600081116114135760405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b604482015260640161093c565b6008546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f91906129eb565b8111156114c95760405162461bcd60e51b8152602060048201526018602482015277416d6f756e74206f76657220757365722062616c616e636560401b604482015260640161093c565b600854604051636eb1769f60e11b81523360048201523060248201526001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015611517573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153b91906129eb565b8111156115815760405162461bcd60e51b81526020600482015260146024820152734e6f7420656e6f75676820616c6c6f77616e636560601b604482015260640161093c565b60105461158e90426128d9565b336000818152600e6020526040908190209290925560085491516323b872dd60e01b81526004810191909152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156115fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161f91906129a4565b5061162a3382612301565b60405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a250565b6001600160a01b0381166000908152600c6020526040812054610b9590610efc846111f4565b600080600061169686611662565b9050806000036116ad576000809250925050611812565b600060646116bc8360506129c1565b6116c691906128b7565b90506000806116d3610a5f565b9150915060006116ec826001600160701b031685610eb2565b905060006116fa82866129d8565b600954604051630153543560e21b8152600481018590526001600160701b038087166024830152871660448201529192506000916001600160a01b039091169063054d50d490606401602060405180830381865afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178491906129eb565b90506000655af3107a40006117998d846129c1565b6117a8906402540be4006129c1565b6117b291906128b7565b905060006117c082846129d8565b90506000655af3107a40006117d58e876129c1565b6117e4906402540be4006129c1565b6117ee91906128b7565b905060006117fc82876129d8565b929c50919a506118129950505050505050505050565b935093915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61184d612003565b6011805461ffff60a01b1916600160a01b9515159590950260ff60a81b191694909417600160a81b931515939093029290921761ffff60b01b1916600160b01b9115159190910260ff60b81b191617600160b81b91151591909102179055565b6118b5612003565b6001600160a01b03811661191a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161093c565b610eaf8161224e565b61192b612116565b601154600160b81b900460ff1661197b5760405162461bcd60e51b815260206004820152601460248201527310dbdb5c1bdd5b99081b9bdd08185b1b1bddd95960621b604482015260640161093c565b6007546001600160a01b03166119d35760405162461bcd60e51b815260206004820152601860248201527f536372616d626c652061646472657373206e6f74207365740000000000000000604482015260640161093c565b82600003611a235760405162461bcd60e51b815260206004820152601a60248201527f616d6f756e744f75744d696e2063616e2774206265207a65726f000000000000604482015260640161093c565b81600003611a735760405162461bcd60e51b815260206004820152601c60248201527f616d6f756e74546f6b656e4d696e2063616e2774206265207a65726f00000000604482015260640161093c565b80600003611ac35760405162461bcd60e51b815260206004820152601a60248201527f616d6f756e744554484d696e2063616e2774206265207a65726f000000000000604482015260640161093c565b6000611ace33611662565b905060008111611b165760405162461bcd60e51b8152602060048201526013602482015272139bdd1a1a5b99c81d1bc818dbdb5c1bdd5b99606a1b604482015260640161093c565b60006064611b258360506129c1565b611b2f91906128b7565b90506000611b3d82846129d8565b336000908152600c6020526040902054909150611b5a9084611ed3565b336000908152600c6020526040902055601054611b7790426128d9565b336000908152600e60205260408082209290925560115491516001600160a01b03909216916108fc84150291849190818181858888f19350505050158015611bc3573d6000803e3d6000fd5b506000611bce610a5f565b9150506000611be6826001600160701b031685610eb2565b90506000611bf482866129d8565b6007546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6691906129eb565b6009549091506001600160a01b0316637ff36ab5848c611c84612345565b30426040518663ffffffff1660e01b8152600401611ca59493929190612a04565b60006040518083038185885af1158015611cc3573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052611cec9190810190612a84565b506007546040516370a0823160e01b815230600482015260009183916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5e91906129eb565b611d6891906129d8565b60095460075460405163f305d71960e01b81526001600160a01b03918216600482015260248101849052604481018e9052606481018d90523360848201524260a482015292935060009291169063f305d71990869060c40160606040518083038185885af1158015611dde573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e039190612b42565b3360008181526020819052604090205491945092507f1c349721eed47ef3e6aede3963c2597161fbd9d7be47bd891a7ecf27780b804c915060408051918252602082018d9052810184905260600160405180910390a2611e628161137d565b505050505050505050611e756001600655565b505050565b600080611e8660025490565b1115611eba576002546001600160a01b03831660009081526020819052604090205461124690670de0b6b3a76400006129c1565b506000919050565b919050565b6000610f0c82846129c1565b6000610f0c82846128d9565b6001600160a01b038316611f415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161093c565b6001600160a01b038216611fa25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161093c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146109cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161093c565b6000612069848461181a565b905060001981146120d157818110156120c45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161093c565b6120d18484848403611edf565b50505050565b60405162461bcd60e51b8152602060048201526014602482015273151c985b9cd9995c881b9bdd08185b1b1bddd95960621b604482015260640161093c565b6002600654036121685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161093c565b6002600655565b6121798282612484565b6121b361219461123683600a54611ec790919063ffffffff16565b6001600160a01b0384166000908152600b6020526040902054906122b0565b6001600160a01b039092166000908152600b602052604090209190915550565b6000600382111561223457508060006121ed6002836128b7565b6121f89060016128d9565b90505b8181101561222e5790508060028161221381866128b7565b61221d91906128d9565b61222791906128b7565b90506121fb565b50919050565b8115611ec257506001919050565b6000610f0c82846129d8565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008181811215610b9557600080fd5b6000806122bd8385612b70565b9050600083121580156122d05750838112155b806122e557506000831280156122e557508381125b610f0c57600080fd5b6000808212156122fd57600080fd5b5090565b61230b82826125b6565b6121b361232661123683600a54611ec790919063ffffffff16565b6001600160a01b0384166000908152600b602052604090205490612438565b604080516002808252606080830184529260009291906020830190803683375050600954604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d79190612987565b816000815181106123ea576123ea612b98565b6001600160a01b03928316602091820292909201015260075482519116908290600190811061241b5761241b612b98565b6001600160a01b0390921660209283029190910190910152919050565b60008082121580156124535750826124508382612bae565b13155b80612471575060008212801561247157508261246f8382612bae565b135b61247a57600080fd5b610f0c8284612bae565b6001600160a01b0382166124e45760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161093c565b6001600160a01b038216600090815260208190526040902054818110156125585760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161093c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b03821661260c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161093c565b806002600082825461261e91906128d9565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156126a257858101830151858201604001528201612686565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610eaf57600080fd5b600080604083850312156126eb57600080fd5b82356126f6816126c3565b946020939093013593505050565b60006020828403121561271657600080fd5b8135610f0c816126c3565b60008060006060848603121561273657600080fd5b8335612741816126c3565b92506020840135612751816126c3565b929592945050506040919091013590565b60006020828403121561277457600080fd5b5035919050565b6000806040838503121561278e57600080fd5b50508035926020909101359150565b6000806000606084860312156127b257600080fd5b83356127bd816126c3565b95602085013595506040909401359392505050565b600080604083850312156127e557600080fd5b82356127f0816126c3565b91506020830135612800816126c3565b809150509250929050565b8015158114610eaf57600080fd5b6000806000806080858703121561282f57600080fd5b843561283a8161280b565b9350602085013561284a8161280b565b9250604085013561285a8161280b565b9150606085013561286a8161280b565b939692955090935050565b60008060006060848603121561288a57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b6000826128d457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b9557610b956128a1565b600181811c9082168061290057607f821691505b60208210810361222e57634e487b7160e01b600052602260045260246000fd5b80516001600160701b0381168114611ec257600080fd5b60008060006060848603121561294c57600080fd5b61295584612920565b925061296360208501612920565b9150604084015163ffffffff8116811461297c57600080fd5b809150509250925092565b60006020828403121561299957600080fd5b8151610f0c816126c3565b6000602082840312156129b657600080fd5b8151610f0c8161280b565b8082028115828204841417610b9557610b956128a1565b81810381811115610b9557610b956128a1565b6000602082840312156129fd57600080fd5b5051919050565b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015612a4e5784516001600160a01b031683529383019391830191600101612a29565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215612a9757600080fd5b825167ffffffffffffffff80821115612aaf57600080fd5b818501915085601f830112612ac357600080fd5b815181811115612ad557612ad5612a6e565b8060051b604051601f19603f83011681018181108582111715612afa57612afa612a6e565b604052918252848201925083810185019188831115612b1857600080fd5b938501935b82851015612b3657845184529385019392850192612b1d565b98975050505050505050565b600080600060608486031215612b5757600080fd5b8351925060208401519150604084015190509250925092565b8082018281126000831280158216821582161715612b9057612b906128a1565b505092915050565b634e487b7160e01b600052603260045260246000fd5b8181036000831280158383131683831282161715612bce57612bce6128a1565b509291505056fea2646970667358221220fd83cbcbdad9cd178071904a340f82ae9ab60971c1b8ed85d7d81efa0600781164736f6c63430008130033
0x6080604052600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562093a806010553480156200003e57600080fd5b506040518060400160405280601281526020017105374616b656420536372616d626c65204c560741b8152506040518060400160405280600581526020016407374534c560dc1b8152508160039081620000999190620001cb565b506004620000a88282620001cb565b505050620000c5620000bf620000d060201b60201c565b620000d4565b600160065562000297565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200015157607f821691505b6020821081036200017257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001c657600081815260208120601f850160051c81016020861015620001a15750805b601f850160051c820191505b81811015620001c257828155600101620001ad565b5050505b505050565b81516001600160401b03811115620001e757620001e762000126565b620001ff81620001f884546200013c565b8462000178565b602080601f8311600181146200023757600084156200021e5750858301515b600019600386901b1c1916600185901b178555620001c2565b600085815260208120601f198616915b82811015620002685788860151825594840194600190910190840162000247565b5085821015620002875787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612c0b80620002a76000396000f3fe6080604052600436106102975760003560e01c80638da5cb5b1161015a578063c30ea2a2116100c1578063f0d396ed1161007a578063f0d396ed14610823578063f2fde38b14610843578063f3c85eba14610863578063f58d80c914610883578063f887ea40146108a3578063f9e87952146108c357600080fd5b8063c30ea2a214610740578063cb8fe02c14610761578063dbfc59ab14610781578063dd62ed3e146107b6578063e18bf122146107d6578063ea27c93c146107f657600080fd5b8063a9059cbb11610113578063a9059cbb1461067f578063ae04d45d1461069f578063b3f00674146106bf578063b6b55f25146106df578063bc4297e7146106ff578063be8529fc1461072057600080fd5b80638da5cb5b146105ab5780638e64fcd7146105dd5780639511d72f1461060a57806395d89b411461062a5780639c4e31481461063f578063a457c2d71461065f57600080fd5b80633c73ad87116101fe5780636d3036a7116101b75780636d3036a7146104e75780636eabfced146104ff57806370a082311461051f578063715018a61461055557806376154ddf1461056a578063872f0b971461058a57600080fd5b80633c73ad8714610446578063429093cc14610473578063494bf608146104935780634e71d92d1461049b578063574eab01146104b057806366e582aa146104d157600080fd5b806323b872dd1161025057806323b872dd146103945780632e1a7d4d146103b45780632e3702d5146103d4578063313ce567146103ea578063368519f314610406578063395093511461042657600080fd5b806306fdde03146102ab5780630902f1ac146102d6578063095ea7b31461030b5780630d6680871461033b57806315ba0e451461035f57806318160ddd1461037f57600080fd5b366102a6576102a46108f0565b005b600080fd5b3480156102b757600080fd5b506102c06109cd565b6040516102cd9190612675565b60405180910390f35b3480156102e257600080fd5b506102eb610a5f565b604080516001600160701b039384168152929091166020830152016102cd565b34801561031757600080fd5b5061032b6103263660046126d8565b610b81565b60405190151581526020016102cd565b34801561034757600080fd5b5061035160105481565b6040519081526020016102cd565b34801561036b57600080fd5b506102a461037a366004612704565b610b9b565b34801561038b57600080fd5b50600254610351565b3480156103a057600080fd5b5061032b6103af366004612721565b610bc5565b3480156103c057600080fd5b506102a46103cf366004612762565b610be9565b3480156103e057600080fd5b50610351600f5481565b3480156103f657600080fd5b50604051601281526020016102cd565b34801561041257600080fd5b5061035161042136600461277b565b610eb2565b34801561043257600080fd5b5061032b6104413660046126d8565b610f13565b34801561045257600080fd5b50610351610461366004612704565b600c6020526000908152604090205481565b34801561047f57600080fd5b506102a461048e366004612762565b610f35565b6102a46108f0565b3480156104a757600080fd5b506102a4610f7b565b3480156104bc57600080fd5b5060115461032b90600160a81b900460ff1681565b3480156104dd57600080fd5b50610351600a5481565b3480156104f357600080fd5b50610351600160801b81565b34801561050b57600080fd5b506102a461051a366004612704565b61114e565b34801561052b57600080fd5b5061035161053a366004612704565b6001600160a01b031660009081526020819052604090205490565b34801561056157600080fd5b506102a46111e2565b34801561057657600080fd5b50610351610585366004612704565b6111f4565b34801561059657600080fd5b5060115461032b90600160b01b900460ff1681565b3480156105b757600080fd5b506005546001600160a01b03165b6040516001600160a01b0390911681526020016102cd565b3480156105e957600080fd5b506103516105f8366004612704565b600d6020526000908152604090205481565b34801561061657600080fd5b506102a4610625366004612762565b611250565b34801561063657600080fd5b506102c06112ae565b34801561064b57600080fd5b506102a461065a366004612704565b6112bd565b34801561066b57600080fd5b5061032b61067a3660046126d8565b6112e7565b34801561068b57600080fd5b5061032b61069a3660046126d8565b611362565b3480156106ab57600080fd5b506102a46106ba366004612762565b611370565b3480156106cb57600080fd5b506011546105c5906001600160a01b031681565b3480156106eb57600080fd5b506102a46106fa366004612762565b61137d565b34801561070b57600080fd5b5060115461032b90600160b81b900460ff1681565b34801561072c57600080fd5b5061035161073b366004612704565b611662565b34801561074c57600080fd5b5060115461032b90600160a01b900460ff1681565b34801561076d57600080fd5b506007546105c5906001600160a01b031681565b34801561078d57600080fd5b506107a161079c36600461279d565b611688565b604080519283526020830191909152016102cd565b3480156107c257600080fd5b506103516107d13660046127d2565b61181a565b3480156107e257600080fd5b506008546105c5906001600160a01b031681565b34801561080257600080fd5b50610351610811366004612704565b600b6020526000908152604090205481565b34801561082f57600080fd5b506102a461083e366004612819565b611845565b34801561084f57600080fd5b506102a461085e366004612704565b6118ad565b34801561086f57600080fd5b506102a461087e366004612875565b611923565b34801561088f57600080fd5b5061035161089e366004612704565b611e7a565b3480156108af57600080fd5b506009546105c5906001600160a01b031681565b3480156108cf57600080fd5b506103516108de366004612704565b600e6020526000908152604090205481565b60006108fb60025490565b116109455760405162461bcd60e51b81526020600482015260156024820152744e6f776865726520746f206469737472696275746560581b60448201526064015b60405180910390fd5b34156109cb5761097861095760025490565b61096534600160801b611ec7565b61096f91906128b7565b600a5490611ed3565b600a8190555034600f600082825461099091906128d9565b909155505060405134815233907f2aaa7923c74576791f293c17c5b1617a0c94ad8beb3c351bef807fd8784268439060200160405180910390a25b565b6060600380546109dc906128ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610a08906128ec565b8015610a555780601f10610a2a57610100808354040283529160200191610a55565b820191906000526020600020905b815481529060010190602001808311610a3857829003601f168201915b5050505050905090565b600080600080600860009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc9190612937565b5091509150600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b589190612987565b6007546001600160a01b03918216911610610b74578082610b77565b81815b9350935050509091565b600033610b8f818585611edf565b60019150505b92915050565b610ba3612003565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b600033610bd385828561205d565b610bde8585856120d7565b506001949350505050565b610bf1612116565b601154600160a81b900460ff16610c415760405162461bcd60e51b815260206004820152601460248201527315da5d1a191c985dc81b9bdd08185b1b1bddd95960621b604482015260640161093c565b60008111610c885760405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b604482015260640161093c565b33600090815260208190526040902054811115610ce25760405162461bcd60e51b8152602060048201526018602482015277416d6f756e74206f76657220757365722062616c616e636560401b604482015260640161093c565b60105415610d3857336000908152600e6020526040902054421015610d385760405162461bcd60e51b815260206004820152600c60248201526b14dd1a5b1b081b1bd8dad95960a21b604482015260640161093c565b6000610d4333611662565b336000908152600c6020526040902054909150610d609082611ed3565b336000908152600c6020526040902055601054610d7d90426128d9565b336000818152600e60205260409081902092909255600854915163a9059cbb60e01b81526004810191909152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0891906129a4565b50610e13338361216f565b604080518381526020810183905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2604051600090309083908381818185875af1925050503d8060008114610e90576040519150601f19603f3d011682016040523d82523d6000602084013e610e95565b606091505b5050905080610ea357600080fd5b5050610eaf6001600655565b50565b60006107ca610f02610ec6856107cd611ec7565b610efc610ef7610ed987623cda20611ec7565b610ee689623cda29611ec7565b610ef091906128d9565b8890611ec7565b6121d3565b90612242565b610f0c91906128b7565b9392505050565b600033610b8f818585610f26838361181a565b610f3091906128d9565b611edf565b610f3d612003565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f77573d6000803e3d6000fd5b5050565b610f83612116565b601154600160b01b900460ff16610fd05760405162461bcd60e51b815260206004820152601160248201527010db185a5b481b9bdd08185b1b1bddd959607a1b604482015260640161093c565b6000610fdb33611662565b9050600081116110205760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015260640161093c565b6000606461102f8360506129c1565b61103991906128b7565b9050600061104782846129d8565b336000908152600c60205260409020549091506110649084611ed3565b336000908152600c602052604090205560105461108190426128d9565b336000818152600e602090815260408083209490945581905291909120547f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79060408051918252602082018790520160405180910390a2604051339083156108fc029084906000818181858888f19350505050158015611105573d6000803e3d6000fd5b506011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611140573d6000803e3d6000fd5b505050506109cb6001600655565b611156612003565b600780546001600160a01b0319166001600160a01b0383811691821790925560095460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044015b6020604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7791906129a4565b6111ea612003565b6109cb600061224e565b6001600160a01b0381166000908152600b602090815260408083205491839052822054600a54600160801b92611246926112419261123b916112369190611ec7565b6122a0565b906122b0565b6122ee565b610b9591906128b7565b611258612003565b6008546001600160a01b031663a9059cbb61127b6005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810184905260440161119f565b6060600480546109dc906128ec565b6112c5612003565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600033816112f5828661181a565b9050838110156113555760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161093c565b610bde8286868403611edf565b600033610b8f8185856120d7565b611378612003565b601055565b601154600160a01b900460ff166113cc5760405162461bcd60e51b815260206004820152601360248201527211195c1bdcda5d081b9bdd08185b1b1bddd959606a1b604482015260640161093c565b600081116114135760405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b604482015260640161093c565b6008546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f91906129eb565b8111156114c95760405162461bcd60e51b8152602060048201526018602482015277416d6f756e74206f76657220757365722062616c616e636560401b604482015260640161093c565b600854604051636eb1769f60e11b81523360048201523060248201526001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015611517573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153b91906129eb565b8111156115815760405162461bcd60e51b81526020600482015260146024820152734e6f7420656e6f75676820616c6c6f77616e636560601b604482015260640161093c565b60105461158e90426128d9565b336000818152600e6020526040908190209290925560085491516323b872dd60e01b81526004810191909152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156115fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161f91906129a4565b5061162a3382612301565b60405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a250565b6001600160a01b0381166000908152600c6020526040812054610b9590610efc846111f4565b600080600061169686611662565b9050806000036116ad576000809250925050611812565b600060646116bc8360506129c1565b6116c691906128b7565b90506000806116d3610a5f565b9150915060006116ec826001600160701b031685610eb2565b905060006116fa82866129d8565b600954604051630153543560e21b8152600481018590526001600160701b038087166024830152871660448201529192506000916001600160a01b039091169063054d50d490606401602060405180830381865afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178491906129eb565b90506000655af3107a40006117998d846129c1565b6117a8906402540be4006129c1565b6117b291906128b7565b905060006117c082846129d8565b90506000655af3107a40006117d58e876129c1565b6117e4906402540be4006129c1565b6117ee91906128b7565b905060006117fc82876129d8565b929c50919a506118129950505050505050505050565b935093915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61184d612003565b6011805461ffff60a01b1916600160a01b9515159590950260ff60a81b191694909417600160a81b931515939093029290921761ffff60b01b1916600160b01b9115159190910260ff60b81b191617600160b81b91151591909102179055565b6118b5612003565b6001600160a01b03811661191a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161093c565b610eaf8161224e565b61192b612116565b601154600160b81b900460ff1661197b5760405162461bcd60e51b815260206004820152601460248201527310dbdb5c1bdd5b99081b9bdd08185b1b1bddd95960621b604482015260640161093c565b6007546001600160a01b03166119d35760405162461bcd60e51b815260206004820152601860248201527f536372616d626c652061646472657373206e6f74207365740000000000000000604482015260640161093c565b82600003611a235760405162461bcd60e51b815260206004820152601a60248201527f616d6f756e744f75744d696e2063616e2774206265207a65726f000000000000604482015260640161093c565b81600003611a735760405162461bcd60e51b815260206004820152601c60248201527f616d6f756e74546f6b656e4d696e2063616e2774206265207a65726f00000000604482015260640161093c565b80600003611ac35760405162461bcd60e51b815260206004820152601a60248201527f616d6f756e744554484d696e2063616e2774206265207a65726f000000000000604482015260640161093c565b6000611ace33611662565b905060008111611b165760405162461bcd60e51b8152602060048201526013602482015272139bdd1a1a5b99c81d1bc818dbdb5c1bdd5b99606a1b604482015260640161093c565b60006064611b258360506129c1565b611b2f91906128b7565b90506000611b3d82846129d8565b336000908152600c6020526040902054909150611b5a9084611ed3565b336000908152600c6020526040902055601054611b7790426128d9565b336000908152600e60205260408082209290925560115491516001600160a01b03909216916108fc84150291849190818181858888f19350505050158015611bc3573d6000803e3d6000fd5b506000611bce610a5f565b9150506000611be6826001600160701b031685610eb2565b90506000611bf482866129d8565b6007546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6691906129eb565b6009549091506001600160a01b0316637ff36ab5848c611c84612345565b30426040518663ffffffff1660e01b8152600401611ca59493929190612a04565b60006040518083038185885af1158015611cc3573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052611cec9190810190612a84565b506007546040516370a0823160e01b815230600482015260009183916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5e91906129eb565b611d6891906129d8565b60095460075460405163f305d71960e01b81526001600160a01b03918216600482015260248101849052604481018e9052606481018d90523360848201524260a482015292935060009291169063f305d71990869060c40160606040518083038185885af1158015611dde573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e039190612b42565b3360008181526020819052604090205491945092507f1c349721eed47ef3e6aede3963c2597161fbd9d7be47bd891a7ecf27780b804c915060408051918252602082018d9052810184905260600160405180910390a2611e628161137d565b505050505050505050611e756001600655565b505050565b600080611e8660025490565b1115611eba576002546001600160a01b03831660009081526020819052604090205461124690670de0b6b3a76400006129c1565b506000919050565b919050565b6000610f0c82846129c1565b6000610f0c82846128d9565b6001600160a01b038316611f415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161093c565b6001600160a01b038216611fa25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161093c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146109cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161093c565b6000612069848461181a565b905060001981146120d157818110156120c45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161093c565b6120d18484848403611edf565b50505050565b60405162461bcd60e51b8152602060048201526014602482015273151c985b9cd9995c881b9bdd08185b1b1bddd95960621b604482015260640161093c565b6002600654036121685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161093c565b6002600655565b6121798282612484565b6121b361219461123683600a54611ec790919063ffffffff16565b6001600160a01b0384166000908152600b6020526040902054906122b0565b6001600160a01b039092166000908152600b602052604090209190915550565b6000600382111561223457508060006121ed6002836128b7565b6121f89060016128d9565b90505b8181101561222e5790508060028161221381866128b7565b61221d91906128d9565b61222791906128b7565b90506121fb565b50919050565b8115611ec257506001919050565b6000610f0c82846129d8565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008181811215610b9557600080fd5b6000806122bd8385612b70565b9050600083121580156122d05750838112155b806122e557506000831280156122e557508381125b610f0c57600080fd5b6000808212156122fd57600080fd5b5090565b61230b82826125b6565b6121b361232661123683600a54611ec790919063ffffffff16565b6001600160a01b0384166000908152600b602052604090205490612438565b604080516002808252606080830184529260009291906020830190803683375050600954604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d79190612987565b816000815181106123ea576123ea612b98565b6001600160a01b03928316602091820292909201015260075482519116908290600190811061241b5761241b612b98565b6001600160a01b0390921660209283029190910190910152919050565b60008082121580156124535750826124508382612bae565b13155b80612471575060008212801561247157508261246f8382612bae565b135b61247a57600080fd5b610f0c8284612bae565b6001600160a01b0382166124e45760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161093c565b6001600160a01b038216600090815260208190526040902054818110156125585760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161093c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b03821661260c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161093c565b806002600082825461261e91906128d9565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156126a257858101830151858201604001528201612686565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610eaf57600080fd5b600080604083850312156126eb57600080fd5b82356126f6816126c3565b946020939093013593505050565b60006020828403121561271657600080fd5b8135610f0c816126c3565b60008060006060848603121561273657600080fd5b8335612741816126c3565b92506020840135612751816126c3565b929592945050506040919091013590565b60006020828403121561277457600080fd5b5035919050565b6000806040838503121561278e57600080fd5b50508035926020909101359150565b6000806000606084860312156127b257600080fd5b83356127bd816126c3565b95602085013595506040909401359392505050565b600080604083850312156127e557600080fd5b82356127f0816126c3565b91506020830135612800816126c3565b809150509250929050565b8015158114610eaf57600080fd5b6000806000806080858703121561282f57600080fd5b843561283a8161280b565b9350602085013561284a8161280b565b9250604085013561285a8161280b565b9150606085013561286a8161280b565b939692955090935050565b60008060006060848603121561288a57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b6000826128d457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b9557610b956128a1565b600181811c9082168061290057607f821691505b60208210810361222e57634e487b7160e01b600052602260045260246000fd5b80516001600160701b0381168114611ec257600080fd5b60008060006060848603121561294c57600080fd5b61295584612920565b925061296360208501612920565b9150604084015163ffffffff8116811461297c57600080fd5b809150509250925092565b60006020828403121561299957600080fd5b8151610f0c816126c3565b6000602082840312156129b657600080fd5b8151610f0c8161280b565b8082028115828204841417610b9557610b956128a1565b81810381811115610b9557610b956128a1565b6000602082840312156129fd57600080fd5b5051919050565b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015612a4e5784516001600160a01b031683529383019391830191600101612a29565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215612a9757600080fd5b825167ffffffffffffffff80821115612aaf57600080fd5b818501915085601f830112612ac357600080fd5b815181811115612ad557612ad5612a6e565b8060051b604051601f19603f83011681018181108582111715612afa57612afa612a6e565b604052918252848201925083810185019188831115612b1857600080fd5b938501935b82851015612b3657845184529385019392850192612b1d565b98975050505050505050565b600080600060608486031215612b5757600080fd5b8351925060208401519150604084015190509250925092565b8082018281126000831280158216821582161715612b9057612b906128a1565b505092915050565b634e487b7160e01b600052603260045260246000fd5b8181036000831280158383131683831282161715612bce57612bce6128a1565b509291505056fea2646970667358221220fd83cbcbdad9cd178071904a340f82ae9ab60971c1b8ed85d7d81efa0600781164736f6c63430008130033