0x6080604052600436106102cd5760003560e01c80635bcbe877116101755780639f9bb74e116100dc578063dd62ed3e11610095578063ea2f0b371161006f578063ea2f0b3714610981578063f0f165af146109a1578063f2fde38b146109c1578063fcb7e085146109e157600080fd5b8063dd62ed3e14610905578063e07b162f1461094b578063e80c081e1461096157600080fd5b80639f9bb74e14610840578063a457c2d714610856578063a9059cbb14610876578063c49b9a8014610896578063d12a7688146108b6578063d94160e0146108cc57600080fd5b806388f820201161012e57806388f820201461077e5780638da5cb5b146107b75780638dc64439146107d55780638f3fa860146107f557806391d919a91461080b57806395d89b411461082b57600080fd5b80635bcbe877146106bc5780636f4ce428146106dc57806370a0823114610709578063715018a61461072957806374fbf2da1461073e57806375f0a8741461075e57600080fd5b80632d83811911610234578063437823ec116101ed57806349bd5a5e116101c757806349bd5a5e1461060e5780634a74bb021461064257806352390c02146106635780635342acb41461068357600080fd5b8063437823ec146105955780634549b039146105b557806347062402146105d557600080fd5b80632d838119146104d3578063313ce567146104f357806331b26fe7146105155780633685d4191461053557806339509351146105555780633bd5d1731461057557600080fd5b806318160ddd1161028657806318160ddd146103e15780631b2773c2146103f657806323b872dd1461040c578063264d26dd1461042c5780632b14ca561461044c5780632c66562b146104b357600080fd5b8063066ab4de146102d957806306fdde03146102fb578063095ea7b3146103265780630bd3a7f91461035657806313114a9d146103765780631694505e1461039557600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102f96102f4366004612d0f565b610a01565b005b34801561030757600080fd5b50610310610a44565b60405161031d9190612d50565b60405180910390f35b34801561033257600080fd5b50610346610341366004612da5565b610ad6565b604051901515815260200161031d565b34801561036257600080fd5b506102f9610371366004612dd1565b610aed565b34801561038257600080fd5b50600c545b60405190815260200161031d565b3480156103a157600080fd5b506103c97f0000000000000000000000009d2e30c2fb648bee307edbafdb461b09df79516c81565b6040516001600160a01b03909116815260200161031d565b3480156103ed57600080fd5b50600a54610387565b34801561040257600080fd5b5061038760195481565b34801561041857600080fd5b50610346610427366004612d0f565b610b3b565b34801561043857600080fd5b50600d546103c9906001600160a01b031681565b34801561045857600080fd5b506013546104859061ffff80821691620100008104821691600160201b8204811691600160301b90041684565b6040805161ffff9586168152938516602085015291841691830191909152909116606082015260800161031d565b3480156104bf57600080fd5b506102f96104ce366004612dee565b610ba4565b3480156104df57600080fd5b506103876104ee366004612dee565b610bd3565b3480156104ff57600080fd5b5060115460405160ff909116815260200161031d565b34801561052157600080fd5b506102f9610530366004612dee565b610c57565b34801561054157600080fd5b506102f9610550366004612dd1565b610ca8565b34801561056157600080fd5b50610346610570366004612da5565b610e5e565b34801561058157600080fd5b506102f9610590366004612dee565b610e94565b3480156105a157600080fd5b506102f96105b0366004612dd1565b610fa2565b3480156105c157600080fd5b506103876105d0366004612e1c565b610ff0565b3480156105e157600080fd5b506012546104859061ffff80821691620100008104821691600160201b8204811691600160301b90041684565b34801561061a57600080fd5b506103c97f00000000000000000000000054a8c149f9a991adaa10a090e8f4d52f2375417a81565b34801561064e57600080fd5b5060145461034690600160481b900460ff1681565b34801561066f57600080fd5b506102f961067e366004612dd1565b611093565b34801561068f57600080fd5b5061034661069e366004612dd1565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106c857600080fd5b506102f96106d7366004612e5a565b6111e6565b3480156106e857600080fd5b506103876106f7366004612dd1565b601a6020526000908152604090205481565b34801561071557600080fd5b50610387610724366004612dd1565b61126a565b34801561073557600080fd5b506102f96112c9565b34801561074a57600080fd5b506102f9610759366004612dee565b61133d565b34801561076a57600080fd5b50600e546103c9906001600160a01b031681565b34801561078a57600080fd5b50610346610799366004612dd1565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107c357600080fd5b506000546001600160a01b03166103c9565b3480156107e157600080fd5b506102f96107f0366004612e5a565b611388565b34801561080157600080fd5b5061038760175481565b34801561081757600080fd5b506102f9610826366004612dd1565b61140c565b34801561083757600080fd5b50610310611457565b34801561084c57600080fd5b5061038760165481565b34801561086257600080fd5b50610346610871366004612da5565b611466565b34801561088257600080fd5b50610346610891366004612da5565b6114b5565b3480156108a257600080fd5b506102f96108b1366004612eae565b6114c2565b3480156108c257600080fd5b5061038760185481565b3480156108d857600080fd5b506103466108e7366004612dd1565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561091157600080fd5b50610387610920366004612ec9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561095757600080fd5b5061038760155481565b34801561096d57600080fd5b506102f961097c366004612da5565b611510565b34801561098d57600080fd5b506102f961099c366004612dd1565b611570565b3480156109ad57600080fd5b506102f96109bc366004612dee565b6115bb565b3480156109cd57600080fd5b506102f96109dc366004612dd1565b6115ea565b3480156109ed57600080fd5b506102f96109fc366004612dee565b6116d4565b6000546001600160a01b03163314610a345760405162461bcd60e51b8152600401610a2b90612f02565b60405180910390fd5b610a3f8383836117e3565b505050565b6060600f8054610a5390612f37565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7f90612f37565b8015610acc5780601f10610aa157610100808354040283529160200191610acc565b820191906000526020600020905b815481529060010190602001808311610aaf57829003601f168201915b5050505050905090565b6000610ae3338484611905565b5060015b92915050565b6000546001600160a01b03163314610b175760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000610b48848484611a2a565b610b9a8433610b9585604051806060016040528060288152602001613190602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611e47565b611905565b5060019392505050565b6000546001600160a01b03163314610bce5760405162461bcd60e51b8152600401610a2b90612f02565b601955565b6000600b54821115610c3a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610a2b565b6000610c44611e81565b9050610c5083826117a1565b9392505050565b6000546001600160a01b03163314610c815760405162461bcd60e51b8152600401610a2b90612f02565b610ca26103e8610c9c83600a5461171f90919063ffffffff16565b906117a1565b60155550565b6000546001600160a01b03163314610cd25760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b03811660009081526007602052604090205460ff16610d3a5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610a2b565b60005b600854811015610e5a57816001600160a01b031660088281548110610d6457610d64612f71565b6000918252602090912001546001600160a01b031603610e485760088054610d8e90600190612f9d565b81548110610d9e57610d9e612f71565b600091825260209091200154600880546001600160a01b039092169183908110610dca57610dca612f71565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff191690556008805480610e2257610e22612fb4565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610e5281612fca565b915050610d3d565b5050565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610ae3918590610b959086611ea4565b3360008181526007602052604090205460ff1615610f095760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610a2b565b600080600080610f1886611f03565b9450945094509450506000610f388786868686610f33611e81565b611f7f565b50506001600160a01b038716600090815260036020526040902054909150610f609082611ff3565b6001600160a01b038716600090815260036020526040902055600b54610f869082611ff3565b600b55600c54610f969088611ea4565b600c5550505050505050565b6000546001600160a01b03163314610fcc5760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6000600a548311156110445760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610a2b565b60008060008061105387611f03565b94509450945094505060008061106f8987878787610f33611e81565b50915091508761108657509450610ae79350505050565b9550610ae7945050505050565b6000546001600160a01b031633146110bd5760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b03811660009081526007602052604090205460ff16156111265760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610a2b565b6001600160a01b03811660009081526003602052604090205415611180576001600160a01b03811660009081526003602052604090205461116690610bd3565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b031633146112105760405162461bcd60e51b8152600401610a2b90612f02565b6013805461ffff928316600160301b0261ffff60301b1995841662010000029590951667ffff0000ffff000019948416600160201b0265ffff0000ffff199092169390961692909217919091179190911692909217179055565b6001600160a01b03811660009081526007602052604081205460ff16156112a757506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610ae790610bd3565b6000546001600160a01b031633146112f35760405162461bcd60e51b8152600401610a2b90612f02565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146113675760405162461bcd60e51b8152600401610a2b90612f02565b6113826103e8610c9c83600a5461171f90919063ffffffff16565b60165550565b6000546001600160a01b031633146113b25760405162461bcd60e51b8152600401610a2b90612f02565b6012805461ffff928316600160301b0261ffff60301b1995841662010000029590951667ffff0000ffff000019948416600160201b0265ffff0000ffff199092169390961692909217919091179190911692909217179055565b6000546001600160a01b031633146114365760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b03166000908152600960205260409020805460ff19169055565b606060108054610a5390612f37565b6000610ae33384610b95856040518060600160405280602581526020016131b8602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190611e47565b6000610ae3338484611a2a565b6000546001600160a01b031633146114ec5760405162461bcd60e51b8152600401610a2b90612f02565b60148054911515600160481b0269ff00000000000000000019909216919091179055565b6000546001600160a01b0316331461153a5760405162461bcd60e51b8152600401610a2b90612f02565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610a3f573d6000803e3d6000fd5b6000546001600160a01b0316331461159a5760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146115e55760405162461bcd60e51b8152600401610a2b90612f02565b601855565b6000546001600160a01b031633146116145760405162461bcd60e51b8152600401610a2b90612f02565b6001600160a01b0381166116795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a2b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116fe5760405162461bcd60e51b8152600401610a2b90612f02565b6117196103e8610c9c83600a5461171f90919063ffffffff16565b60175550565b60008260000361173157506000610ae7565b600061173d8385612fe3565b90508261174a8583613002565b14610c505760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a2b565b6000610c5083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612035565b60008060008060006117f486611f03565b9450945094509450945060008060006118138988888888610f33611e81565b6001600160a01b038e16600090815260036020526040902054929550909350915061183e9084611ff3565b6001600160a01b03808d1660009081526003602052604080822093909355908c168152205461186d9083611ea4565b6001600160a01b038b1660009081526003602052604090205561188f86612063565b61189885612063565b6118a1846120eb565b6118ab81886121b4565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040516118f091815260200190565b60405180910390a35050505050505050505050565b6001600160a01b0383166119675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a2b565b6001600160a01b0382166119c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a2b565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611a8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a2b565b6001600160a01b038216611af05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a2b565b60008111611b525760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a2b565b6000611b5d3061126a565b90506015548110611b6d57506015545b60185481108015908190611b8b5750601454600160401b900460ff16155b8015611bc957507f00000000000000000000000054a8c149f9a991adaa10a090e8f4d52f2375417a6001600160a01b0316856001600160a01b031614155b8015611bee57506001600160a01b03851660009081526006602052604090205460ff16155b8015611c035750601454600160481b900460ff165b15611c16576018549150611c16826121d8565b6001600160a01b03851660009081526006602052604090205460019060ff1680611c5857506001600160a01b03851660009081526006602052604090205460ff165b15611c61575060005b8015611e33577f00000000000000000000000054a8c149f9a991adaa10a090e8f4d52f2375417a6001600160a01b0316856001600160a01b031614611d3c57601554841115611cc25760405162461bcd60e51b8152600401610a2b90613024565b60175484611ccf8761126a565b611cd9919061306b565b1115611d3c5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b6064820152608401610a2b565b7f00000000000000000000000054a8c149f9a991adaa10a090e8f4d52f2375417a6001600160a01b0316866001600160a01b031614611e3357601654841115611d975760405162461bcd60e51b8152600401610a2b90613024565b6019546001600160a01b0387166000908152601a60205260409020544291611dbe9161306b565b10611e175760405162461bcd60e51b815260206004820152602360248201527f4d75737420776169742074696c6c2073656c6c436f6f6c646f776e206973206f6044820152623b32b960e91b6064820152608401610a2b565b6001600160a01b0386166000908152601a602052604090204290555b611e3f868686846123cb565b505050505050565b60008184841115611e6b5760405162461bcd60e51b8152600401610a2b9190612d50565b506000611e788486612f9d565b95945050505050565b6000806000611e8e61267f565b9092509050611e9d82826117a1565b9250505090565b600080611eb1838561306b565b905083811015610c505760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a2b565b600080600080600080611f1587612801565b90506000611f228861281d565b90506000611f2f8961283f565b90506000611f3c8a612862565b90506000611f5484611f4e8d88611ff3565b90611ff3565b9050611f608184611ff3565b9050611f6c8183611ff3565b9b949a5092985090965094509092505050565b6000808080611f8e8a8661171f565b90506000611f9c8a8761171f565b90506000611faa8a8861171f565b90506000611fb88a8961171f565b90506000611fc68a8a61171f565b90506000611fdc82611f4e858188818c8c611ff3565b959f959e50939c50939a5050505050505050505050565b6000610c5083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e47565b600081836120565760405162461bcd60e51b8152600401610a2b9190612d50565b506000611e788486613002565b600061206d611e81565b9050600061207b838361171f565b306000908152600360205260409020549091506120989082611ea4565b3060009081526003602090815260408083209390935560079052205460ff1615610a3f57306000908152600460205260409020546120d69084611ea4565b30600090815260046020526040902055505050565b60006120f5611e81565b90506000612103838361171f565b306000908152600360205260409020549091506121209082611ea4565b3060009081526003602090815260408083209390935560079052205460ff161561216f573060009081526004602052604090205461215e9084611ea4565b306000908152600460205260409020555b600a5461217c9084611ff3565b600a5560405183815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611a1d565b600b546121c19083611ff3565b600b55600c546121d19082611ea4565b600c555050565b6014805460ff60401b1916600160401b17905560135460125460009161ffff600160201b8083048216939081048216926122219262010000918290048116929190910416613083565b61222b9190613083565b6122359190613083565b6122409060026130a9565b60135460125461ffff9283169350600092849261226b92620100009182900483169291900416613083565b6122799061ffff1685612fe3565b6122839190613002565b905060006122918285612f9d565b90504761229d82612885565b60006122a98247612f9d565b6013546012549192506000916122d19161ffff62010000918290048116929190910416613083565b6122df9061ffff1687612f9d565b6122e99083613002565b6013546012549192506000916123119161ffff62010000918290048116929190910416613083565b61231f9061ffff1683612fe3565b90508015612331576123318682612a3d565b6013546012546000916123569161ffff600160201b9283900481169290910416613083565b61ffff16612365846002612fe3565b61236f9190612fe3565b905080156123b357600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156123b1573d6000803e3d6000fd5b505b50506014805460ff60401b1916905550505050505050565b801561250f576123e76014805467ffffffffffffffff19169055565b7f00000000000000000000000054a8c149f9a991adaa10a090e8f4d52f2375417a6001600160a01b0316846001600160a01b03160361247b576012546014805461ffff80841663ffffffff1990921691909117620100008085048316021767ffffffff000000001916600160201b80850483160261ffff60301b191617600160301b93849004919091169092029190911790555b7f00000000000000000000000054a8c149f9a991adaa10a090e8f4d52f2375417a6001600160a01b0316836001600160a01b03160361250f576013546014805461ffff80841663ffffffff1990921691909117620100008085048316021767ffffffff000000001916600160201b80850483160261ffff60301b191617600160301b93849004919091169092029190911790555b6001600160a01b03841660009081526007602052604090205460ff16801561255057506001600160a01b03831660009081526007602052604090205460ff16155b1561256557612560848484612b23565b612663565b6001600160a01b03841660009081526007602052604090205460ff161580156125a657506001600160a01b03831660009081526007602052604090205460ff165b156125b657612560848484612bad565b6001600160a01b03841660009081526007602052604090205460ff161580156125f857506001600160a01b03831660009081526007602052604090205460ff16155b15612608576125608484846117e3565b6001600160a01b03841660009081526007602052604090205460ff16801561264857506001600160a01b03831660009081526007602052604090205460ff165b1561265857612560848484612c6d565b6126638484846117e3565b6126796014805467ffffffffffffffff19169055565b50505050565b600b54600a546000918291825b6008548110156127d1578260036000600884815481106126ae576126ae612f71565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061271957508160046000600884815481106126f2576126f2612f71565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561272f57600b54600a54945094505050509091565b612775600360006008848154811061274957612749612f71565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611ff3565b92506127bd600460006008848154811061279157612791612f71565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611ff3565b9150806127c981612fca565b91505061268c565b50600a54600b546127e1916117a1565b8210156127f857600b54600a549350935050509091565b90939092509050565b601454600090610ae790606490610c9c90859061ffff1661171f565b601454600090610ae790606490610c9c90859062010000900461ffff1661171f565b601454600090610ae790606490610c9c908590600160201b900461ffff1661171f565b601454600090610ae790606490610c9c908590600160301b900461ffff1661171f565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106128ba576128ba612f71565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000009d2e30c2fb648bee307edbafdb461b09df79516c6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c91906130d3565b8160018151811061296f5761296f612f71565b60200260200101906001600160a01b031690816001600160a01b0316815250506129ba307f0000000000000000000000009d2e30c2fb648bee307edbafdb461b09df79516c84611905565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000009d2e30c2fb648bee307edbafdb461b09df79516c169063791ac94790612a0f9085906000908690309042906004016130f0565b600060405180830381600087803b158015612a2957600080fd5b505af1158015611e3f573d6000803e3d6000fd5b612a68307f0000000000000000000000009d2e30c2fb648bee307edbafdb461b09df79516c84611905565b600d5460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0391821660848201524260a48201527f0000000000000000000000009d2e30c2fb648bee307edbafdb461b09df79516c9091169063f305d71990839060c40160606040518083038185885af1158015612af7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612b1c9190613161565b5050505050565b6000806000806000612b3486611f03565b945094509450945094506000806000612b538988888888610f33611e81565b6001600160a01b038e166000908152600460205260409020549295509093509150612b7e908a611ff3565b6001600160a01b038c1660009081526004602090815260408083209390935560039052205461183e9084611ff3565b6000806000806000612bbe86611f03565b945094509450945094506000806000612bdd8988888888610f33611e81565b6001600160a01b038e166000908152600360205260409020549295509093509150612c089084611ff3565b6001600160a01b03808d16600090815260036020908152604080832094909455918d16815260049091522054612c3e9089611ea4565b6001600160a01b038b1660009081526004602090815260408083209390935560039052205461186d9083611ea4565b6000806000806000612c7e86611f03565b945094509450945094506000806000612c9d8988888888610f33611e81565b6001600160a01b038e166000908152600460205260409020549295509093509150612cc8908a611ff3565b6001600160a01b038c16600090815260046020908152604080832093909355600390522054612c089084611ff3565b6001600160a01b0381168114612d0c57600080fd5b50565b600080600060608486031215612d2457600080fd5b8335612d2f81612cf7565b92506020840135612d3f81612cf7565b929592945050506040919091013590565b600060208083528351808285015260005b81811015612d7d57858101830151858201604001528201612d61565b81811115612d8f576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215612db857600080fd5b8235612dc381612cf7565b946020939093013593505050565b600060208284031215612de357600080fd5b8135610c5081612cf7565b600060208284031215612e0057600080fd5b5035919050565b80358015158114612e1757600080fd5b919050565b60008060408385031215612e2f57600080fd5b82359150612e3f60208401612e07565b90509250929050565b803561ffff81168114612e1757600080fd5b60008060008060808587031215612e7057600080fd5b612e7985612e48565b9350612e8760208601612e48565b9250612e9560408601612e48565b9150612ea360608601612e48565b905092959194509250565b600060208284031215612ec057600080fd5b610c5082612e07565b60008060408385031215612edc57600080fd5b8235612ee781612cf7565b91506020830135612ef781612cf7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612f4b57607f821691505b602082108103612f6b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612faf57612faf612f87565b500390565b634e487b7160e01b600052603160045260246000fd5b600060018201612fdc57612fdc612f87565b5060010190565b6000816000190483118215151615612ffd57612ffd612f87565b500290565b60008261301f57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526027908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152661e105b5bdd5b9d60ca1b606082015260800190565b6000821982111561307e5761307e612f87565b500190565b600061ffff8083168185168083038211156130a0576130a0612f87565b01949350505050565b600061ffff808316818516818304811182151516156130ca576130ca612f87565b02949350505050565b6000602082840312156130e557600080fd5b8151610c5081612cf7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156131405784516001600160a01b03168352938301939183019160010161311b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561317657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220eeb9fb0b84a1e29b18e1ab87bcbc80bb43dd8265be43cbefd9699914510684a164736f6c634300080d0033