Special data
- Nonce: 1
- Is contract? Yes
-
Contract code:
0x6080604052600436106103fd5760003560e01c8063895597481161020d578063bb0b6a5311610128578063ebdaae4a116100bb578063f2fde38b1161008a578063fa84ec1e1161006f578063fa84ec1e146111b1578063fb87a635146111c6578063ff7bd03d1461123d57600080fd5b8063f2fde38b1461117e578063f81870331461119e57600080fd5b8063ebdaae4a146110ce578063ed1694e014611132578063efc21e3f14611148578063f14beb8f1461115e57600080fd5b8063dd62ed3e116100f7578063dd62ed3e1461101f578063e014812a14611065578063e403d5fe1461107b578063ea0f8d06146110ae57600080fd5b8063bb0b6a5314610f84578063ca5eb5e114610fb1578063cdcdd54814610fd1578063d074a72a14610fe757600080fd5b80639deee663116101a0578063a855078e1161016f578063a855078e14610f0e578063a8c3319414610f2e578063a9059cbb14610f44578063b8e3cdd214610f6457600080fd5b80639deee66314610e995780639f5fa02814610ec95780639fd6db1214610ede578063a0617ad014610ef857600080fd5b806395368d2e116101dc57806395368d2e14610e0157806395d89b4114610e39578063988c8e0914610e4e5780639baa4c4e14610e8457600080fd5b80638955974814610d835780638c7d6fab14610da35780638da5cb5b14610dc35780638f1c6e4b14610de157600080fd5b80633400288b116103185780635e280f11116102ab578063715018a61161027a5780637d25a05e1161025f5780637d25a05e14610d035780638135849814610d3f57806382413eac14610d5457600080fd5b8063715018a614610ccc5780637517f18314610ce157600080fd5b80635e280f1114610bd657806365b9bacb14610c0a5780636d9a835214610c2a57806370a0823114610c9657600080fd5b80634d2fb559116102e75780634d2fb55914610b625780634d48a48c14610b815780634ea3871a14610b9657806351d6982514610bb657600080fd5b80633400288b14610af75780633ccfd60b14610b175780633e5590d614610b2c5780634725820614610b4c57600080fd5b806315f88c921161039057806323b872dd1161035f57806323b872dd14610a8f57806325996dae14610aaf5780632868f84114610ac5578063313ce56714610adb57600080fd5b806315f88c9214610a1a57806317442b7014610a4557806318160ddd14610a67578063208d2ce414610a7c57600080fd5b80630b635b8c116103cc5780630b635b8c146109715780630f54cdb6146109ac57806312769c05146109cf57806313137d6514610a0757600080fd5b80630398687a146108d657806306fdde03146108f6578063072f8ffb14610921578063095ea7b31461094157600080fd5b366108d15761040a61125d565b600e5460ff16156108c557600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3a5460ff16801561049e57507f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a39543360009081527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf6020526040902054105b80156104f55750600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36547f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3854105b156108c557600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36546105326012600a6147c9565b61053d9060016147d8565b600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a385461057391906147ef565b116108c5573360009081527fbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc7602052604090205460ff16156108c5576000609246036105f757600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a37546105f09033906112a0565b9050610628565b50600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a37543410155b80156108c35761063a6012600a6147c9565b6106459060016147d8565b6001600090815260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3880549091906106829084906147ef565b90915550503360009081527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf602052604081208054600192906106c69084906147ef565b9091555050336000908152600c602052604090205460ff1661072c57336000908152600c60205260409020805460ff1916600117905561070461146f565b336000908152600d60205260409020805463ffffffff191663ffffffff929092169190911790555b61074c3361073c6012600a6147c9565b6107479060016147d8565b6114c9565b609246141580156107875750600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a375434115b15610867576001600090815260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a37546107c49034614802565b604051909150600090339083908381818185875af1925050503d8060008114610809576040519150601f19603f3d011682016040523d82523d6000602084013e61080e565b606091505b50509050806108645760405162461bcd60e51b815260206004820152600d60248201527f526566756e64206661696c65640000000000000000000000000000000000000060448201526064015b60405180910390fd5b50505b6001337f2d12dbe5a3ee54a61d1d93b75c3f17170c17f06386abbd86e86755372b6db6e66108976012600a6147c9565b6108a29060016147d8565b604080519182524260208301520160405180910390a36108c3336001611503565b505b6108cf6001600655565b005b600080fd5b3480156108e257600080fd5b506108cf6108f1366004614839565b611acd565b34801561090257600080fd5b5061090b611bd9565b6040516109189190614922565b60405180910390f35b34801561092d57600080fd5b506108cf61093c36600461494a565b611c6b565b34801561094d57600080fd5b5061096161095c36600461497f565b611cf7565b6040519015158152602001610918565b34801561097d57600080fd5b5061096161098c3660046149ab565b600a60209081526000928352604080842090915290825290205460ff1681565b3480156109b857600080fd5b506109c1600a81565b604051908152602001610918565b3480156109db57600080fd5b506008546109ef906001600160a01b031681565b6040516001600160a01b039091168152602001610918565b6108cf610a15366004614a43565b611d0f565b348015610a2657600080fd5b50610a306175e881565b60405163ffffffff9091168152602001610918565b348015610a5157600080fd5b5060408051600181526002602082015201610918565b348015610a7357600080fd5b506002546109c1565b6108cf610a8a366004614af7565b611dfc565b348015610a9b57600080fd5b50610961610aaa366004614b13565b61208a565b348015610abb57600080fd5b50610a3061759581565b348015610ad157600080fd5b50610a3061759e81565b348015610ae757600080fd5b5060405160128152602001610918565b348015610b0357600080fd5b506108cf610b12366004614af7565b6120ae565b348015610b2357600080fd5b506108cf6120c0565b348015610b3857600080fd5b506108cf610b47366004614b54565b6122ab565b348015610b5857600080fd5b50610a3061759f81565b348015610b6e57600080fd5b50600e5461096190610100900460ff1681565b348015610b8d57600080fd5b506109c1609281565b348015610ba257600080fd5b506108cf610bb1366004614b70565b6122ff565b348015610bc257600080fd5b506108cf610bd1366004614b54565b61231a565b348015610be257600080fd5b506109ef7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b348015610c1657600080fd5b506108cf610c25366004614b8d565b61236e565b348015610c3657600080fd5b50610c7a610c45366004614bc5565b6001600160a01b03166000908152600c6020908152604080832054600d9092529091205460ff9091169163ffffffff90911690565b60408051921515835263ffffffff909116602083015201610918565b348015610ca257600080fd5b506109c1610cb1366004614bc5565b6001600160a01b031660009081526020819052604090205490565b348015610cd857600080fd5b506108cf6123b5565b348015610ced57600080fd5b50610cf66123c9565b6040516109189190614be2565b348015610d0f57600080fd5b50610d26610d1e366004614af7565b600092915050565b60405167ffffffffffffffff9091168152602001610918565b348015610d4b57600080fd5b506109c1600481565b348015610d6057600080fd5b50610961610d6f366004614c29565b6001600160a01b0381163014949350505050565b348015610d8f57600080fd5b506108cf610d9e36600461494a565b612515565b348015610daf57600080fd5b506108cf610dbe366004614c85565b61256e565b348015610dcf57600080fd5b506005546001600160a01b03166109ef565b348015610ded57600080fd5b506108cf610dfc366004614bc5565b612604565b348015610e0d57600080fd5b50601054610e21906001600160801b031681565b6040516001600160801b039091168152602001610918565b348015610e4557600080fd5b5061090b6126af565b348015610e5a57600080fd5b50610e21610e69366004614ca0565b6011602052600090815260409020546001600160801b031681565b348015610e9057600080fd5b506108cf6126be565b348015610ea557600080fd5b50610961610eb4366004614bc5565b600c6020526000908152604090205460ff1681565b348015610ed557600080fd5b506109c1600181565b348015610eea57600080fd5b50600e546109619060ff1681565b348015610f0457600080fd5b506109c1600f5481565b348015610f1a57600080fd5b506109c1610f2936600461494a565b61273b565b348015610f3a57600080fd5b50610a3061767c81565b348015610f5057600080fd5b50610961610f5f36600461497f565b61279b565b348015610f7057600080fd5b506108cf610f7f366004614bc5565b6127a9565b348015610f9057600080fd5b506109c1610f9f366004614ca0565b60076020526000908152604090205481565b348015610fbd57600080fd5b506108cf610fcc366004614bc5565b612837565b348015610fdd57600080fd5b506109c161a4b181565b348015610ff357600080fd5b506109c16110023660046149ab565b600b60209081526000928352604080842090915290825290205481565b34801561102b57600080fd5b506109c161103a366004614cbb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561107157600080fd5b506109c161e70881565b34801561108757600080fd5b50610a30611096366004614bc5565b600d6020526000908152604090205463ffffffff1681565b3480156110ba57600080fd5b506108cf6110c9366004614b70565b6128cf565b3480156110da57600080fd5b506110ee6110e9366004614c85565b6128f1565b6040516109189190600060a0820190508251825260208301516020830152604083015160408301526060830151606083015260808301511515608083015292915050565b34801561113e57600080fd5b50610a306175e781565b34801561115457600080fd5b506109c161210581565b34801561116a57600080fd5b506108cf611179366004614c85565b6129b1565b34801561118a57600080fd5b506108cf611199366004614bc5565b612a38565b6108cf6111ac366004614c85565b612a8c565b3480156111bd57600080fd5b506108cf6132be565b3480156111d257600080fd5b506112136111e1366004614c85565b600960205260009081526040902080546001820154600283015460038401546004909401549293919290919060ff1685565b6040805195865260208601949094529284019190915260608301521515608082015260a001610918565b34801561124957600080fd5b50610961611258366004614cd9565b613338565b600260065403611299576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600655565b6000609246146112b257506000611469565b6008546040516370a0823160e01b81526001600160a01b03858116600483015290911690839082906370a0823190602401602060405180830381865afa158015611300573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113249190614cf5565b1015611334576000915050611469565b6040516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052600091908316906323b872dd906064016020604051808303816000875af115801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b19190614d0e565b9050806113ea576040517fdd95b89f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846001600160a01b03167fac6887df1a90350dc47880bbc48f40726e1263688d2b6d01eabef3f709f3f24a8560405161145a918152604060208201819052600c908201527f6d696e745f7061796d656e740000000000000000000000000000000000000000606082015260800190565b60405180910390a26001925050505b92915050565b600060924603611480575061767c90565b61e708460361149057506175e790565b600a460361149f575061759f90565b61210546036114af57506175e890565b61a4b146036114bf575061759e90565b5061759590565b90565b6001600160a01b0382166114f35760405163ec442f0560e01b81526000600482015260240161085b565b6114ff6000838361336e565b5050565b6001600160a01b03821661154a577fa57bb8357696c0239aa116d4ee1079a34c9ef41b001ce54c57d611f24536111a60405161153e90614d2b565b60405180910390a15050565b60018160ff16108061155f575060048160ff16115b15611591577fa57bb8357696c0239aa116d4ee1079a34c9ef41b001ce54c57d611f24536111a60405161153e90614da4565b600061159b61146f565b6040805160808082526011908201527f43757272656e7420636861696e2045494400000000000000000000000000000060a08201526001600160a01b038616602082015263ffffffff83168183015260ff8516606082015290519192506000805160206153e7833981519152919081900360c00190a1600061161c826134b1565b80516040805160808082526018908201527f44657374696e6174696f6e20636861696e7320636f756e74000000000000000060a08201526001600160a01b03881660208201529081019190915260ff851660608201529091506000805160206153e78339815191529060c00160405180910390a160005b8151811015611ac65760008282815181106116b0576116b0614e1d565b6020908102919091018101516040805160808082526010908201527f53656e64696e6720746f20636861696e0000000000000000000000000000000060a08201526001600160a01b038a169381019390935263ffffffff82169083015260ff8716606083015291506000805160206153e78339815191529060c00160405180910390a160408051608081019091526000908060028152602001886001600160a01b03168152602001600081526020018760ff16815250905060008160405160200161177b9190614e49565b60408051601f1981840301815291815263ffffffff85166000908152601160205290812054919250906001600160801b03166117c2576010546001600160801b03166117e2565b63ffffffff84166000908152601160205260409020546001600160801b03165b9050600061181982600061181260408051600360f01b602082015281516002818303018152602290910190915290565b919061372a565b9050600061182a86858460006137ab565b905060924603611938576000611843826000015161388c565b905080611899577fa57bb8357696c0239aa116d4ee1079a34c9ef41b001ce54c57d611f24536111a6118788360000151613a08565b6040516118859190614ea2565b60405180910390a150505050505050611abe565b6118bf878685604051806040016040528087600001518152602001600081525030613aa8565b506040805160808082526012908201527f4c5a2073656e64207375636365737366756c000000000000000000000000000060a08201526001600160a01b038e16602082015263ffffffff89168183015260ff8d16606082015290516000805160206153e78339815191529181900360c00190a150611ab7565b80514710611a4a5780516040805160808082526014908201527f4e61746976652062616c616e636520636865636b00000000000000000000000060a08201526001600160a01b038e16602082015247818301526060810192909252516000805160206153e78339815191529181900360c00190a16119d2868584604051806040016040528086600001518152602001600081525030613aa8565b506040805160808082526012908201527f4c5a2073656e64207375636365737366756c000000000000000000000000000060a08201526001600160a01b038d16602082015263ffffffff88168183015260ff8c16606082015290516000805160206153e78339815191529181900360c00190a1611ab7565b8051604080516080808252601b908201527f496e73756666696369656e74206e61746976652062616c616e6365000000000060a08201526001600160a01b038e16602082015247818301526060810192909252516000805160206153e78339815191529181900360c00190a15b5050505050505b600101611693565b5050505050565b611ad5613bb3565b60018460ff161080611aea575060048460ff16115b15611b085760405163015f4fdd60e31b815260040160405180910390fd5b60005b82811015611ac6576000848483818110611b2757611b27614e1d565b9050602002016020810190611b3c9190614bc5565b90506001600160a01b038116611b655760405163e6c4247b60e01b815260040160405180910390fd5b60ff86166000818152600a602090815260408083206001600160a01b03861680855290835292819020805460ff191688151590811790915590519081529192917f93d109afa6c27787b42b91f0a146707ce353c59b69345e0967402e160baa29c8910160405180910390a350600101611b0b565b606060038054611be890614ee9565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1490614ee9565b8015611c615780601f10611c3657610100808354040283529160200191611c61565b820191906000526020600020905b815481529060010190602001808311611c4457829003601f168201915b5050505050905090565b611c73613bb3565b60018160ff161080611c88575060048160ff16115b15611ca65760405163015f4fdd60e31b815260040160405180910390fd5b6001600160a01b038216611ccd5760405163e6c4247b60e01b815260040160405180910390fd5b60ff166000908152600b602090815260408083206001600160a01b03909416835292905290812055565b600033611d05818585613bf9565b5060019392505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b03163314611d73576040517f91ac5e4f00000000000000000000000000000000000000000000000000000000815233600482015260240161085b565b60208701803590611d8d90611d88908a614ca0565b613c06565b14611de457611d9f6020880188614ca0565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526020880135602482015260440161085b565b611df387878787878787613c5b565b50505050505050565b600e54610100900460ff16611e3d576040517f19d5b29400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611e77576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260208190526040902054811115611ea75760405163cd1c886760e01b815260040160405180910390fd5b611eb13382613db8565b6040805160808101825260008082523360208084019190915282840185905260608301829052925191929091611ee991849101614e49565b60408051601f1981840301815291815263ffffffff86166000908152601160205290812054919250906001600160801b0316611f30576010546001600160801b0316611f50565b63ffffffff85166000908152601160205260409020546001600160801b03165b90506000611f8082600061181260408051600360f01b602082015281516002818303018152602290910190915290565b90506000611f9187858460006137ab565b905060924603611ff5576000611fab3383600001516112a0565b905080611fcb5760405163cd1c886760e01b815260040160405180910390fd5b611fee888685604051806040016040528060008152602001600081525030613aa8565b505061203f565b80513410156120175760405163cd1c886760e01b815260040160405180910390fd5b61203d878584604051806040016040528086600001518152602001600081525033613aa8565b505b6040805187815263ffffffff89166020820152339182917f85b64fdc692c993b9cf05759264f7cd75889f0df9c50982e441f18c50e6da327910160405180910390a350505050505050565b600033612098858285613dee565b6120a3858585613e7f565b506001949350505050565b6120b6613bb3565b6114ff8282613ede565b6120c8613bb3565b4780156121565760006120e36005546001600160a01b031690565b6001600160a01b03168260405160006040518083038185875af1925050503d806000811461212d576040519150601f19603f3d011682016040523d82523d6000602084013e612132565b606091505b5050905080612154576040516312171d8360e31b815260040160405180910390fd5b505b609246036122a8576008546040516370a0823160e01b81523060048201526001600160a01b039091169060009082906370a0823190602401602060405180830381865afa1580156121ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cf9190614cf5565b905080156122a5576000826001600160a01b031663a9059cbb6121fa6005546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af115801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122839190614d0e565b9050806122a3576040516312171d8360e31b815260040160405180910390fd5b505b50505b50565b6122b3613bb3565b60018260ff1610806122c8575060048260ff16115b156122e65760405163015f4fdd60e31b815260040160405180910390fd5b60ff909116600090815260096020526040902060010155565b612307613bb3565b600e805460ff1916911515919091179055565b612322613bb3565b60018260ff161080612337575060048260ff16115b156123555760405163015f4fdd60e31b815260040160405180910390fd5b60ff909116600090815260096020526040902060030155565b612376613bb3565b63ffffffff91909116600090815260116020526040902080546fffffffffffffffffffffffffffffffff19166001600160801b03909216919091179055565b6123bd613bb3565b6123c76000613f2c565b565b60408051600480825260a082019092526060916000919060208201608080368337019050509050600060015b60048160ff16116124655760ff80821660009081526009602052604090206004015416156124535780838360ff168151811061243357612433614e1d565b60ff909216602092830291909101909101528161244f81614f33565b9250505b8061245d81614f33565b9150506123f5565b5060008160ff1667ffffffffffffffff81111561248457612484614f1d565b6040519080825280602002602001820160405280156124ad578160200160208202803683370190505b50905060005b8260ff168160ff16101561250d57838160ff16815181106124d6576124d6614e1d565b6020026020010151828260ff16815181106124f3576124f3614e1d565b60ff909216602092830291909101909101526001016124b3565b509392505050565b3330146125645760405162461bcd60e51b815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015260640161085b565b6114ff8282611503565b612576613bb3565b60018160ff16108061258b575060048160ff16115b156125a95760405163015f4fdd60e31b815260040160405180910390fd5b60ff8116600081815260096020908152604091829020600401805460ff1916600190811790915591519182527faf7bb2f16df3983ae0c54e8f3296cc58faa68af9b8789a7480c1ce384f4774f291015b60405180910390a250565b61260c613bb3565b6001600160a01b0381166126335760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600c60209081526040808320805460ff19169055600d9091529020805463ffffffff1916905560015b60048160ff16116114ff5760ff81166000908152600b602090815260408083206001600160a01b0386168452909152812055806126a781614f33565b91505061266b565b606060048054611be890614ee9565b6126c6613bb3565b60015b60048160ff16116127035760ff81166000908152600960205260409020600401805460ff19169055806126fb81614f33565b9150506126c9565b50604051600081527feefd85e7526781261456aef153a6d8f86593a1538c6dd8c331268356dec83116906020015b60405180910390a1565b600060018260ff161080612752575060048260ff16115b156127705760405163015f4fdd60e31b815260040160405180910390fd5b5060ff166000908152600b602090815260408083206001600160a01b03949094168352929052205490565b600033611d05818585613e7f565b6127b1613bb3565b6001600160a01b0381166127d85760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907fee65344e433c3f97ac21708ea7cfc9f050264b43552489ecbc831d8f41a1124390600090a35050565b61283f613bb3565b6040517fca5eb5e10000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e190602401600060405180830381600087803b1580156128bb57600080fd5b505af1158015611ac6573d6000803e3d6000fd5b6128d7613bb3565b600e80549115156101000261ff0019909216919091179055565b6129256040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b60018260ff16108061293a575060048260ff16115b156129585760405163015f4fdd60e31b815260040160405180910390fd5b5060ff908116600090815260096020908152604091829020825160a08101845281548152600182015492810192909252600281015492820192909252600382015460608201526004909101549091161515608082015290565b6129b9613bb3565b60018160ff1610806129ce575060048160ff16115b156129ec5760405163015f4fdd60e31b815260040160405180910390fd5b60ff81166000818152600960209081526040808320600401805460ff19169055519182527faf7bb2f16df3983ae0c54e8f3296cc58faa68af9b8789a7480c1ce384f4774f291016125f9565b612a40613bb3565b6001600160a01b038116612a83576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240161085b565b6122a881613f2c565b612a9461125d565b60018160ff161080612aa9575060048160ff16115b15612ac75760405163015f4fdd60e31b815260040160405180910390fd5b600e5460ff161580612aee575060ff80821660009081526009602052604090206004015416155b15612b4f57600e5460ff8281166000908152600960205260409081902060049081015491517fc3b7c58c000000000000000000000000000000000000000000000000000000008152938316151590840152161515602482015260440161085b565b60ff8116600090815260096020908152604080832060030154600b83528184203385529092529091205410612bb0576040517fb643bfa600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038160ff1611612c275760ff8082166000908152600a602090815260408083203384529091529020541680612c25576040517f6bb2759200000000000000000000000000000000000000000000000000000000815260ff83166004820152336024820152811515604482015260640161085b565b505b60ff811660009081526009602052604090208054600282015410612c6e5760028101548154604051630ac074f760e41b81526004810192909252602482015260440161085b565b6000612c7c6012600a6147c9565b612c879060016147d8565b90508082600201548360000154612c9e9190614802565b1015612ccd5760028201548254604051630ac074f760e41b81526004810192909252602482015260440161085b565b604080516080808252600e908201527f5072652d6d696e7420636865636b00000000000000000000000000000000000060a082015233602082015260ff85168183015234606082015290516000805160206153e78339815191529181900360c00190a160924603612d7e576000612d483384600101546112a0565b905080612d78576001830154604051633aa7d81d60e21b815260006004820152602481019190915260440161085b565b50612db2565b8160010154341015612db2576001820154604051633aa7d81d60e21b8152346004820152602481019190915260440161085b565b6040805160808082526012908201527f5061796d656e74207375636365737366756c000000000000000000000000000060a082015233602082015260ff85168183015234606082015290516000805160206153e78339815191529181900360c00190a180826002016000828254612e2991906147ef565b909155505060ff83166000908152600b602090815260408083203384529091528120805460019290612e5c9084906147ef565b9091555050336000908152600c602052604090205460ff16612ec257336000908152600c60205260409020805460ff19166001179055612e9a61146f565b336000908152600d60205260409020805463ffffffff191663ffffffff929092169190911790555b60924614612fe25760008260010154341115612eea576001830154612ee79034614802565b90505b8015612fe0576040805160808082526018908201527f526566756e64696e6720657863657373207061796d656e74000000000000000060a0820152336020820152908101829052600060608201526000805160206153e78339815191529060c00160405180910390a1604051600090339083908381818185875af1925050503d8060008114612f95576040519150601f19603f3d011682016040523d82523d6000602084013e612f9a565b606091505b5050905080612fde576040517faf73b0b20000000000000000000000000000000000000000000000000000000081523360048201526024810183905260440161085b565b505b505b6002820154604080516080808252600e908201527f5072652d6d696e7420737461746500000000000000000000000000000000000060a08201523360208201528082018490526060810192909252516000805160206153e78339815191529181900360c00190a161305333826114c9565b6040805182815242602082015260ff85169133917f2d12dbe5a3ee54a61d1d93b75c3f17170c17f06386abbd86e86755372b6db6e6910160405180910390a3604080516080808252600f908201527f506f73742d6d696e74207374617465000000000000000000000000000000000060a082015233602082015260ff85168183015242606082015290516000805160206153e78339815191529181900360c00190a16040517f8955974800000000000000000000000000000000000000000000000000000000815233600482015260ff841660248201523090638955974890604401600060405180830381600087803b15801561314f57600080fd5b505af1925050508015613160575060015b6132275761316c614f52565b806308c379a0036131c85750613180614fa8565b8061318b57506131ca565b7fa57bb8357696c0239aa116d4ee1079a34c9ef41b001ce54c57d611f24536111a816040516131ba9190615027565b60405180910390a1506132b2565b505b3d8080156131f4576040519150601f19603f3d011682016040523d82523d6000602084013e6131f9565b606091505b507fa57bb8357696c0239aa116d4ee1079a34c9ef41b001ce54c57d611f24536111a6040516131ba9061507e565b6040805160808082526023908201527f43726f73732d636861696e206e6f74696669636174696f6e207375636365737360a08201527f66756c000000000000000000000000000000000000000000000000000000000060c082015233602082015260ff8516818301526001606082015290516000805160206153e78339815191529181900360e00190a15b50506122a86001600655565b6132c6613bb3565b60015b60048160ff16116133065760ff81166000908152600960205260409020600401805460ff19166001179055806132fe81614f33565b9150506132c9565b50604051600181527feefd85e7526781261456aef153a6d8f86593a1538c6dd8c331268356dec8311690602001612731565b60006020820180359060079083906133509086614ca0565b63ffffffff1681526020810191909152604001600020541492915050565b6001600160a01b03831661339957806002600082825461338e91906147ef565b909155506134249050565b6001600160a01b03831660009081526020819052604090205481811015613405576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018290526044810183905260640161085b565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166134405760028054829003905561345f565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516134a491815260200190565b60405180910390a3505050565b60408051600680825260e08201909252606091600091906020820160c080368337019050509050617595816000815181106134ee576134ee614e1d565b602002602001019063ffffffff16908163ffffffff168152505061767c8160018151811061351e5761351e614e1d565b602002602001019063ffffffff16908163ffffffff16815250506175e78160028151811061354e5761354e614e1d565b602002602001019063ffffffff16908163ffffffff168152505061759f8160038151811061357e5761357e614e1d565b602002602001019063ffffffff16908163ffffffff16815250506175e8816004815181106135ae576135ae614e1d565b602002602001019063ffffffff16908163ffffffff168152505061759e816005815181106135de576135de614e1d565b602002602001019063ffffffff16908163ffffffff16815250506000805b8251811015613647578463ffffffff1683828151811061361e5761361e614e1d565b602002602001015163ffffffff161461363f578161363b816150f7565b9250505b6001016135fc565b5060008167ffffffffffffffff81111561366357613663614f1d565b60405190808252806020026020018201604052801561368c578160200160208202803683370190505b5090506000805b845181101561371f578663ffffffff168582815181106136b5576136b5614e1d565b602002602001015163ffffffff1614613717578481815181106136da576136da614e1d565b60200260200101518383815181106136f4576136f4614e1d565b63ffffffff9092166020928302919091019091015281613713816150f7565b9250505b600101613693565b509095945050505050565b606083600361373a826000613f8b565b61ffff16146137875761374e816000613f8b565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff909116600482015260240161085b565b60006137938585613ff1565b90506137a18660018361407c565b9695505050505050565b60408051808201909152600080825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161380e89613c06565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401613843929190615110565b6040805180830381865afa15801561385f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061388391906151e6565b95945050505050565b60006092461461389e57506001919050565b6008546040516370a0823160e01b81523060048201526001600160a01b039091169060009082906370a0823190602401602060405180830381865afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061390f9190614cf5565b6040805160808082526015908201527f5320746f6b656e2062616c616e636520636865636b000000000000000000000060a0820152306020820152908101829052606081018690529091506000805160206153e78339815191529060c00160405180910390a18381106139fe57306001600160a01b03167fac6887df1a90350dc47880bbc48f40726e1263688d2b6d01eabef3f709f3f24a856040516139ec918152604060208201819052600b908201527f6761735f7061796d656e74000000000000000000000000000000000000000000606082015260800190565b60405180910390a25060019392505050565b5060009392505050565b60606000613a15836140e7565b600101905060008167ffffffffffffffff811115613a3557613a35614f1d565b6040519080825280601f01601f191660200182016040528015613a5f576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613a6957509392505050565b613ab0614687565b6000613abf84600001516141c9565b602085015190915015613ad957613ad9846020015161420a565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001613b298c613c06565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401613b65929190615110565b60806040518083038185885af1158015613b83573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613ba89190615202565b979650505050505050565b6005546001600160a01b031633146123c7576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161085b565b6122a58383836001614305565b63ffffffff811660009081526007602052604081205480611469576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260240161085b565b6000600781613c6d60208b018b614ca0565b63ffffffff1663ffffffff1681526020019081526020016000205490506000886020013530604051602001613cbe92919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152919052805160209091012090508115801590613ce75750808214155b15613d055760405163e6c4247b60e01b815260040160405180910390fd5b6000613d1387890189615282565b9050600081516002811115613d2a57613d2a614e33565b03613d4657613d41816020015182604001516114c9565b613dac565b600181516002811115613d5b57613d5b614e33565b03613d7257613d4181602001518260400151613db8565b600281516002811115613d8757613d87614e33565b03613dac576020808201516060830151613dac92613da7908e018e614ca0565b61440c565b50505050505050505050565b6001600160a01b038216613de257604051634b637e8f60e11b81526000600482015260240161085b565b6114ff8260008361336e565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146122a35781811015613e70576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602481018290526044810183905260640161085b565b6122a384848484036000614305565b6001600160a01b038316613ea957604051634b637e8f60e11b81526000600482015260240161085b565b6001600160a01b038216613ed35760405163ec442f0560e01b81526000600482015260240161085b565b6122a583838361336e565b63ffffffff8216600081815260076020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910161153e565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000613f988260026147ef565b83511015613fe85760405162461bcd60e51b815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e6473000000000000000000000000604482015260640161085b565b50016002015190565b60606001600160801b0382161561404257604080516fffffffffffffffffffffffffffffffff19608086811b8216602084015285901b16603082015201604051602081830303815290604052614075565b6040516fffffffffffffffffffffffffffffffff19608085901b1660208201526030016040516020818303038152906040525b9392505050565b606083600361408c826000613f8b565b61ffff16146140a05761374e816000613f8b565b8460016140ad855161454b565b6140b890600161530e565b86866040516020016140ce959493929190615330565b6040516020818303038152906040529150509392505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310614130577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061415c576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061417a57662386f26fc10000830492506010015b6305f5e1008310614192576305f5e100830492506008015b61271083106141a657612710830492506004015b606483106141b8576064830492506002015b600a83106114695760010192915050565b6000813414614206576040517f9f70412000000000000000000000000000000000000000000000000000000000815234600482015260240161085b565b5090565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561426a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061428e91906153c9565b90506001600160a01b0381166142d0576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114ff6001600160a01b038216337f0000000000000000000000001a44076050125825900e736c501f859c50fe728c85614593565b6001600160a01b038416614348576040517fe602df050000000000000000000000000000000000000000000000000000000081526000600482015260240161085b565b6001600160a01b03831661438b576040517f94280d620000000000000000000000000000000000000000000000000000000081526000600482015260240161085b565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156122a357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516143fe91815260200190565b60405180910390a350505050565b60018260ff161080614421575060048260ff16115b1561443f5760405163015f4fdd60e31b815260040160405180910390fd5b6001600160a01b0383166144665760405163e6c4247b60e01b815260040160405180910390fd5b60ff82166000908152600b602090815260408083206001600160a01b0387168452909152812080546001929061449d9084906147ef565b90915550506001600160a01b0383166000908152600c602052604090205460ff16614505576001600160a01b0383166000908152600c60209081526040808320805460ff19166001179055600d9091529020805463ffffffff831663ffffffff199091161790555b8063ffffffff168260ff16846001600160a01b03167fd4f1347ee617991f69d7d3b026873b78a790a82679251f546821749cf4c739a060405160405180910390a4505050565b600061ffff821115614206576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152601060048201526024810183905260440161085b565b604080516001600160a01b038581166024830152841660448201526064808201849052825180830390910181526084909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b17815282516122a3938893909260009283929183919082885af180614620576040513d6000823e3d81fd5b50506000513d91508115614638578060011415614645565b6001600160a01b0384163b155b156122a3576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161085b565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016146ca604051806040016040528060008152602001600081525090565b905290565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115614720578160001904821115614706576147066146cf565b8085161561471357918102915b93841c93908002906146ea565b509250929050565b60008261473757506001611469565b8161474457506000611469565b816001811461475a576002811461476457614780565b6001915050611469565b60ff841115614775576147756146cf565b50506001821b611469565b5060208310610133831016604e8410600b84101617156147a3575081810a611469565b6147ad83836146e5565b80600019048211156147c1576147c16146cf565b029392505050565b600061407560ff841683614728565b8082028115828204841417611469576114696146cf565b80820180821115611469576114696146cf565b81810381811115611469576114696146cf565b803560ff8116811461482657600080fd5b919050565b80151581146122a857600080fd5b6000806000806060858703121561484f57600080fd5b61485885614815565b9350602085013567ffffffffffffffff8082111561487557600080fd5b818701915087601f83011261488957600080fd5b81358181111561489857600080fd5b8860208260051b85010111156148ad57600080fd5b60208301955080945050505060408501356148c78161482b565b939692955090935050565b60005b838110156148ed5781810151838201526020016148d5565b50506000910152565b6000815180845261490e8160208601602086016148d2565b601f01601f19169290920160200192915050565b60208152600061407560208301846148f6565b6001600160a01b03811681146122a857600080fd5b6000806040838503121561495d57600080fd5b823561496881614935565b915061497660208401614815565b90509250929050565b6000806040838503121561499257600080fd5b823561499d81614935565b946020939093013593505050565b600080604083850312156149be57600080fd5b6149c783614815565b915060208301356149d781614935565b809150509250929050565b6000606082840312156149f457600080fd5b50919050565b60008083601f840112614a0c57600080fd5b50813567ffffffffffffffff811115614a2457600080fd5b602083019150836020828501011115614a3c57600080fd5b9250929050565b600080600080600080600060e0888a031215614a5e57600080fd5b614a6889896149e2565b965060608801359550608088013567ffffffffffffffff80821115614a8c57600080fd5b614a988b838c016149fa565b909750955060a08a01359150614aad82614935565b90935060c08901359080821115614ac357600080fd5b50614ad08a828b016149fa565b989b979a50959850939692959293505050565b803563ffffffff8116811461482657600080fd5b60008060408385031215614b0a57600080fd5b61499d83614ae3565b600080600060608486031215614b2857600080fd5b8335614b3381614935565b92506020840135614b4381614935565b929592945050506040919091013590565b60008060408385031215614b6757600080fd5b61499d83614815565b600060208284031215614b8257600080fd5b81356140758161482b565b60008060408385031215614ba057600080fd5b614ba983614ae3565b915060208301356001600160801b03811681146149d757600080fd5b600060208284031215614bd757600080fd5b813561407581614935565b6020808252825182820181905260009190848201906040850190845b81811015614c1d57835160ff1683529284019291840191600101614bfe565b50909695505050505050565b60008060008060a08587031215614c3f57600080fd5b614c4986866149e2565b9350606085013567ffffffffffffffff811115614c6557600080fd5b614c71878288016149fa565b90945092505060808501356148c781614935565b600060208284031215614c9757600080fd5b61407582614815565b600060208284031215614cb257600080fd5b61407582614ae3565b60008060408385031215614cce57600080fd5b82356149c781614935565b600060608284031215614ceb57600080fd5b61407583836149e2565b600060208284031215614d0757600080fd5b5051919050565b600060208284031215614d2057600080fd5b81516140758161482b565b604081526000614d6860408301601281527f5f6e6f746966794f74686572436861696e730000000000000000000000000000602082015260400190565b828103602093840152601481527f496e76616c696420757365722061646472657373000000000000000000000000928101929092525060400190565b604081526000614de160408301601281527f5f6e6f746966794f74686572436861696e730000000000000000000000000000602082015260400190565b828103602093840152600f81527f496e76616c696420706f6f6c2049440000000000000000000000000000000000928101929092525060400190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b8151608082019060038110614e6e57634e487b7160e01b600052602160045260246000fd5b808352506001600160a01b0360208401511660208301526040830151604083015260ff606084015116606083015292915050565b60408152601860408201527f536f6e696320676173207061796d656e74206661696c65640000000000000000606082015260806020820152600061407560808301846148f6565b600181811c90821680614efd57607f821691505b6020821081036149f457634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060ff821660ff8103614f4957614f496146cf565b60010192915050565b600060033d11156114c65760046000803e5060005160e01c90565b601f8201601f1916810167ffffffffffffffff81118282101715614fa157634e487b7160e01b600052604160045260246000fd5b6040525050565b600060443d1015614fb65790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715614fe657505050505090565b8285019150815181811115614ffe5750505050505090565b843d87010160208285010111156150185750505050505090565b61371f60208286010187614f6d565b60408152600061506460408301601f81527f43726f73732d636861696e206e6f74696669636174696f6e206661696c656400602082015260400190565b828103602084015261507681856148f6565b949350505050565b6040815260006150bb60408301601f81527f43726f73732d636861696e206e6f74696669636174696f6e206661696c656400602082015260400190565b828103602093840152600d81527f556e6b6e6f776e206572726f7200000000000000000000000000000000000000928101929092525060400190565b600060018201615109576151096146cf565b5060010190565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261514660e08401826148f6565b90506060850151603f198483030160a085015261516382826148f6565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b60006040828403121561519b57600080fd5b6040516040810181811067ffffffffffffffff821117156151cc57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000604082840312156151f857600080fd5b6140758383615189565b60006080828403121561521457600080fd5b6040516060810167ffffffffffffffff828210818311171561524657634e487b7160e01b600052604160045260246000fd5b816040528451835260208501519150808216821461526357600080fd5b5060208201526152768460408501615189565b60408201529392505050565b60006080828403121561529457600080fd5b6040516080810181811067ffffffffffffffff821117156152c557634e487b7160e01b600052604160045260246000fd5b6040528235600381106152d757600080fd5b815260208301356152e781614935565b60208201526040838101359082015261530260608401614815565b60608201529392505050565b61ffff818116838216019080821115615329576153296146cf565b5092915050565b60008651615342818460208b016148d2565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b1660038301525083516153ba8160048401602088016148d2565b01600401979650505050505050565b6000602082840312156153db57600080fd5b81516140758161493556fea64fac00f0556ada3417c24c021c73caa5c98979327816bd5951915aa2c0e4fba26469706673582212205de3575f719700d956a46e966d85c98dbb437a4fcc5f71f0230b3916660615fb64736f6c63430008160033