60a0604052612710620000206b033b2e3c9fd0803ce800000060f0620008b8565b6200002c9190620008d2565b6007556127106200004b6b033b2e3c9fd0803ce800000060c8620008b8565b620000579190620008d2565b600855612710620000766b033b2e3c9fd0803ce80000006003620008b8565b620000829190620008d2565b600c556040805161016081018252636261736560e01b8152600060208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014001819052601080546001600160c01b031916636261736560981b179055601155601280546001600160401b03191690553480156200011c57600080fd5b506040518060400160405280601081526020016f15d85b1b0814dd1c99595d08109d5b1b60821b8152506040518060400160405280600481526020016315d4d09360e21b8152506000620001756200063660201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506004620001cd838262000999565b506005620001dc828262000999565b50506000546001600160a01b03169050600d80546001600160a01b03929092166001600160a01b0319928316179055600f805482167371fa84fd04c852c6561e2a5bf9e185c232505fd7179055600e80549091167361b53844d062a9e2441abfeacaf64939936f83871790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a01559160048083019260209291908290030181865afa1580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c4919062000a65565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000338919062000a65565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000386573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ac919062000a65565b600680546001600160a01b0319166001600160a01b038581169190911790915581166080529050620003e08160016200063a565b600160146000620003f96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e54821681526014909352818320805485166001908117909155600f5490911683528183208054851682179055308352908220805490931681179092556013906200047b6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260159283905290812080549093166001908117909355620004d36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e548216815260158452828120805486166001908117909155600f54831682528382208054871682179055868316825260169485905283822080548716821790556006549092168152828120805486168317905530815291822080549094168117909355620005796000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e54821681526016909352818320805485166001908117909155600f549091168352908220805484168217905561dead9091527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b5780549092161790556200062e6200061b6000546001600160a01b031690565b6b033b2e3c9fd0803ce80000006200072a565b505062000aa6565b3390565b6001600160a01b03821660009081526017602052604090205481151560ff909116151503620006d65760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c7565000000000000000060648201526084015b60405180910390fd5b6001600160a01b038216600081815260176020526040808220805460ff191685151590811790915590519092917fa666b9b2dc2c8f2d86fda7ba3a115be30d3a958fd84d359cbc6bc919df97990a91a35050565b6001600160a01b038216620007825760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620006cd565b6200079e816003546200083660201b620018221790919060201c565b6003556001600160a01b038216600090815260016020908152604090912054620007d39183906200182262000836821b17901c565b6001600160a01b0383166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620008259085815260200190565b60405180910390a35050565b505050565b60008062000845838562000a90565b905083811015620008995760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620006cd565b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200089c576200089c620008a2565b600082620008f057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200092057607f821691505b6020821081036200094157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200083157600081815260208120601f850160051c81016020861015620009705750805b601f850160051c820191505b8181101562000991578281556001016200097c565b505050505050565b81516001600160401b03811115620009b557620009b5620008f5565b620009cd81620009c684546200090b565b8462000947565b602080601f83116001811462000a055760008415620009ec5750858301515b600019600386901b1c1916600185901b17855562000991565b600085815260208120601f198616915b8281101562000a365788860151825594840194600190910190840162000a15565b508582101562000a555787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000a7857600080fd5b81516001600160a01b03811681146200089957600080fd5b808201808211156200089c576200089c620008a2565b60805161367862000ad76000396000818161042101528181610fb101528181611116015261127b01526136786000f3fe6080604052600436106102295760003560e01c80638c0b5e2211610123578063aee50b1e116100ab578063d2d7ad831161006f578063d2d7ad83146106b0578063d3221576146106c6578063dd62ed3e146106e6578063f2fde38b1461072c578063fe0175351461074c57600080fd5b8063aee50b1e146105cc578063b62496f5146105ec578063c02466681461061c578063c9567bf91461063c578063cd43e2281461065157600080fd5b80639d952ce9116100f25780639d952ce9146105415780639dccf6f114610561578063a457c2d714610576578063a9059cbb14610596578063aa4bde28146105b657600080fd5b80638c0b5e22146104d85780638d0445ee146104ee5780638da5cb5b1461050e57806395d89b411461052c57600080fd5b806327a14fc2116101b15780636678129111610175578063667812911461044357806370a0823114610463578063715018a614610483578063781edb3c14610498578063880bcbc1146104b857600080fd5b806327a14fc214610393578063313ce567146103b357806339509351146103cf57806342966c68146103ef57806349bd5a5e1461040f57600080fd5b80631694505e116101f85780631694505e146102cf57806318160ddd146103075780631cdbf848146103265780631e293c101461035357806323b872dd1461037357600080fd5b8063064a59d01461023557806306fdde031461026b578063095ea7b31461028d5780630f6ca522146102ad57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5060065461025690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561027757600080fd5b50610280610787565b6040516102629190613036565b34801561029957600080fd5b506102566102a8366004613099565b610819565b3480156102b957600080fd5b506102cd6102c83660046130c5565b610830565b005b3480156102db57600080fd5b506006546102ef906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b34801561031357600080fd5b506003545b604051908152602001610262565b34801561033257600080fd5b506103186103413660046130fa565b60186020526000908152604090205481565b34801561035f57600080fd5b506102cd61036e366004613117565b6108f1565b34801561037f57600080fd5b5061025661038e366004613130565b6109e1565b34801561039f57600080fd5b506102cd6103ae366004613117565b610a4b565b3480156103bf57600080fd5b5060405160128152602001610262565b3480156103db57600080fd5b506102566103ea366004613099565b610b9c565b3480156103fb57600080fd5b506102cd61040a366004613117565b610bd2565b34801561041b57600080fd5b506102ef7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044f57600080fd5b506102cd61045e366004613187565b610bdf565b34801561046f57600080fd5b5061031861047e3660046130fa565b610cff565b34801561048f57600080fd5b506102cd610d1a565b3480156104a457600080fd5b506102cd6104b33660046131db565b610d8e565b3480156104c457600080fd5b506102cd6104d33660046131db565b610e58565b3480156104e457600080fd5b5061031860085481565b3480156104fa57600080fd5b506102cd610509366004613219565b610f1a565b34801561051a57600080fd5b506000546001600160a01b03166102ef565b34801561053857600080fd5b50610280611378565b34801561054d57600080fd5b506102cd61055c366004613187565b611387565b34801561056d57600080fd5b506102cd61144e565b34801561058257600080fd5b50610256610591366004613099565b61148f565b3480156105a257600080fd5b506102566105b1366004613099565b6114de565b3480156105c257600080fd5b5061031860075481565b3480156105d857600080fd5b506102cd6105e7366004613117565b6114eb565b3480156105f857600080fd5b506102566106073660046130fa565b60176020526000908152604090205460ff1681565b34801561062857600080fd5b506102cd6106373660046131db565b6115b5565b34801561064857600080fd5b506102cd611677565b34801561065d57600080fd5b5060125460ff80821691620100008104821691600160201b8204811691600160301b9004165b6040805160ff95861681529385166020850152918416918301919091529091166060820152608001610262565b3480156106bc57600080fd5b50610318600c5481565b3480156106d257600080fd5b506102cd6106e13660046131db565b6116b6565b3480156106f257600080fd5b50610318610701366004613264565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561073857600080fd5b506102cd6107473660046130fa565b611738565b34801561075857600080fd5b5060125460ff610100820481169163010000008104821691600160281b8204811691600160381b900416610683565b60606004805461079690613292565b80601f01602080910402602001604051908101604052809291908181526020018280546107c290613292565b801561080f5780601f106107e45761010080835404028352916020019161080f565b820191906000526020600020905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b6000610826338484611881565b5060015b92915050565b600c5461083c30610cff565b10156108aa5760405162461bcd60e51b815260206004820152603260248201527f7377617020616d6f756e74206d757374206f766572207468616e206d696e696d6044820152710756d546f6b656e734265666f7265537761760741b60648201526084015b60405180910390fd5b6108b58383836119a6565b156108ec57601954600160201b900460ff16156108ec576009805460ff191660011790556108e1611b69565b6009805460ff191690555b505050565b6000546001600160a01b0316331461091b5760405162461bcd60e51b81526004016108a1906132cc565b670de0b6b3a76400006103e861093060035490565b61093b906002613317565b6109459190613344565b61094f9190613344565b8110156109ae5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420736574206d6178547820416d6f756e74206c6f776572207468604482015266616e20302e322560c81b60648201526084016108a1565b60085460405182907f75f1c17bf623f0f7a2bd91ba61e89dff216960370e3e9a46b250750d03e4215e90600090a3600855565b60006109ee848484611db8565b610a408433610a3b856040518060600160405280602881526020016135d6602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061239b565b611881565b5060015b9392505050565b6000546001600160a01b03163314610a755760405162461bcd60e51b81526004016108a1906132cc565b670de0b6b3a76400006103e8610a8a60035490565b610a95906014613317565b610a9f9190613344565b610aa99190613344565b811015610b045760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e322560e01b60648201526084016108a1565b6007548103610b695760405162461bcd60e51b815260206004820152602b60248201527f43616e6e6f7420757064617465206d617857616c6c6574416d6f756e7420746f60448201526a2073616d652076616c756560a81b60648201526084016108a1565b60075460405182907f6d3e257c59a11116c3e97bb144abf5ba1a6a9da6bd509192ecf0d48f7be1fc7690600090a3600755565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610826918590610a3b9086611822565b610bdc33826123d5565b50565b6000546001600160a01b03163314610c095760405162461bcd60e51b81526004016108a1906132cc565b8082610c158587613358565b610c1f9190613358565b610c299190613358565b60ff16600111610c7b5760405162461bcd60e51b815260206004820152601860248201527f73656c6c20666565206d7573742062652066616972212121000000000000000060448201526064016108a1565b610c896010858585856124e0565b6040516c18985cd95199595ccb54d95b1b609a1b8152600d015b6040805191829003822060ff878116845286811660208501528581168484015284166060840152905190917f69848adfba904cea9fd12f8e800c6bae1d85101b0becc5910e509a93d81449e9919081900360800190a250505050565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b03163314610d445760405162461bcd60e51b81526004016108a1906132cc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610db85760405162461bcd60e51b81526004016108a1906132cc565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503610df85760405162461bcd60e51b81526004016108a190613371565b6001600160a01b038216600081815260166020908152604091829020805460ff191685151590811790915591519182527fb7eada217e08491d4a03c266f93cd278befd124ab34890a5e7f44d023cbade7391015b60405180910390a25050565b6000546001600160a01b03163314610e825760405162461bcd60e51b81526004016108a1906132cc565b6001600160a01b03821660009081526015602052604090205481151560ff909116151503610ec25760405162461bcd60e51b81526004016108a190613371565b6001600160a01b038216600081815260156020908152604091829020805460ff191685151590811790915591519182527f30098fc83ab61b1a98835d32c4e611adedccfc260eeef586bd329d48e8a40a409101610e4c565b6000546001600160a01b03163314610f445760405162461bcd60e51b81526004016108a1906132cc565b600d546001600160a01b038481169116146110a9576001600160a01b038316610faf5760405162461bcd60e51b815260206004820152601f60248201527f546865206c697175696469747957616c6c65742063616e6e6f7420626520300060448201526064016108a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036110305760405162461bcd60e51b815260206004820152601f60248201527f546865206c697175696469747957616c6c65742063616e6e6f7420626520300060448201526064016108a1565b600d546040516e1b1a5c5d5a591a5d1e55d85b1b195d608a1b81526001600160a01b0391821691851690600f01604051908190038120907fd1fafbc3fb0c1fd12765451e803b8d5049dca18f8055298e7d18ebcd0d2ce31290600090a4600d80546001600160a01b0319166001600160a01b0385161790555b600e546001600160a01b0383811691161461120e576001600160a01b0382166111145760405162461bcd60e51b815260206004820152601f60248201527f546865206d61726b6574696e6757616c6c65742063616e6e6f7420626520300060448201526064016108a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036111955760405162461bcd60e51b815260206004820152601f60248201527f546865206d61726b6574696e6757616c6c65742063616e6e6f7420626520300060448201526064016108a1565b600e546040516e1b585c9ad95d1a5b99d5d85b1b195d608a1b81526001600160a01b0391821691841690600f01604051908190038120907fd1fafbc3fb0c1fd12765451e803b8d5049dca18f8055298e7d18ebcd0d2ce31290600090a4600e80546001600160a01b0319166001600160a01b0384161790555b600f546001600160a01b038281169116146108ec576001600160a01b0381166112795760405162461bcd60e51b815260206004820152601e60248201527f54686520747265617375727957616c6c65742063616e6e6f742062652030000060448201526064016108a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316036112fa5760405162461bcd60e51b815260206004820152601e60248201527f54686520747265617375727957616c6c65742063616e6e6f742062652030000060448201526064016108a1565b600f546040516d1d1c99585cdd5c9e55d85b1b195d60921b81526001600160a01b0391821691831690600e01604051908190038120907fd1fafbc3fb0c1fd12765451e803b8d5049dca18f8055298e7d18ebcd0d2ce31290600090a4600f80546001600160a01b0383166001600160a01b0319909116179055505050565b60606005805461079690613292565b6000546001600160a01b031633146113b15760405162461bcd60e51b81526004016108a1906132cc565b80826113bd8587613358565b6113c79190613358565b6113d19190613358565b60ff166001116114235760405162461bcd60e51b815260206004820152601760248201527f62757920666565206d757374206265206661697221212100000000000000000060448201526064016108a1565b611431601085858585612742565b6040516b62617365466565732d42757960a01b8152600c01610ca3565b6000546001600160a01b031633146114785760405162461bcd60e51b81526004016108a1906132cc565b6b033b2e3c9fd0803ce80000006007819055600855565b60006108263384610a3b8560405180606001604052806025815260200161361e602591393360009081526002602090815260408083206001600160a01b038d168452909152902054919061239b565b6000610826338484611db8565b6000546001600160a01b031633146115155760405162461bcd60e51b81526004016108a1906132cc565b600c5481036115825760405162461bcd60e51b815260206004820152603360248201527f43616e6e6f7420757064617465206d696e696d756d546f6b656e734265666f72604482015272655377617020746f2073616d652076616c756560681b60648201526084016108a1565b600c5460405182907f5b0491f767c1463bea8972339f785795be1a38784cc6483cf649cdcbb28c46b090600090a3600c55565b6000546001600160a01b031633146115df5760405162461bcd60e51b81526004016108a1906132cc565b6001600160a01b03821660009081526014602052604090205481151560ff90911615150361161f5760405162461bcd60e51b81526004016108a190613371565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527fa856ba9fdc54a5434b2359874c95612f520a2d7f858864ae98d15c1b2099ca8b9101610e4c565b6000546001600160a01b031633146116a15760405162461bcd60e51b81526004016108a1906132cc565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146116e05760405162461bcd60e51b81526004016108a1906132cc565b6001600160a01b038216600081815260136020908152604091829020805460ff191685151590811790915591519182527fcb9f97b7b4b41413e5c8d418a8cf9a88db1cf34dee66b213d070faf881d9d3509101610e4c565b6000546001600160a01b031633146117625760405162461bcd60e51b81526004016108a1906132cc565b6001600160a01b0381166117c75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108a1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008061182f83856133bb565b905083811015610a445760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108a1565b6001600160a01b0383166118e35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108a1565b6001600160a01b0382166119445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108a1565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b33600090815260146020526040812054819060ff16611abd57601954600160201b900460ff1615611a43576019546000906064906119ee90600160201b900460ff1687613317565b6119f89190613344565b601954909150600090606490611a18906301000000900460ff1688613317565b611a229190613344565b9050611a2e82876133ce565b95508015611a4057611a4033826123d5565b50505b601954600160201b900460ff1615611ab6576000611a6030610cff565b60195490915060009060029060ff600160201b8204811691611a83911685613317565b611a8d9190613344565b611a979190613344565b90506000611aa582846133ce565b90508015611ab257600193505b5050505b9050610a44565b6000611ac830610cff565b1115611af15783600003611ae35750600a8290556000611af1565b611aed85856123d5565b5060005b601954600160201b900460ff1615611ab6576000611b0e30610cff565b60195490915060009060029060ff600160201b8204811691611b31911685613317565b611b3b9190613344565b611b459190613344565b90506000611b5382846133ce565b90508015611ab257600093505050509050610a44565b6000611b7430610cff565b600c549091504790611b87906007613317565b821115611b9f57600c54611b9c906007613317565b91505b601954600090819060029060ff600160201b8204811691611bc1911687613317565b611bcb9190613344565b611bd59190613344565b90506000611be382866133ce565b9050611bee8161298c565b6000611bfa85476133ce565b60195490915060009060ff63010000008204811691611c1c91600291166133e1565b611c269190613358565b601954611c3d9190600160201b900460ff16613403565b60195460ff91821692506000916002918491611c5a911686613317565b611c649190613344565b611c6e9190613344565b6019549091506000908390611c8b90610100900460ff1686613317565b611c959190613344565b90506000611ca382846133bb565b611cad90866133ce565b600f546040519192506001600160a01b0316908290600081818185875af1925050503d8060008114611cfb576040519150601f19603f3d011682016040523d82523d6000602084013e611d00565b606091505b5050600e546040519199506001600160a01b0316904790600081818185875af1925050503d8060008114611d50576040519150601f19603f3d011682016040523d82523d6000602084013e611d55565b606091505b50909850508615611dac57611d6a8784612ae6565b60408051878152602081018590529081018890527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b50505050505050505050565b6001600160a01b038316611dde5760405162461bcd60e51b81526004016108a19061341c565b6001600160a01b038216611e045760405162461bcd60e51b81526004016108a190613461565b80600003611e18576108ec83836000612b93565b6001600160a01b03808416600081815260176020908152604080832054948716835280832054938352601390915290205460ff928316929182169116158015611e7a57506001600160a01b03841660009081526013602052604090205460ff16155b1561214e57600654600160a01b900460ff16611ed85760405162461bcd60e51b815260206004820152601e60248201527f54726164696e672069732063757272656e746c792064697361626c65642e000060448201526064016108a1565b6001600160a01b03851660009081526017602052604090205460ff168015611f1957506001600160a01b03841660009081526015602052604090205460ff16155b15611fea57600854831115611f815760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b60648201526084016108a1565b600754611f8d85610cff565b611f9790856133bb565b1115611fe55760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420457863656564206d61782077616c6c6574000000000000000060448201526064016108a1565b61214e565b6001600160a01b03841660009081526017602052604090205460ff16801561202b57506001600160a01b03851660009081526015602052604090205460ff16155b1561209557600854831115611fe55760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b60648201526084016108a1565b6001600160a01b03841660009081526015602052604090205460ff16612119576007546120c185610cff565b6120cb90856133bb565b1115611fe55760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74204578636565642074782077616c6c657400000000000000000060448201526064016108a1565b60095460ff1615801561214457506001600160a01b03851660009081526015602052604090205460ff165b1561214e5742600a555b61215a82828787612c9f565b6000600c5461216830610cff565b6006549111159150600160a01b900460ff1680156121835750805b8015612192575060095460ff16155b80156121a95750601954600160201b900460ff1615155b80156121cd57506001600160a01b03851660009081526017602052604090205460ff165b80156121f257506001600160a01b03861660009081526014602052604090205460ff16155b801561221757506001600160a01b03851660009081526014602052604090205460ff16155b1561223c576009805460ff19166001179055612231611b69565b6009805460ff191690555b60095460009060ff1615801561225b5750600654600160a01b900460ff165b6001600160a01b03881660009081526014602052604090205490915060ff168061229d57506001600160a01b03861660009081526014602052604090205460ff165b156122a6575060005b8080156122be5750601954600160201b900460ff1615155b15612387576019546000906064906122e090600160201b900460ff1688613317565b6122ea9190613344565b60195490915060009060649061230a906301000000900460ff1689613317565b6123149190613344565b905061232082886133ce565b965061232d893084612b93565b80156123845761233d30826123d5565b60195460408051630100000090920460ff168252602082018390527ffecf12fd01122af77b8b8f1a0f126363142d14fba298ea36d9fe4909f61bb5a1910160405180910390a15b50505b612392878787612b93565b50505050505050565b600081848411156123bf5760405162461bcd60e51b81526004016108a19190613036565b5060006123cc84866133ce565b95945050505050565b6001600160a01b0382166124355760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108a1565b6124728160405180606001604052806022815260200161358e602291396001600160a01b038516600090815260016020526040902054919061239b565b6001600160a01b0383166000908152600160205260409020556003546124989082612f3e565b6003556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600285015460ff858116610100909204161461257157604051711b1a5c5d5a591a5d1e51995953db94d95b1b60721b815260120160405190819003812060028701548754919260ff610100909204821692918816916000805160206135fe833981519152916125529160481b906134a4565b60405180910390a460028501805461ff00191661010060ff8716021790555b600285015460ff8481166301000000909204161461260a57604051711b585c9ad95d1a5b99d1995953db94d95b1b60721b815260120160405190819003812060028701548754919260ff6301000000909204821692918716916000805160206135fe833981519152916125e79160481b906134a4565b60405180910390a460028501805463ff0000001916630100000060ff8616021790555b600285015460ff838116600160281b90920416146126a3576040516f189d5e509858dad1995953db94d95b1b60821b815260100160405190819003812060028701548754919260ff600160281b909204821692918616916000805160206135fe8339815191529161267e9160481b906134a4565b60405180910390a460028501805465ff00000000001916600160281b60ff8516021790555b600285015460ff828116600160381b909204161461273b576040516c189d5c9b91995953db94d95b1b609a1b8152600d0160405190819003812060028701548754919260ff600160381b909204821692918516916000805160206135fe833981519152916127149160481b906134a4565b60405180910390a460028501805467ff000000000000001916600160381b60ff8416021790555b5050505050565b600285015460ff8581169116146127c357604051706c69717569646974794665654f6e42757960781b815260110160405190819003812060028701548754919260ff91821692918816916000805160206135fe833981519152916127a99160481b906134a4565b60405180910390a460028501805460ff191660ff86161790555b600285015460ff84811662010000909204161461285757604051706d61726b6574696e674665654f6e42757960781b815260110160405190819003812060028701548754919260ff62010000909204821692918716916000805160206135fe833981519152916128369160481b906134a4565b60405180910390a460028501805462ff000019166201000060ff8616021790555b600285015460ff838116600160201b90920416146128ee576040516e6275794261636b4665654f6e42757960881b8152600f0160405190819003812060028701548754919260ff600160201b909204821692918616916000805160206135fe833981519152916128ca9160481b906134a4565b60405180910390a460028501805464ff000000001916600160201b60ff8516021790555b600285015460ff828116600160301b909204161461273b576040516b6275726e4665654f6e42757960a01b8152600c0160405190819003812060028701548754919260ff600160301b909204821692918516916000805160206135fe8339815191529161295e9160481b906134a4565b60405180910390a460028501805460ff8316600160301b0266ff000000000000199091161790555050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106129c1576129c16134bb565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612a1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3e91906134d1565b81600181518110612a5157612a516134bb565b6001600160a01b039283166020918202929092010152600654612a779130911684611881565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612ab09085906000908690309042906004016134ee565b600060405180830381600087803b158015612aca57600080fd5b505af1158015612ade573d6000803e3d6000fd5b505050505050565b600654612afe9030906001600160a01b031684611881565b600654600d5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612b6e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061273b919061355f565b6001600160a01b038316612bb95760405162461bcd60e51b81526004016108a19061341c565b6001600160a01b038216612bdf5760405162461bcd60e51b81526004016108a190613461565b612c1c816040518060600160405280602681526020016135b0602691396001600160a01b038616600090815260016020526040902054919061239b565b6001600160a01b038085166000908152600160205260408082209390935590841681522054612c4b9082611822565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119999085815260200190565b6019805463ffffffff191690558315612d92576012546019805460ff80841661ffff1990921691909117610100620100008086048416919091029190911763ffff00001916600160201b850483169190910263ff000000191617600160301b909304166301000000029190911790556001600160a01b03811660009081526018602052604090205415612d4a576001600160a01b038116600090815260186020526040902054612d78565b612d5381610cff565b15612d76576001600160a01b038116600090815260186020526040902054612d78565b425b6001600160a01b0382166000908152601860205260409020555b8215612df5576012546019805461010080840460ff90811661ffff199093169290921763010000008086048416929092021763ffff00001916600160281b85048316620100000263ff000000191617600160381b90940491909116029190911790555b82158015612e01575083155b15612e63576012546019805461010080840460ff90811661ffff199093169290921763010000008086048416929092021763ffff00001916600160281b85048316620100000263ff000000191617600160381b90940491909116029190911790555b612e6e848383612f80565b60195460ff63010000008204811691620100008104821691612e9891610100810482169116613358565b612ea29190613358565b612eac9190613358565b6019805460ff928316600160201b90810264ff000000001983168117938490556040805191861693861693909317815261010084048516602082015262010000840485168184015263010000008404851660608201529204909216608082015290517f6e2a5b7f71cda0b5cb7df899e2ae963197bad5b9805df7f475458f793841201c9181900360a00190a150505050565b6000610a4483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061239b565b6001600160a01b03811615801590612fa357506001600160a01b03811661dead14155b8015612fc857506001600160a01b03821660009081526014602052604090205460ff16155b8015612fed57506001600160a01b03811660009081526014602052604090205460ff16155b156108ec5782158015613003575060095460ff16155b156108ec57600a546001600160a01b03831660009081526018602052604090205461302e91906133ce565b600b55505050565b600060208083528351808285015260005b8181101561306357858101830151858201604001528201613047565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bdc57600080fd5b600080604083850312156130ac57600080fd5b82356130b781613084565b946020939093013593505050565b6000806000606084860312156130da57600080fd5b83356130e581613084565b95602085013595506040909401359392505050565b60006020828403121561310c57600080fd5b8135610a4481613084565b60006020828403121561312957600080fd5b5035919050565b60008060006060848603121561314557600080fd5b833561315081613084565b9250602084013561316081613084565b929592945050506040919091013590565b803560ff8116811461318257600080fd5b919050565b6000806000806080858703121561319d57600080fd5b6131a685613171565b93506131b460208601613171565b92506131c260408601613171565b91506131d060608601613171565b905092959194509250565b600080604083850312156131ee57600080fd5b82356131f981613084565b91506020830135801515811461320e57600080fd5b809150509250929050565b60008060006060848603121561322e57600080fd5b833561323981613084565b9250602084013561324981613084565b9150604084013561325981613084565b809150509250925092565b6000806040838503121561327757600080fd5b823561328281613084565b9150602083013561320e81613084565b600181811c908216806132a657607f821691505b6020821081036132c657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761082a5761082a613301565b634e487b7160e01b600052601260045260246000fd5b6000826133535761335361332e565b500490565b60ff818116838216019081111561082a5761082a613301565b6020808252602a908201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604082015269276578636c756465642760b01b606082015260800190565b8082018082111561082a5761082a613301565b8181038181111561082a5761082a613301565b600060ff8316806133f4576133f461332e565b8060ff84160491505092915050565b60ff828116828216039081111561082a5761082a613301565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b68ffffffffffffffffff1991909116815260200190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156134e357600080fd5b8151610a4481613084565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561353e5784516001600160a01b031683529383019391830191600101613519565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561357457600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636500edc71549f0cbe47086c2237ce0cf874d6897fd1d7ce43ee6b65c0230d7606e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202ab74b40214bab7cbd2cfd12f202df49d6c4d6d87da47172f1a04cc0cfdfb2f064736f6c63430008110033