610300604052600280546001600160f81b0316600160f81b17905534801562000026575f80fd5b506040516200576238038062005762833981016040819052620000499162000c7d565b62000054336200039e565b8451620000629085620003bc565b6020808601516001600160a01b039081166102c052604087015181166102a0526060870151166102605283515f91620000a2918601810190860162000d98565b90505f83806020019051810190620000bb919062000e36565b60808801519091506001600160a01b0316156200019d5786600460200201516001600160a01b031661020052600187600460200201516001600160a01b031663df3c78556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200012d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000153919062000f0d565b600181111562000167576200016762000ef9565b036200018857600380546001600160f81b0316600160f81b179055620001ad565b600380546001600160f81b03169055620001ad565b600380546001600160f81b031690555b62000215604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681525090565b60808801516001600160a01b0316156200025857838060200190518101906200023f919062000f34565b905062000256886004602002015160109062000404565b505b62000264838262000423565b60e08301516001600160a01b031661024052620002846012600a620010e7565b8360200151620002959190620010f7565b608052620002a66012600a620010e7565b8360400151620002b79190620010f7565b60a05260c08084015190526101008301516001600160a01b031661022052620002e0826200062a565b15156102805260a08281015160e09081528301516001600160a01b03166101c05261014080840151610100908152610160808601516101209081529186015161ffff9081169093529085015190911690526101808084015190526101a08084015190525f6102e0526080519051620003789190620003616012600a620010e7565b8460200151620003729190620010f7565b62000796565b62000382620007d7565b6001600160a01b03166101e05250620013269650505050505050565b600180546001600160a01b0319169055620003b981620009a8565b50565b620003c7826200039e565b80806020019051810190620003dd919062001111565b60065f6007620003ee848262001202565b50620003fd9050838262001202565b5050505050565b5f6200041a836001600160a01b038416620009f7565b90505b92915050565b8060200151826040015183602001516200043e9190620012ca565b6200044a9190620012ca565b8251146200046457620004646361cf53d560e01b62000a46565b81516001600160781b031015620004875762000487637f47720f60e11b62000a46565b60a08201516001600160581b031015620004ad57620004ad63d1db63ab60e01b62000a46565b60c08201516001600160801b031015620004d357620004d36362059d4d60e01b62000a46565b60608201516001600160781b031015620004f957620004f96342027b1360e11b62000a46565b60808201516001600160781b0310156200051f576200051f6342027b1360e11b62000a46565b6200052d6012600a620010e7565b82606001516200053e9190620010f7565b600380546001600160781b0319166001600160781b039290921691909117905562000567601290565b6200057490600a620010e7565b8260800151620005859190620010f7565b600380546001600160701b0392909216600160781b02600160781b600160e81b031990921691909117905560a0820151600480546101208501511515600160f81b026001600160f81b036001600160581b03909416600160a01b02939093166001600160a01b039091161791909117905560e0820151620006099060109062000404565b506200061760103062000404565b506200062560105f62000404565b505050565b80515f901580156200063e57506020820151155b80156200064d57506060820151155b80156200065c57506080820151155b156200066957505f919050565b6101a08201516060830151835161271092916200068691620012ca565b620006929190620012ca565b10620006aa57620006aa63e410db6160e01b62000a46565b81516002805460208501516060860151608087015161ffff908116600160e81b0261ffff60e81b19928216600160d81b029290921663ffffffff60d81b19938216600160c81b0261ffff60c81b1992909716600160b81b029190911663ffffffff60b81b1990941693909317949094171617919091179055604082015160011115620007425762000742636255fd8d60e01b62000a46565b5060408101516003805461ffff60e81b1916600160e81b61ffff9093169290920291909117905560c00151600480546001600160a01b0319166001600160a01b03909216919091179055600190565b919050565b8215620007a957620007a9308462000a4e565b8115620007c05761024051620007c0908362000a4e565b801562000625576102005162000625908262000a4e565b6002545f906001600160781b03161562000984576102c0516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200082b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620008519190620012e0565b6001600160a01b031663c9c65396306102c0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620008c69190620012e0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000911573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620009379190620012e0565b905062000946600e8262000404565b506040516001600160a01b03821681527f969ffc8569f9af3993220e04ac05164e5db4e3d9f8b1a47f64e7de9a04b8ea2f9060200160405180910390a15b6102c051620009969060109062000404565b50620009a460108262000404565b5090565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f81815260018301602052604081205462000a3e57508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556200041d565b505f6200041d565b805f5260045ffd5b6001600160a01b03821662000a6e5762000a6e622e076360e81b62000a46565b600280548291905f9062000a8d9084906001600160781b0316620012fc565b82546001600160781b039182166101009390930a9283029190920219909116179055506001600160a01b0382165f81815260086020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000aff9085815260200190565b60405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b038111828210171562000b445762000b4462000b0b565b60405290565b60405161014081016001600160401b038111828210171562000b445762000b4462000b0b565b6040516101c081016001600160401b038111828210171562000b445762000b4462000b0b565b6040516101a081016001600160401b038111828210171562000b445762000b4462000b0b565b80516001600160a01b038116811462000791575f80fd5b5f82601f83011262000be3575f80fd5b81516001600160401b038082111562000c005762000c0062000b0b565b604051601f8301601f19908116603f0116810190828211818310171562000c2b5762000c2b62000b0b565b8160405283815260209250868385880101111562000c47575f80fd5b5f91505b8382101562000c6a578582018301518183018401529082019062000c4b565b5f93810190920192909252949350505050565b5f805f805f610120868803121562000c93575f80fd5b86601f87011262000ca2575f80fd5b62000cac62000b1f565b8060a088018981111562000cbe575f80fd5b885b8181101562000ce35762000cd48162000bbc565b84526020938401930162000cc0565b505190965090506001600160401b038082111562000cff575f80fd5b62000d0d89838a0162000bd3565b955060c088015191508082111562000d23575f80fd5b62000d3189838a0162000bd3565b945060e088015191508082111562000d47575f80fd5b62000d5589838a0162000bd3565b935061010088015191508082111562000d6c575f80fd5b5062000d7b8882890162000bd3565b9150509295509295909350565b8051801515811462000791575f80fd5b5f610140828403121562000daa575f80fd5b62000db462000b4a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015262000e0260e0840162000bbc565b60e082015261010062000e1781850162000bbc565b9082015261012062000e2b84820162000d88565b908201529392505050565b5f6101c0828403121562000e48575f80fd5b62000e5262000b70565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015262000e9660c0840162000bbc565b60c082015262000ea960e0840162000bbc565b60e0820152610100838101519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a0928301519281019290925250919050565b634e487b7160e01b5f52602160045260245ffd5b5f6020828403121562000f1e575f80fd5b81516002811062000f2d575f80fd5b9392505050565b5f6101a0828403121562000f46575f80fd5b62000f5062000b96565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015261010080840151818301525061012080840151818301525061014080840151818301525061016080840151818301525061018062000e2b81850162000bbc565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200102e57815f190482111562001012576200101262000fda565b808516156200102057918102915b93841c939080029062000ff3565b509250929050565b5f8262001046575060016200041d565b816200105457505f6200041d565b81600181146200106d5760028114620010785762001098565b60019150506200041d565b60ff8411156200108c576200108c62000fda565b50506001821b6200041d565b5060208310610133831016604e8410600b8410161715620010bd575081810a6200041d565b620010c9838362000fee565b805f1904821115620010df57620010df62000fda565b029392505050565b5f6200041a60ff84168362001036565b80820281158282048414176200041d576200041d62000fda565b5f806040838503121562001123575f80fd5b82516001600160401b03808211156200113a575f80fd5b620011488683870162000bd3565b935060208501519150808211156200115e575f80fd5b506200116d8582860162000bd3565b9150509250929050565b600181811c908216806200118c57607f821691505b602082108103620011ab57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000625575f81815260208120601f850160051c81016020861015620011d95750805b601f850160051c820191505b81811015620011fa57828155600101620011e5565b505050505050565b81516001600160401b038111156200121e576200121e62000b0b565b62001236816200122f845462001177565b84620011b1565b602080601f8311600181146200126c575f8415620012545750858301515b5f19600386901b1c1916600185901b178555620011fa565b5f85815260208120601f198616915b828110156200129c578886015182559484019460019091019084016200127b565b5085821015620012ba57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200041d576200041d62000fda565b5f60208284031215620012f1575f80fd5b6200041a8262000bbc565b6001600160781b038181168382160190808211156200131f576200131f62000fda565b5092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161426c620014f65f395f61080801525f818161246a015281816124950152818161342a0152818161346801528181613519015281816135c2015281816138230152613a5401525f818161313801526131ef01525f81816127e4015261290201525f8181610848015261184401525f610f8c01525f8181610f1b01526132f901525f8181610a110152818161188e01526118e501525f81816107bd01528181611e07015281816126570152818161307e01528181613167015261321b01525f81816108ee01528181611224015281816139cb0152613b6201525f81816106ae01528181612c5d0152612d4401525f818161054301528181612c3301528181612cca01528181612cf70152612d2301525f8181610d1a015281816116d6015261170f01525f8181610d6d015281816115f6015261162f01525f81816105c8015261169f01525f8181610b7601526115bf01525f8181610cc6015281816113a10152611f6e01525f8181610958015261111a01525f6108bb01525f610700015261426c5ff3fe60806040526004361061045b575f3560e01c80638c80432111610241578063b923061111610134578063ea8b2424116100b3578063f444324b11610078578063f444324b14610f0a578063f85aff9414610f3d578063fdd8840e14610f7b578063fe6a0bbf14610fae578063ff0d7b9314610fc2575f80fd5b8063ea8b242414610e5b578063eb95ca7014610e7a578063ee6a934c14610eb8578063eeae0f9714610ed7578063f2fde38b14610eeb575f80fd5b8063d6efd7c3116100f9578063d6efd7c314610dcd578063dd62ed3e14610de1578063e30c397814610e00578063e37d9e9514610e1d578063e85455d714610e3c575f80fd5b8063b923061114610d09578063bb88603c14610d3c578063be841baa14610d5c578063bfe3098f14610d8f578063c4590d3f14610dae575f80fd5b8063a457c2d7116101c0578063ae22107f11610185578063ae22107f14610c56578063b0d7509714610c75578063b2c5c9eb14610c94578063b2e9cb3814610cb5578063b498d39f14610ce8575f80fd5b8063a457c2d714610bb7578063a45cae0214610bd6578063a62d87e814610bf7578063a8c2fb8e14610c16578063a9059cbb14610c37575f80fd5b806395d89b411161020657806395d89b4114610b135780639808751d14610b275780639e252f0014610b46578063a0aaf24814610b65578063a35b4cef14610b98575f80fd5b80638c80432114610a855780638cd4426d14610aa65780638da5cb5b14610ac5578063936b293414610ae157806393bf570514610b00575f80fd5b80633e4e9e5d1161035957806360f47d5f116102d8578063715018a61161029d578063715018a6146109ec57806376abde0014610a0057806379ba509714610a3357806379cc679014610a475780638589287a14610a66575f80fd5b806360f47d5f14610910578063638545651461093357806363a9c1f2146109475780636edb9a911461097a57806370a08231146109b8575f80fd5b80634b3c34601161031e5780634b3c3460146108375780634bed5ad21461086a5780634fadc7831461088b57806352d0b385146108aa5780635b8e7979146108dd575f80fd5b80633e4e9e5d1461074257806342966c6814610756578063469132ce1461077557806349bd5a5e146107ac5780634ac032be146107f7575f80fd5b806329c6b348116103e557806336520ace116103aa57806336520ace14610669578063390a168f1461069d57806339509351146106d05780633b22fc03146106ef5780633bfc300514610722575f80fd5b806329c6b348146105ea5780632ead0955146105fe578063313ce56714610614578063318bb5451461062f578063326b3b8b1461064a575f80fd5b806318160ddd1161042b57806318160ddd1461051557806318f490cf146105325780631b5e609b1461056557806323b872dd1461059857806325100bd4146105b7575f80fd5b8063038272b61461046657806306fdde031461048d578063095ea7b3146104ae57806310b828c9146104dd575f80fd5b3661046257005b5f80fd5b348015610471575f80fd5b5061047a610fe1565b6040519081526020015b60405180910390f35b348015610498575f80fd5b506104a1611007565b6040516104849190613d53565b3480156104b9575f80fd5b506104cd6104c8366004613d99565b611097565b6040519015158152602001610484565b3480156104e8575f80fd5b5060025461050090600160781b900463ffffffff1681565b60405163ffffffff9091168152602001610484565b348015610520575f80fd5b506002546001600160781b031661047a565b34801561053d575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610570575f80fd5b5061047a7f18c5b16520ef30767697b1166e68abe6be0295c1581b56f88be129d351b6d16181565b3480156105a3575f80fd5b506104cd6105b2366004613dc3565b6110b0565b3480156105c2575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105f5575f80fd5b506104cd6110ed565b348015610609575f80fd5b50610612611177565b005b34801561061f575f80fd5b5060405160128152602001610484565b34801561063a575f80fd5b5061047a67016357a9360a0a0081565b348015610655575f80fd5b50610612610664366004613e17565b61124e565b348015610674575f80fd5b5060025461068a90600160e81b900461ffff1681565b60405161ffff9091168152602001610484565b3480156106a8575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106db575f80fd5b506104cd6106ea366004613d99565b6112ed565b3480156106fa575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561072d575f80fd5b506003546104cd90600160f81b900460ff1681565b34801561074d575f80fd5b5061047a61130e565b348015610761575f80fd5b50610612610770366004613e30565b61133d565b348015610780575f80fd5b50600354610794906001600160781b031681565b6040516001600160781b039091168152602001610484565b3480156107b7575f80fd5b506107df7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610484565b348015610802575f80fd5b5061082a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516104849190613e47565b348015610842575f80fd5b506107df7f000000000000000000000000000000000000000000000000000000000000000081565b348015610875575f80fd5b5060035461068a90600160e81b900461ffff1681565b348015610896575f80fd5b506106126108a5366004613e6d565b611347565b3480156108b5575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108e8575f80fd5b506107df7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091b575f80fd5b5060025461050090600160981b900463ffffffff1681565b34801561093e575f80fd5b5061047a61139b565b348015610952575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610985575f80fd5b506005546109a090600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610484565b3480156109c3575f80fd5b5061047a6109d2366004613e6d565b6001600160a01b03165f9081526008602052604090205490565b3480156109f7575f80fd5b50610612611401565b348015610a0b575f80fd5b506107df7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a3e575f80fd5b50610612611412565b348015610a52575f80fd5b50610612610a61366004613d99565b61143e565b348015610a71575f80fd5b50610612610a80366004613e30565b611457565b348015610a90575f80fd5b5060025461068a90600160d81b900461ffff1681565b348015610ab1575f80fd5b50610612610ac0366004613d99565b61149b565b348015610ad0575f80fd5b505f546001600160a01b03166107df565b348015610aec575f80fd5b50610612610afb366004613e88565b6114f7565b610612610b0e366004613ec6565b611842565b348015610b1e575f80fd5b506104a1611a05565b348015610b32575f80fd5b50610612610b41366004613e6d565b611a14565b348015610b51575f80fd5b50610612610b60366004613e30565b611a6a565b348015610b70575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ba3575f80fd5b506104cd610bb2366004613e6d565b611af4565b348015610bc2575f80fd5b506104cd610bd1366004613d99565b611b00565b348015610be1575f80fd5b5060025461068a90600160b81b900461ffff1681565b348015610c02575f80fd5b50610612610c11366004613e30565b611b3f565b348015610c21575f80fd5b50610c2a611bb5565b6040516104849190613f3e565b348015610c42575f80fd5b506104cd610c51366004613d99565b611bc1565b348015610c61575f80fd5b50610612610c70366004613e6d565b611bd2565b348015610c80575f80fd5b506005546109a0906001600160801b031681565b348015610c9f575f80fd5b5060025461068a90600160c81b900461ffff1681565b348015610cc0575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610cf3575f80fd5b50610cfc611c1f565b6040516104849190613f50565b348015610d14575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d47575f80fd5b506004546104cd90600160f81b900460ff1681565b348015610d67575f80fd5b5061047a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d9a575f80fd5b506104cd610da9366004613e30565b611c2b565b348015610db9575f80fd5b50610612610dc8366004613f93565b611c37565b348015610dd8575f80fd5b50610c2a611d8a565b348015610dec575f80fd5b5061047a610dfb366004613fb3565b611d96565b348015610e0b575f80fd5b506001546001600160a01b03166107df565b348015610e28575f80fd5b50610612610e37366004613e30565b611dc0565b348015610e47575f80fd5b506104cd610e56366004613e6d565b611e04565b348015610e66575f80fd5b506004546107df906001600160a01b031681565b348015610e85575f80fd5b50600454610ea090600160a01b90046001600160581b031681565b6040516001600160581b039091168152602001610484565b348015610ec3575f80fd5b50610612610ed2366004613e6d565b611e4b565b348015610ee2575f80fd5b5061047a611ed7565b348015610ef6575f80fd5b50610612610f05366004613e6d565b611ef8565b348015610f15575f80fd5b506107df7f000000000000000000000000000000000000000000000000000000000000000081565b348015610f48575f80fd5b50600354610f6390600160781b90046001600160701b031681565b6040516001600160701b039091168152602001610484565b348015610f86575f80fd5b506107df7f000000000000000000000000000000000000000000000000000000000000000081565b348015610fb9575f80fd5b5061047a611f68565b348015610fcd575f80fd5b50610612610fdc366004613e6d565b611fce565b5f610fea611f68565b6002546110029190600160c81b900461ffff16613ffe565b905090565b60606006805461101690614011565b80601f016020809104026020016040519081016040528092919081815260200182805461104290614011565b801561108d5780601f106110645761010080835404028352916020019161108d565b820191905f5260205f20905b81548152906001019060200180831161107057829003601f168201915b5050505050905090565b5f336110a481858561201b565b60019150505b92915050565b5f336110bd8582856120b8565b6110e08585856110cc89611e04565b806110db57506110db88611e04565b6120f2565b60019150505b9392505050565b5f806111005f546001600160a01b031690565b6001600160a01b031614801561114f575060025461114c907f000000000000000000000000000000000000000000000000000000000000000090600160781b900463ffffffff16613ffe565b42115b806111675750600254600160781b900463ffffffff16155b1561117157505f90565b50600190565b600254600160f81b900460ff161561119957611199636be9b2f760e01b612260565b6005546001600160801b0316156111ec57600580546fffffffffffffffffffffffffffffffff1981169091556004546001600160801b03909116906111ea9030906001600160a01b0316835f6120f2565b505b600554600160801b90046001600160801b03161561124c57600580546001600160801b03808216909255600160801b90041661124a307f0000000000000000000000000000000000000000000000000000000000000000835f6120f2565b505b565b611256612268565b6003546001600160e81b90910461ffff16101561127d5761127d636255fd8d60e01b612260565b6003805461ffff838116600160e81b90810261ffff60e81b198416179093556040519290910416907fe4351c45b53ffb7ebad0b66cc0f1a3dfe2963c099421eeaded141104df39206a906112e1908390859091825261ffff16602082015260400190565b60405180910390a15050565b5f336110a48185856112ff8383611d96565b6113099190613ffe565b61201b565b6005545f9061132f906001600160801b03600160801b820481169116614049565b6001600160801b0316905090565b61124a3382612289565b61134f612268565b61135a60108261234e565b506040516001600160a01b03821681527f59129d668a515d00b1370a4f7946e33e4e37ba79d4a0c38d68053f136f6f40fd906020015b60405180910390a150565b5f6113c97f000000000000000000000000000000000000000000000000000000000000000062015180614069565b6002546113e39190600160781b900463ffffffff16613ffe565b4211156113ef57505f90565b50600254600160d81b900461ffff1690565b611409612268565b61124c5f612362565b60015433906001600160a01b03168114611435576114356212b0c560e81b612260565b61124a81612362565b6114498233836120b8565b6114538282612289565b5050565b61145f612268565b61146a600c8261237b565b506040518181527fdd5aeaec2032ed464aed048b9014721d48de827cef3d77f78f0a76f1f0136dd490602001611390565b600254600160f81b900460ff16156114bd576114bd636be9b2f760e01b612260565b306001600160a01b038316036114dd576114dd63992501b360e01b612260565b600454611453906001600160a01b03848116911683612386565b6114ff612268565b60025461ffff600160b81b8204811691600160c81b9004811690841682101561153257611532637924ff4760e11b612260565b8061ffff168361ffff16111561155257611552637924ff4760e11b612260565b6002805463ffffffff60b81b1916600160b81b61ffff87811691820261ffff60c81b191692909217600160c81b878416021792839055600160d81b8304821692600160e81b9004909116905f036115b6576002805461ffff60d81b19169055611678565b5f6127106115e87f000000000000000000000000000000000000000000000000000000000000000061ffff8a16614069565b6115f29190614080565b90507f000000000000000000000000000000000000000000000000000000000000000081101561165b576002805461ffff60d81b1916600160d81b7f000000000000000000000000000000000000000000000000000000000000000061ffff1602179055611676565b6002805461ffff60d81b1916600160d81b61ffff8416021790555b505b8461ffff165f03611696576002805461ffff60e81b19169055611758565b5f6127106116c87f000000000000000000000000000000000000000000000000000000000000000061ffff8916614069565b6116d29190614080565b90507f000000000000000000000000000000000000000000000000000000000000000081101561173b576002805461ffff60e81b1916600160e81b7f000000000000000000000000000000000000000000000000000000000000000061ffff1602179055611756565b6002805461ffff60e81b1916600160e81b61ffff8416021790555b505b60025461ffff838116600160d81b90920416141580611787575060025461ffff828116600160e81b9092041614155b156117ec576002546040805161ffff8581168252600160d81b84048116602083015284811682840152600160e81b9093049092166060830152517fc62aec06e6c0bd9801f57464e310b42dd2d884cbfaf006c84a761b622aea4f089181900360800190a15b6040805161ffff86811682528881166020830152858116828401528716606082015290517f8da1f77a22734510b762a9625e69e737d7c0cc48984e810e5802fb341eb80a3e9181900360800190a1505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331480159061188557505f546001600160a01b03163314155b80156118ba57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314155b156118cf576118cf630a1c4bd560e41b612260565b5f546001600160a01b03163314801561191057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b15611925576119256315608c1960e31b612260565b6004545f90600160f81b900460ff1615801561194357506001821515145b1561195e57600480546001600160f81b0316600160f81b1790555b600454600160f81b900460ff161561198e57345f0361198757611987633cb00bd760e11b612260565b50346119b2565b3484106119a5576119a5633cb00bd760e11b612260565b6119af843461409f565b90505b600454600160a01b90046001600160581b03168311156119f557600480546affffffffffffffffffffff60a01b1916600160a01b6001600160581b038616021790555b6119ff81856123d8565b50505050565b60606007805461101690614011565b611a1c612268565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fa4eea51cd2f21eac6612ba054a363ae2fd59698fc258ab414313cd73f69f2b8590602001611390565b600254600160f81b900460ff1615611a8c57611a8c636be9b2f760e01b612260565b6004546040515f916001600160a01b03169083908381818185875af1925050503d805f8114611ad6576040519150601f19603f3d011682016040523d82523d5f602084013e611adb565b606091505b5050905080611453576114536312171d8360e31b612260565b5f6110aa6010836125f1565b5f3381611b0d8286611d96565b905083811015611b2757611b27637b5591b560e11b612260565b611b34828686840361201b565b506001949350505050565b600254600160f81b900460ff1615611b6157611b61636be9b2f760e01b612260565b5f611b6a61130e565b305f90815260086020526040902054611b83919061409f565b905080821115611b9d57611b9d63339cee2160e01b612260565b6004546114539030906001600160a01b031684612386565b60606110026010612612565b5f336110a48185856110cc83611e04565b611bda612268565b611be5600e8261261e565b506040516001600160a01b03821681527f59c3fbcae88f30e9b0e35c132a7f68c53231dffa4722f197c7ecb0ee013eee6090602001611390565b6060611002600c612612565b5f6110aa600c83612632565b611c3f612268565b6001600160781b03811115611c5e57611c5e6342027b1360e11b612260565b6001600160781b03821115611c7d57611c7d6342027b1360e11b612260565b6003546001600160701b03600160781b820416906001600160781b031681158015611ca757508315155b80611cba575080158015611cba57508215155b15611ccf57611ccf63299e73c360e11b612260565b8315801590611cdd57508184105b80611cf157508215801590611cf157508083105b15611d0657611d0663299e73c360e11b612260565b600380546001600160e81b031916600160781b6001600160701b038716026001600160781b031916176001600160781b0385161790556040805183815260208101869052908101829052606081018490527fe3eb5d4eccdae2d96efa105f65c8db865f9fc72984f2b879a27448fed50d18159060800160405180910390a150505050565b6060611002600e612612565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b611dc8612268565b611dd3600c82612649565b506040518181527ff7d7abaf8b0e82705f2ef671054dd11a306d870da0bbb8be1ff24bd0096de7ba90602001611390565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806110aa57506110aa600e836125f1565b611e53612268565b6001600160a01b038116611e7157611e7163b47cdee560e01b612260565b806001600160a01b03163b5f03611e9257611e92630f9da0c760e41b612260565b611e9d600e8261234e565b506040516001600160a01b03821681527fb893f883ef734b712208a877459424ee509832c57e0461fb1ac99ed4d42f2d8990602001611390565b5f611ee061139b565b6002546110029190600160b81b900461ffff16613ffe565b611f00612268565b600180546001600160a01b0383166001600160a01b03199091168117909155611f305f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f611f967f000000000000000000000000000000000000000000000000000000000000000062015180614069565b600254611fb09190600160781b900463ffffffff16613ffe565b421115611fbc57505f90565b50600254600160e81b900461ffff1690565b611fd6612268565b611fe160108261261e565b506040516001600160a01b03821681527fb2ed7b6d5164de63737cc48d793bf899607480780433a1a2eb2b7b99dec2732090602001611390565b6001600160a01b038316612039576120396356fdae6560e11b612260565b6001600160a01b0382166120575761205763b2fa1ef360e01b612260565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f6120c38484611d96565b90505f1981146119ff57818110156120e5576120e56313be252b60e01b612260565b6119ff848484840361201b565b5f6120fe858585612654565b905061210a85856127e2565b5f61211486611e04565b1561217a57325f908152600b6020908152604080832043845290915290205460011161214a5761214a6301ae70bf60e01b612260565b325f908152600b602090815260408083204384529091528120805460019290612174908490613ffe565b90915550505b612183866128e0565b1561219e5750600380546001600160f81b03169055826121ba565b6121aa838688876128ff565b90506121b7868583612c30565b90505b6121c5868683612db2565b6121cf848361409f565b6001600160a01b038088165f908152600860205260408082209390935590871681529081208054839290612204908490613ffe565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161225091815260200190565b60405180910390a3505050505050565b805f5260045ffd5b5f546001600160a01b0316331461124c5761124c633e8be92f60e01b612260565b6001600160a01b0382166122a7576122a76304fca6bd60e41b612260565b6001600160a01b0382165f90815260086020526040902054818110156122d7576122d763588569f760e01b612260565b6001600160a01b0383165f818152600860205260408082208585039055600280546001600160781b03808216889003166001600160781b0319909116179055519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120ab9086815260200190565b505050565b5f6110e6836001600160a01b038416612e5b565b600180546001600160a01b031916905561124a81612ea7565b5f6110e68383612ef6565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612349908490612fe0565b600254600160781b900463ffffffff16156123fd576123fd63b1f3376760e01b612260565b600280544363ffffffff908116600160981b0263ffffffff60981b194292909216600160781b029190911667ffffffffffffffff60781b1990921691909117179055305f908152600860205260409020545f03612464576124646330d86fb160e11b612260565b612490307f00000000000000000000000000000000000000000000000000000000000000005f1961201b565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71986306124e2306001600160a01b03165f9081526008602052604090205490565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f6044820181905260648201523060848201524260a482015260c40160606040518083038185885af1158015612543573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061256891906140b2565b604080518481526020810184905290810182905292955090935091507fbf59dda00152e02f20e18cab7307c8afe0714e7f69cf24a1377cbbddcb40f9bb9060600160405180910390a1600280546001600160f81b03169055600454600160f81b900460ff16156125e0576125db81613062565b6125ea565b6125ea8482613121565b5050505050565b6001600160a01b0381165f90815260018301602052604081205415156110e6565b60605f6110e68361339b565b5f6110e6836001600160a01b038416612ef6565b5f81815260018301602052604081205415156110e6565b5f6110e68383612e5b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614801561269f57506001600160a01b0384163014155b80156126b85750600254600160781b900463ffffffff16155b156126cd576126cd630d970b4560e21b612260565b6001600160a01b0384166126eb576126eb630b07e54560e11b612260565b6001600160a01b03831661270957612709633a954ecd60e21b612260565b506001600160a01b0383165f908152600860205260409020548181101561273a5761273a635dd58b8b60e01b612260565b6127426110ed565b801561275f5750600354600160781b90046001600160701b031615155b80156127a2575061276f84611e04565b8015612781575061277f83611af4565b155b806127a2575061279083611e04565b80156127a257506127a084611af4565b155b156110e6576003546001600160701b03600160781b9091041664174876e80001808311156127da576127da635eb9ebe760e11b612260565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000015611453575f61281161130e565b60035460025491925082915f916127109161284091600160e81b900461ffff16906001600160781b03166140dd565b6001600160781b03166128539190614080565b9050612861858584846133f4565b156125ea57600280546001600160f81b0316600160f81b179055435f908152600a6020526040812080546001929061289a908490613ffe565b909155506128ab9050601482614069565b8211156128c0576128bd601482614069565b91505b6128ca82846134c0565b600280546001600160f81b031690555050505050565b6003545f90600160f81b900460ff1680156110aa57506110aa82611e04565b807f0000000000000000000000000000000000000000000000000000000000000000801561292a5750845b80156129405750600254600160f81b900460ff16155b15612c28575f61294f85611e04565b801561296157505f61295f610fe1565b115b15612a7d57600254600160c81b900461ffff16156129f4576002545f906127109061299790600160c81b900461ffff1686614069565b6129a19190614080565b6005805491925082915f906129c09084906001600160801b0316614049565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080826129f09190613ffe565b9150505b5f6129fd611f68565b90508015612a77575f612710612a138387614069565b612a1d9190614080565b905080600560108282829054906101000a90046001600160801b0316612a439190614049565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508083612a739190613ffe565b9250505b50612bb0565b612a8684611e04565b8015612a9857505f612a96611ed7565b115b15612bb057600254600160b81b900461ffff1615612b2b576002545f9061271090612ace90600160b81b900461ffff1686614069565b612ad89190614080565b6005805491925082915f90612af79084906001600160801b0316614049565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508082612b279190613ffe565b9150505b5f612b3461139b565b90508015612bae575f612710612b4a8387614069565b612b549190614080565b905080600560108282829054906101000a90046001600160801b0316612b7a9190614049565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508083612baa9190613ffe565b9250505b505b8015612c2657305f9081526008602052604081208054839290612bd4908490613ffe565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3612c23818361409f565b91505b505b949350505050565b807f000000000000000000000000000000000000000000000000000000000000000015801590612c7f57507f000000000000000000000000000000000000000000000000000000000000000015155b8015612c955750600254600160f81b900460ff16155b8015612ca55750612ca584611e04565b156110e6576002545f90612cc690600160981b900463ffffffff164361409f565b90507f00000000000000000000000000000000000000000000000000000000000000008110156127da575f612d1b827f000000000000000000000000000000000000000000000000000000000000000061409f565b90505f612d687f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614080565b90505f612d758284614069565b90505f612710612d85838a614069565b612d8f9190614080565b9050612d9b8982612289565b612da5818761409f565b9998505050505050505050565b612dba6110ed565b8015612dd057506003546001600160781b031615155b8015612de25750612de082611af4565b155b8015612e045750612df283611e04565b8015612e045750612e0282611af4565b155b15612349576003546001600160781b031664174876e8000180612e3b846001600160a01b03165f9081526008602052604090205490565b612e459084613ffe565b11156119ff576119ff633b016a6d60e11b612260565b5f818152600183016020526040812054612ea057508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556110aa565b505f6110aa565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8181526001830160205260408120548015612fd0575f612f1860018361409f565b85549091505f90612f2b9060019061409f565b9050818114612f8a575f865f018281548110612f4957612f49614108565b905f5260205f200154905080875f018481548110612f6957612f69614108565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080612f9b57612f9b61411c565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506110aa565b5f9150506110aa565b5092915050565b5f613020826040518060400160405280600981526020016818d85b1b0819985a5b60ba1b815250856001600160a01b0316613c069092919063ffffffff16565b905080515f141580156130445750808060200190518101906130429190614130565b155b15612349576040516308575cad60e01b815260040160405180910390fd5b60405163a9059cbb60e01b81525f6004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af11580156130cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f09190614130565b506040518181527f781a9d251db551fc7922f7facbbe49bc3fd61d3e236a8dafa34afd0539ebfa7290602001611390565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af11580156131ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131d19190614130565b506040516370a0823160e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691638af416f69185917f0000000000000000000000000000000000000000000000000000000000000000918216906370a0823190602401602060405180830381865afa158015613262573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613286919061414b565b6004546132a690600160a01b90046001600160581b031662015180614162565b6132b9906001600160581b031642613ffe565b60405160e086901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925260448201525f6064820152600160848201527f000000000000000000000000000000000000000000000000000000000000000090911660a482015260c4015f604051808303818588803b15801561333a575f80fd5b505af115801561334c573d5f803e3d5ffd5b505060045460408051868152600160a01b9092046001600160581b031660208301527fcb75aa8347c098d414422e8cafbbe4e2c1a229f5b27bf425984b2b9792aa787a94500191506112e19050565b6060815f018054806020026020016040519081016040528092919081815260200182805480156133e857602002820191905f5260205f20905b8154815260200190600101908083116133d4575b50505050509050919050565b5f81831015801561340f5750600254600160f81b900460ff16155b8015613421575061341f85611e04565b155b801561345f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b801561349d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b80156134b75750435f908152600a60205260409020546001115b95945050505050565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f815181106134f7576134f7614108565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613573573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135979190614185565b816001815181106135aa576135aa614108565b6001600160a01b0392831660209182029290920101527f00000000000000000000000000000000000000000000000000000000000000001663791ac947855f84306135f742610258613ffe565b6040518663ffffffff1660e01b81526004016136179594939291906141a0565b5f604051808303815f87803b15801561362e575f80fd5b505af192505050801561363f575060015b61366957604051600581525f805160206142178339815191529060200160405180910390a16119ff565b475f613675848361409f565b6005549091505f908690613692906001600160801b031684614069565b61369c9190614080565b6005549091505f9087906136c090600160801b90046001600160801b031685614069565b6136ca9190614080565b905086881015613794576005545f9088906136ef908b906001600160801b0316614069565b6136f99190614080565b6005805491925082915f906137189084906001600160801b03166141db565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508089613748919061409f565b6005805460109061376a908490600160801b90046001600160801b03166141db565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050613799565b5f6005555b5f808084156139ae575a61c350116137b35761c3506137b5565b5a5b6004546040519192506001600160a01b031690829087905f818181858888f193505050503d805f8114613803576040519150601f19603f3d011682016040523d82523d5f602084013e613808565b606091505b505080935050826139ae576001600160a01b0382166138a4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561387d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138a19190614185565b91505b816001600160a01b031663d0e30db0866040518263ffffffff1660e01b81526004015f604051808303818588803b1580156138dd575f80fd5b505af1935050505080156138ef575060015b61391a57604051600281525f80516020614217833981519152906020015b60405180910390a16139ae565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820187905283169063a9059cbb906044016020604051808303815f875af192505050801561398a575060408051601f3d908101601f1916820190925261398791810190614130565b60015b6139ac57604051600181525f805160206142178339815191529060200161390d565b505b8315613bf9575a61c350116139c55761c3506139c7565b5a5b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168482906040515f60405180830381858888f193505050503d805f8114613a34576040519150601f19603f3d011682016040523d82523d5f602084013e613a39565b606091505b50508093505082613bf9576001600160a01b038216613ad5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613aae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ad29190614185565b91505b816001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b158015613b0e575f80fd5b505af193505050508015613b20575060015b613b4b57604051600481525f80516020614217833981519152906020015b60405180910390a1613bf9565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905283169063a9059cbb906044016020604051808303815f875af1925050508015613bd5575060408051601f3d908101601f19168201909252613bd291810190614130565b60015b613bf757604051600381525f8051602061421783398151915290602001613b3e565b505b5050505050505050505050565b6060612c2884845f8585613c1e565b60405180910390fd5b5f80866001600160a01b03168587604051613c3991906141fb565b5f6040518083038185875af1925050503d805f8114613c73576040519150601f19603f3d011682016040523d82523d5f602084013e613c78565b606091505b5091509150613c8987838387613c94565b979650505050505050565b60608315613d025782515f03613cfb576001600160a01b0385163b613cfb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401613c15565b5081612c28565b612c288383815115613d175781518083602001fd5b8060405162461bcd60e51b8152600401613c159190613d53565b5f5b83811015613d4b578181015183820152602001613d33565b50505f910152565b602081525f8251806020840152613d71816040850160208701613d31565b601f01601f19169190910160400192915050565b6001600160a01b038116811461124a575f80fd5b5f8060408385031215613daa575f80fd5b8235613db581613d85565b946020939093013593505050565b5f805f60608486031215613dd5575f80fd5b8335613de081613d85565b92506020840135613df081613d85565b929592945050506040919091013590565b803561ffff81168114613e12575f80fd5b919050565b5f60208284031215613e27575f80fd5b6110e682613e01565b5f60208284031215613e40575f80fd5b5035919050565b6020810160028310613e6757634e487b7160e01b5f52602160045260245ffd5b91905290565b5f60208284031215613e7d575f80fd5b81356110e681613d85565b5f8060408385031215613e99575f80fd5b613ea283613e01565b9150613eb060208401613e01565b90509250929050565b801515811461124a575f80fd5b5f805f60608486031215613ed8575f80fd5b83359250602084013591506040840135613ef181613eb9565b809150509250925092565b5f8151808452602080850194508084015f5b83811015613f335781516001600160a01b031687529582019590820190600101613f0e565b509495945050505050565b602081525f6110e66020830184613efc565b602080825282518282018190525f9190848201906040850190845b81811015613f8757835183529284019291840191600101613f6b565b50909695505050505050565b5f8060408385031215613fa4575f80fd5b50508035926020909101359150565b5f8060408385031215613fc4575f80fd5b8235613fcf81613d85565b91506020830135613fdf81613d85565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156110aa576110aa613fea565b600181811c9082168061402557607f821691505b60208210810361404357634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160801b03818116838216019080821115612fd957612fd9613fea565b80820281158282048414176110aa576110aa613fea565b5f8261409a57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156110aa576110aa613fea565b5f805f606084860312156140c4575f80fd5b8351925060208401519150604084015190509250925092565b6001600160781b0381811683821602808216919082811461410057614100613fea565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215614140575f80fd5b81516110e681613eb9565b5f6020828403121561415b575f80fd5b5051919050565b6001600160581b0381811683821602808216919082811461410057614100613fea565b5f60208284031215614195575f80fd5b81516110e681613d85565b85815284602082015260a060408201525f6141be60a0830186613efc565b6001600160a01b0394909416606083015250608001529392505050565b6001600160801b03828116828216039080821115612fd957612fd9613fea565b5f825161420c818460208701613d31565b919091019291505056fe60dc41faad9fe4f70f304dcef26d96d71e98ec8e21e4a340921d94dfe46307dca2646970667358221220945df8dbc3442567d2a70a466875d027d2a458c381abb038cfa1df7596d75f0c64736f6c6343000815003300000000000000000000000046d3eb536bf3136f878c8702237ccbb235a845b90000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000663a5c229c09b049e36dcc11a9b0d4a8eb9db2140000000000000000000000008cdd488363de72635b55bb263cc4c29041e6aa1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000005800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094368617274204875620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000343485400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000002faf0800000000000000000000000000000000000000000000000000000000000bebc2000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000bbf81e00000000000000000000000000887a8e089fe19f2f8c1ad58f888f65a470bcef3500000000000000000000000046d3eb536bf3136f878c8702237ccbb235a845b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000009c400000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000ec6d7c7724589b56b71186a1e5ca5a9815110232000000000000000000000000de3ff2a50bd1ba1bd6a608ea0138946dddf595bc0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000