60a060405269d3c21bcecceda100000060075560075460085561271060075460646200002c91906200069c565b620000389190620006bc565b600955620186a060075460016200005091906200069c565b6200005c9190620006bc565b600b556040805160e081018252636261736560e01b8152600160208201819052918101829052600960608201819052608082015260a0810182905260c00152600f80546001600160e81b031916690101090901016261736560981b179055348015620000c757600080fd5b506040518060400160405280600f81526020016e233ab734b1bab630b9102a37b5b2b760891b81525060405180604001604052806009815260200168232aa724a1aaa620a960b91b815250600062000124620004bc60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060046200017c838262000783565b5060056200018b828262000783565b505060008054600c80546001600160a01b039092166001600160a01b03199283168117909155600d8054831682179055600e80549092161790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9350839163c45a01559160048083019260209291908290030181865afa15801562000219573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023f91906200084f565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b391906200084f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000301573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032791906200084f565b600680546001600160a01b0319166001600160a01b0385811691909117909155811660805290506200035b816001620004c0565b600160176000620003746000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526017909252812080549092166001908117909255601590620003cd6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308082526015855283822080548716600190811790915560188652848320805488168217905587841683526019958690528483208054881682179055600654909316825283822080548716841790558152918220805490941681179093556200046c6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620004b4620004ab6000546001600160a01b031690565b600754620005bc565b505062000897565b3390565b6001600160a01b0382166000908152601a602052604090205481151560ff909116151503620005685760405162461bcd60e51b815260206004820152604360248201527f46756e6963756c61723a204175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320616c72656164792073657420746f20746861742076616064820152626c756560e81b608482015260a4015b60405180910390fd5b6001600160a01b0382166000818152601a6020526040808220805460ff191685151590811790915590519092917fa666b9b2dc2c8f2d86fda7ba3a115be30d3a958fd84d359cbc6bc919df97990a91a35050565b6001600160a01b038216620006145760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200055f565b806003600082825462000628919062000881565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006b657620006b662000686565b92915050565b600082620006da57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200070a57607f821691505b6020821081036200072b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200068157600081815260208120601f850160051c810160208610156200075a5750805b601f850160051c820191505b818110156200077b5782815560010162000766565b505050505050565b81516001600160401b038111156200079f576200079f620006df565b620007b781620007b08454620006f5565b8462000731565b602080601f831160018114620007ef5760008415620007d65750858301515b600019600386901b1c1916600185901b1785556200077b565b600085815260208120601f198616915b828110156200082057888601518255948401946001909101908401620007ff565b50858210156200083f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200086257600080fd5b81516001600160a01b03811681146200087a57600080fd5b9392505050565b80820180821115620006b657620006b662000686565b6080516136fd620008b360003960006104e101526136fd6000f3fe60806040526004361061028c5760003560e01c806375cb1bd11161015a578063aee50b1e116100c1578063d32215761161007a578063d3221576146107e7578063dd62ed3e14610807578063e625724614610827578063f2fde38b14610847578063fd72e22a14610867578063fe0175351461088757600080fd5b8063aee50b1e146106ed578063b62496f51461070d578063bea9849e1461073d578063c02466681461075d578063cd43e2281461077d578063d2d7ad83146107d157600080fd5b80638da5cb5b116101135780638da5cb5b14610644578063924241e31461066257806395d89b4114610682578063a457c2d714610697578063a9059cbb146106b7578063aa4bde28146106d757600080fd5b806375cb1bd11461058e57806376dca835146105ae578063781edb3c146105ce5780637c0a893d146105ee578063880bcbc11461060e5780638c0b5e221461062e57600080fd5b806327a14fc2116101fe57806345a42329116101b757806345a42329146104af57806349bd5a5e146104cf5780634d78fdc6146105035780634f225e6d1461052357806370a0823114610543578063715018a61461057957600080fd5b806327a14fc2146104135780632cc25d1414610433578063313ce5671461044857806334cf1fea14610464578063378dc3dc14610479578063395093511461048f57600080fd5b806314fbc5f31161025057806314fbc5f3146103475780631694505e1461036657806318160ddd1461039e5780631e293c10146103bd5780631fcfefcd146103dd57806323b872dd146103f357600080fd5b8063064a59d01461029857806306fdde03146102ce578063095ea7b3146102f0578063098df585146103105780630bd05b691461033257600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506006546102b990600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b3480156102da57600080fd5b506102e36108bb565b6040516102c5919061315b565b3480156102fc57600080fd5b506102b961030b3660046131c1565b61094d565b34801561031c57600080fd5b5061033061032b3660046131ed565b610967565b005b34801561033e57600080fd5b50610330610b13565b34801561035357600080fd5b506010546102b990610100900460ff1681565b34801561037257600080fd5b50600654610386906001600160a01b031681565b6040516001600160a01b0390911681526020016102c5565b3480156103aa57600080fd5b506003545b6040519081526020016102c5565b3480156103c957600080fd5b506103306103d83660046131ed565b610ba0565b3480156103e957600080fd5b506103af60135481565b3480156103ff57600080fd5b506102b961040e366004613206565b610c69565b34801561041f57600080fd5b5061033061042e3660046131ed565b610c8d565b34801561043f57600080fd5b50610330610d5a565b34801561045457600080fd5b50604051601281526020016102c5565b34801561047057600080fd5b50610330611032565b34801561048557600080fd5b506103af60075481565b34801561049b57600080fd5b506102b96104aa3660046131c1565b611099565b3480156104bb57600080fd5b506103306104ca366004613255565b6110bb565b3480156104db57600080fd5b506103867f000000000000000000000000000000000000000000000000000000000000000081565b34801561050f57600080fd5b5061033061051e36600461328e565b6111db565b34801561052f57600080fd5b50600d54610386906001600160a01b031681565b34801561054f57600080fd5b506103af61055e36600461328e565b6001600160a01b031660009081526001602052604090205490565b34801561058557600080fd5b506103306112c4565b34801561059a57600080fd5b506103306105a93660046132b2565b611338565b3480156105ba57600080fd5b506103306105c9366004613313565b611653565b3480156105da57600080fd5b506103306105e9366004613255565b6116f7565b3480156105fa57600080fd5b5061033061060936600461328e565b6117b9565b34801561061a57600080fd5b50610330610629366004613255565b61192c565b34801561063a57600080fd5b506103af60085481565b34801561065057600080fd5b506000546001600160a01b0316610386565b34801561066e57600080fd5b50600c54610386906001600160a01b031681565b34801561068e57600080fd5b506102e36119ee565b3480156106a357600080fd5b506102b96106b23660046131c1565b6119fd565b3480156106c357600080fd5b506102b96106d23660046131c1565b611a78565b3480156106e357600080fd5b506103af60095481565b3480156106f957600080fd5b506103306107083660046131ed565b611a86565b34801561071957600080fd5b506102b961072836600461328e565b601a6020526000908152604090205460ff1681565b34801561074957600080fd5b5061033061075836600461328e565b611b5a565b34801561076957600080fd5b50610330610778366004613255565b611c56565b34801561078957600080fd5b50600f5460ff600160b81b8204811691600160c81b8104821691600160d81b909104165b6040805160ff948516815292841660208401529216918101919091526060016102c5565b3480156107dd57600080fd5b506103af600b5481565b3480156107f357600080fd5b50610330610802366004613255565b611d18565b34801561081357600080fd5b506103af610822366004613356565b611d9a565b34801561083357600080fd5b50610330610842366004613313565b611dc5565b34801561085357600080fd5b5061033061086236600461328e565b611e19565b34801561087357600080fd5b50600e54610386906001600160a01b031681565b34801561089357600080fd5b50600f5460ff600160c01b8204811691600160d01b8104821691600160e01b909104166107ad565b6060600480546108ca90613384565b80601f01602080910402602001604051908101604052809291908181526020018280546108f690613384565b80156109435780601f1061091857610100808354040283529160200191610943565b820191906000526020600020905b81548152906001019060200180831161092657829003601f168201915b5050505050905090565b60003361095b818585611f03565b60019150505b92915050565b6000546001600160a01b0316331461099a5760405162461bcd60e51b8152600401610991906133be565b60405180910390fd5b47811115610a045760405162461bcd60e51b815260206004820152603160248201527f46756e6963756c61723a2043616e6e6f742073656e64206d6f7265207468616e60448201527020636f6e74726163742062616c616e636560781b6064820152608401610991565b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114610a51576040519150601f19603f3d011682016040523d82523d6000602084013e610a56565b606091505b505090508015610b0f57600654604080516315ab88c960e31b815290517fb16273d5dd95f4997020a9e2e429331d472940f09fe08af28db9672639cc251d926001600160a01b03169163ad5c46489160048083019260209291908290030181865afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed91906133f3565b604080516001600160a01b039092168252602082018590520160405180910390a15b5050565b6000546001600160a01b03163314610b3d5760405162461bcd60e51b8152600401610991906133be565b6006805460ff60a01b1916600160a01b179055601254600003610b705743601255426011556010805460ff191660011790555b6040516000906001907fa0f694e30e34d9f05d12691b612650129ed8888d1f93b25fa0cd92e4416a8338908390a3565b6000546001600160a01b03163314610bca5760405162461bcd60e51b8152600401610991906133be565b6008548103610c365760405162461bcd60e51b815260206004820152603260248201527f46756e6963756c61723a2043616e6e6f7420757064617465206d61785478416d6044820152716f756e7420746f2073616d652076616c756560701b6064820152608401610991565b60085460405182907f75f1c17bf623f0f7a2bd91ba61e89dff216960370e3e9a46b250750d03e4215e90600090a3600855565b600033610c77858285612027565b610c828585856120a1565b506001949350505050565b6000546001600160a01b03163314610cb75760405162461bcd60e51b8152600401610991906133be565b6009548103610d275760405162461bcd60e51b815260206004820152603660248201527f46756e6963756c61723a2043616e6e6f7420757064617465206d617857616c6c6044820152756574416d6f756e7420746f2073616d652076616c756560501b6064820152608401610991565b60095460405182907f6d3e257c59a11116c3e97bb144abf5ba1a6a9da6bd509192ecf0d48f7be1fc7690600090a3600955565b6000546001600160a01b03163314610d845760405162461bcd60e51b8152600401610991906133be565b600060115411610de25760405162461bcd60e51b8152602060048201526024808201527f46756e6963756c61723a204c61756e6368206d7573742068617665206f6363756044820152631c9c995960e21b6064820152608401610991565b601054610100900460ff1615610e555760405162461bcd60e51b815260206004820152603260248201527f46756e6963756c61723a204c61756e636820746f6b656e73206861766520616c6044820152711c9958591e481899595b8818db185a5b595960721b6064820152608401610991565b600560125443610e659190613426565b11610ecb5760405162461bcd60e51b815260206004820152603060248201527f46756e6963756c61723a204f6e6c7920636c61696d206c61756e636820746f6b60448201526f0cadce640c2cce8cae440d8c2eadcc6d60831b6064820152608401610991565b306000908152600160205260409020546010805461ff001916610100179055601354811015610f575760405162461bcd60e51b815260206004820152603260248201527f46756e6963756c61723a2041207377617020616e64206c6971756966792068616044820152711cc8185b1c9958591e481bd8d8dd5c9c995960721b6064820152608401610991565b60138054600091829055903063a9059cbb610f7a6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af1158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610feb9190613439565b9050801561102d5760408051308152602081018490527fb16273d5dd95f4997020a9e2e429331d472940f09fe08af28db9672639cc251d910160405180910390a15b505050565b6000546001600160a01b0316331461105c5760405162461bcd60e51b8152600401610991906133be565b6006805460ff60a01b191690556040516001906000907fa0f694e30e34d9f05d12691b612650129ed8888d1f93b25fa0cd92e4416a8338908290a3565b60003361095b8185856110ac8383611d9a565b6110b69190613456565b611f03565b6000546001600160a01b031633146110e55760405162461bcd60e51b8152600401610991906133be565b6001600160a01b03821660009081526016602052604090205481151560ff90911615150361117b5760405162461bcd60e51b815260206004820152603b60248201527f46756e6963756c61723a205468652073656c65637465642077616c6c6574206960448201527f7320616c72656164792073657420746f207468652076616c75652000000000006064820152608401610991565b6001600160a01b038216600081815260166020908152604091829020805460ff191685151590811790915591519182527fe70512a569cf898db2e20aa3b4cc3f0dd13377b82a493840d326ab5a1966687791015b60405180910390a25050565b6000546001600160a01b031633146112055760405162461bcd60e51b8152600401610991906133be565b6001600160a01b03811660009081526014602052604090205460ff166112775760405162461bcd60e51b815260206004820152602160248201527f46756e6963756c61723a204163636f756e74206973206e6f7420626c636f6b656044820152601960fa1b6064820152608401610991565b6001600160a01b038116600081815260146020526040808220805460ff19169055519091907f2f092974a5a89dc001cc04aa60bc3afe575e0b7444ef2197f7bb5714b51528ba908390a350565b6000546001600160a01b031633146112ee5760405162461bcd60e51b8152600401610991906133be565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146113625760405162461bcd60e51b8152600401610991906133be565b600c546001600160a01b0384811691161461145b576001600160a01b0383166113e15760405162461bcd60e51b815260206004820152602b60248201527f46756e6963756c61723a20546865206c69717569646974793157616c6c65742060448201526a063616e6e6f7420626520360ac1b6064820152608401610991565b600c546040516f1b1a5c5d5a591a5d1e4c55d85b1b195d60821b81526001600160a01b0391821691851690601001604051908190038120907f4af24be54adc5e716fbcaa3fca0ad593e28dff90dffd49487c0a33b1547c6b5290600090a4600c80546001600160a01b0319166001600160a01b0385161790555b600d546001600160a01b03838116911614611554576001600160a01b0382166114da5760405162461bcd60e51b815260206004820152602b60248201527f46756e6963756c61723a20546865206c69717569646974793257616c6c65742060448201526a063616e6e6f7420626520360ac1b6064820152608401610991565b600d546040516f1b1a5c5d5a591a5d1e4c95d85b1b195d60821b81526001600160a01b0391821691841690601001604051908190038120907f4af24be54adc5e716fbcaa3fca0ad593e28dff90dffd49487c0a33b1547c6b5290600090a4600d80546001600160a01b0319166001600160a01b0384161790555b600e546001600160a01b0382811691161461102d576001600160a01b0381166115d35760405162461bcd60e51b815260206004820152602b60248201527f46756e6963756c61723a20546865206f7065726174696f6e7357616c6c65742060448201526a063616e6e6f7420626520360ac1b6064820152608401610991565b600e546040516f1bdc195c985d1a5bdb9cd5d85b1b195d60821b81526001600160a01b0391821691831690601001604051908190038120907f4af24be54adc5e716fbcaa3fca0ad593e28dff90dffd49487c0a33b1547c6b5290600090a4600e80546001600160a01b0383166001600160a01b0319909116179055505050565b6000546001600160a01b0316331461167d5760405162461bcd60e51b8152600401610991906133be565b61168a600f8484846125e2565b6040516c18985cd95199595ccb54d95b1b609a1b8152600d015b6040805191829003822060ff86811684528581166020850152841683830152905190917f0fc5b99eebb78c10fca186b25746da968ffa81b56e2a79e89fd5ed16f238b576919081900360600190a2505050565b6000546001600160a01b031633146117215760405162461bcd60e51b8152600401610991906133be565b6001600160a01b03821660009081526019602052604090205481151560ff9091161515036117615760405162461bcd60e51b815260040161099190613469565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527ff5133f371b17bf21ce0df4ae2c1b6e11ca7c2f27257eb55282edb1ccfd4ecb2e91016111cf565b6000546001600160a01b031633146117e35760405162461bcd60e51b8152600401610991906133be565b6001600160a01b03811660009081526014602052604090205460ff161561185a5760405162461bcd60e51b815260206004820152602560248201527f46756e6963756c61723a204163636f756e7420697320616c726561647920626c6044820152641bd8dad95960da1b6064820152608401610991565b60105460ff16156118da576202a300601154426118779190613426565b106118da5760405162461bcd60e51b815260206004820152602d60248201527f46756e6963756c61723a2054696d6520746f20626c6f636b206163636f756e7460448201526c1cc81a185cc8195e1c1a5c9959609a1b6064820152608401610991565b6001600160a01b038116600081815260146020526040808220805460ff1916600190811790915590519092917f2f092974a5a89dc001cc04aa60bc3afe575e0b7444ef2197f7bb5714b51528ba91a350565b6000546001600160a01b031633146119565760405162461bcd60e51b8152600401610991906133be565b6001600160a01b03821660009081526018602052604090205481151560ff9091161515036119965760405162461bcd60e51b815260040161099190613469565b6001600160a01b038216600081815260186020908152604091829020805460ff191685151590811790915591519182527f30098fc83ab61b1a98835d32c4e611adedccfc260eeef586bd329d48e8a40a4091016111cf565b6060600580546108ca90613384565b60003381611a0b8286611d9a565b905083811015611a6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610991565b610c828286868403611f03565b60003361095b8185856120a1565b6000546001600160a01b03163314611ab05760405162461bcd60e51b8152600401610991906133be565b600b548103611b275760405162461bcd60e51b815260206004820152603e60248201527f46756e6963756c61723a2043616e6e6f7420757064617465206d696e696d756d60448201527f546f6b656e734265666f72655377617020746f2073616d652076616c756500006064820152608401610991565b600b5460405182907f5b0491f767c1463bea8972339f785795be1a38784cc6483cf649cdcbb28c46b090600090a3600b55565b6000546001600160a01b03163314611b845760405162461bcd60e51b8152600401610991906133be565b6006546001600160a01b0390811690821603611bf95760405162461bcd60e51b815260206004820152602e60248201527f46756e6963756c61723a2054686520726f7574657220616c726561647920686160448201526d732074686174206164647265737360901b6064820152608401610991565b6006546040516001600160a01b03918216918316907f2afbff3ed601a8723765c7072d8ea8445e08f6f1874afd34a2b747a272c3ebad90600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611c805760405162461bcd60e51b8152600401610991906133be565b6001600160a01b03821660009081526017602052604090205481151560ff909116151503611cc05760405162461bcd60e51b815260040161099190613469565b6001600160a01b038216600081815260176020908152604091829020805460ff191685151590811790915591519182527fa856ba9fdc54a5434b2359874c95612f520a2d7f858864ae98d15c1b2099ca8b91016111cf565b6000546001600160a01b03163314611d425760405162461bcd60e51b8152600401610991906133be565b6001600160a01b038216600081815260156020908152604091829020805460ff191685151590811790915591519182527fcb9f97b7b4b41413e5c8d418a8cf9a88db1cf34dee66b213d070faf881d9d35091016111cf565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b03163314611def5760405162461bcd60e51b8152600401610991906133be565b611dfc600f848484612799565b6040516b62617365466565732d42757960a01b8152600c016116a4565b6000546001600160a01b03163314611e435760405162461bcd60e51b8152600401610991906133be565b6001600160a01b038116611ea85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610991565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611f655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610991565b6001600160a01b038216611fc65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610991565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006120338484611d9a565b9050600019811461209b578181101561208e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610991565b61209b8484848403611f03565b50505050565b6001600160a01b0383166120c75760405162461bcd60e51b8152600401610991906134be565b6001600160a01b0382166120ed5760405162461bcd60e51b815260040161099190613503565b806000036121015761102d8383600061294d565b6001600160a01b03831660009081526015602052604090205460ff1615801561214357506001600160a01b03821660009081526015602052604090205460ff16155b156123f957600654600160a01b900460ff166121b35760405162461bcd60e51b815260206004820152602960248201527f46756e6963756c61723a2054726164696e672069732063757272656e746c79206044820152683234b9b0b13632b21760b91b6064820152608401610991565b6001600160a01b03821660009081526014602052604090205460ff161561221c5760405162461bcd60e51b815260206004820152601d60248201527f46756e6963756c61723a204163636f756e7420697320626c6f636b65640000006044820152606401610991565b6001600160a01b03831660009081526014602052604090205460ff16156122855760405162461bcd60e51b815260206004820152601d60248201527f46756e6963756c61723a204163636f756e7420697320626c6f636b65640000006044820152606401610991565b6001600160a01b03821660009081526018602052604090205460ff161580156122c757506001600160a01b03831660009081526018602052604090205460ff16155b15612338576008548111156123385760405162461bcd60e51b815260206004820152603160248201527f46756e6963756c61723a2042757920616d6f756e742065786365656473207468604482015270329036b0bc2a3c213abca0b6b7bab73a1760791b6064820152608401610991565b6001600160a01b03821660009081526019602052604090205460ff166123f9576009548161237b846001600160a01b031660009081526001602052604090205490565b6123859190613456565b11156123f95760405162461bcd60e51b815260206004820152603e60248201527f46756e6963756c61723a2045787065637465642077616c6c657420616d6f756e60448201527f74206578636565647320746865206d617857616c6c6574416d6f756e742e00006064820152608401610991565b6001600160a01b038084166000908152601a602052604080822054928516825290205461242e9160ff90811691168585612a7e565b600b543060009081526001602052604090205460065491111590600160a01b900460ff16801561245b5750805b801561246a5750600a5460ff16155b80156124815750601b546301000000900460ff1615155b80156124a557506001600160a01b0383166000908152601a602052604090205460ff165b156124ca57600a805460ff191660011790556124bf612ca6565b600a805460ff191690555b600a5460009060ff161580156124e95750600654600160a01b900460ff165b6001600160a01b03861660009081526017602052604090205490915060ff168061252b57506001600160a01b03841660009081526017602052604090205460ff165b15612534575060005b80801561254c5750601b546301000000900460ff1615155b156125d057601b5460009060649061256e906301000000900460ff1686613546565b6125789190613573565b90506125848185613426565b935060006011541180156125a657506005601254436125a39190613426565b11155b156125c35780601360008282546125bd9190613456565b90915550505b6125ce86308361294d565b505b6125db85858561294d565b5050505050565b835460ff848116600160c01b909204161461267257604051721b1a5c5d5a591a5d1e4c51995953db94d95b1b606a1b81526013016040519081900381208554909160ff600160c01b8304811692908716916000805160206136a8833981519152916126539160489190911b90613587565b60405180910390a4835460ff60c01b1916600160c01b60ff8516021784555b835460ff838116600160d01b909204161461270257604051721b1a5c5d5a591a5d1e4c91995953db94d95b1b606a1b81526013016040519081900381208554909160ff600160d01b8304811692908616916000805160206136a8833981519152916126e39160489190911b90613587565b60405180910390a4835460ff60d01b1916600160d01b60ff8416021784555b835460ff828116600160e01b909204161461209b57604051721bdc195c985d1a5bdb9cd1995953db94d95b1b606a1b81526013016040519081900381208554909160ff600160e01b8304811692908516916000805160206136a8833981519152916127739160489190911b90613587565b60405180910390a4835460ff8216600160e01b0260ff60e01b1990911617845550505050565b835460ff848116600160b81b909204161461282857604051716c6971756964697479314665654f6e42757960701b81526012016040519081900381208554909160ff600160b81b8304811692908716916000805160206136a8833981519152916128099160489190911b90613587565b60405180910390a4835460ff60b81b1916600160b81b60ff8516021784555b835460ff838116600160c81b90920416146128b757604051716c6971756964697479324665654f6e42757960701b81526012016040519081900381208554909160ff600160c81b8304811692908616916000805160206136a8833981519152916128989160489190911b90613587565b60405180910390a4835460ff60c81b1916600160c81b60ff8416021784555b835460ff828116600160d81b909204161461209b57604051716f7065726174696f6e734665654f6e42757960701b81526012016040519081900381208554909160ff600160d81b8304811692908516916000805160206136a8833981519152916129279160489190911b90613587565b60405180910390a4835460ff8216600160d81b0260ff60d81b1990911617845550505050565b6001600160a01b0383166129735760405162461bcd60e51b8152600401610991906134be565b6001600160a01b0382166129995760405162461bcd60e51b815260040161099190613503565b6001600160a01b03831660009081526001602052604090205481811015612a115760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610991565b6001600160a01b0380851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612a719086815260200190565b60405180910390a361209b565b601b805462ffffff191690558315612b0e5760105460ff168015612ab05750600560125442612aad9190613426565b11155b15612ac757601b805460ff19166064179055612b0e565b600f54601b8054600160b81b830460ff90811661ffff1990921691909117610100600160c81b85048316021762ff00001916600160d81b9093041662010000029190911790555b8215612b5b57600f54601b8054600160c01b830460ff90811661ffff1990921691909117610100600160d01b85048316021762ff00001916600160e01b9093041662010000029190911790555b82158015612b67575083155b8015612bad57506001600160a01b03821660009081526016602052604090205460ff1680612bad57506001600160a01b03811660009081526016602052604090205460ff165b15612bf957600f54601b8054600160b81b830460ff90811661ffff1990921691909117610100600160c81b85048316021762ff00001916600160d81b9093041662010000029190911790555b601b5460ff620100008204811691612c199161010082048116911661359e565b612c23919061359e565b601b805460ff928316630100000090810263ff000000198316811793849055604080519186169386169390931781526101008404851660208201526201000084048516818401529204909216606082015290517fe732842e0997f2bd5f26f9b53d4f761dfb12c53c4352fa949eb7b4d8522dd25b9181900360800190a150505050565b30600090815260016020526040812054601b549091479160029060ff63010000008204811691612cd7911686613546565b612ce19190613573565b612ceb9190613573565b90506000612cf98285613426565b9050612d0481612e3b565b6000612d108447613426565b601b54909150600090612d289060029060ff166135b7565b601b54612d3f91906301000000900460ff166135d9565b601b5460ff91821692506000916002918491612d5c911686613546565b612d669190613573565b612d709190613573565b601b549091506000908390612d8d90610100900460ff1686613546565b612d979190613573565b90506000612da58284613456565b612daf9086613426565b600e54909150612dc8906001600160a01b031682612f95565b600d54612dde906001600160a01b031683612f95565b8615612e3057612dee87846130ae565b60408051878152602081018590529081018890527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612e7057612e706135f2565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eed91906133f3565b81600181518110612f0057612f006135f2565b6001600160a01b039283166020918202929092010152600654612f269130911684611f03565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612f5f908590600190869030904290600401613608565b600060405180830381600087803b158015612f7957600080fd5b505af1158015612f8d573d6000803e3d6000fd5b505050505050565b80471015612fe55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610991565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613032576040519150601f19603f3d011682016040523d82523d6000602084013e613037565b606091505b505090508061102d5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610991565b6006546130c69030906001600160a01b031684611f03565b600654600c5460405163f305d71960e01b81523060048201526024810185905260016044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015613136573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125db9190613679565b600060208083528351808285015260005b818110156131885785810183015185820160400152820161316c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146131be57600080fd5b50565b600080604083850312156131d457600080fd5b82356131df816131a9565b946020939093013593505050565b6000602082840312156131ff57600080fd5b5035919050565b60008060006060848603121561321b57600080fd5b8335613226816131a9565b92506020840135613236816131a9565b929592945050506040919091013590565b80151581146131be57600080fd5b6000806040838503121561326857600080fd5b8235613273816131a9565b9150602083013561328381613247565b809150509250929050565b6000602082840312156132a057600080fd5b81356132ab816131a9565b9392505050565b6000806000606084860312156132c757600080fd5b83356132d2816131a9565b925060208401356132e2816131a9565b915060408401356132f2816131a9565b809150509250925092565b803560ff8116811461330e57600080fd5b919050565b60008060006060848603121561332857600080fd5b613331846132fd565b925061333f602085016132fd565b915061334d604085016132fd565b90509250925092565b6000806040838503121561336957600080fd5b8235613374816131a9565b91506020830135613283816131a9565b600181811c9082168061339857607f821691505b6020821081036133b857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561340557600080fd5b81516132ab816131a9565b634e487b7160e01b600052601160045260246000fd5b8181038181111561096157610961613410565b60006020828403121561344b57600080fd5b81516132ab81613247565b8082018082111561096157610961613410565b60208082526035908201527f46756e6963756c61723a204163636f756e7420697320616c7265616479207468604082015274652076616c7565206f6620276578636c756465642760581b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b808202811582820484141761096157610961613410565b634e487b7160e01b600052601260045260246000fd5b6000826135825761358261355d565b500490565b68ffffffffffffffffff1991909116815260200190565b60ff818116838216019081111561096157610961613410565b600060ff8316806135ca576135ca61355d565b8060ff84160491505092915050565b60ff828116828216039081111561096157610961613410565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156136585784516001600160a01b031683529383019391830191600101613633565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561368e57600080fd5b835192506020840151915060408401519050925092509256fe00edc71549f0cbe47086c2237ce0cf874d6897fd1d7ce43ee6b65c0230d7606ea26469706673582212206312b33f7498be54c0aa1228cd3afbca6ef6f4cc3d02abd92eb2e5eab178b6b564736f6c63430008110033