0x608060405234801561000f575f80fd5b5060043610610212575f3560e01c80635342acb41161011f578063a457c2d7116100a9578063d321983e11610079578063d321983e14610497578063dd62ed3e146104aa578063e7cd4a04146104e2578063ea414b28146104f5578063f2fde38b14610508575f80fd5b8063a457c2d714610455578063a9059cbb14610468578063c79a7cf81461047b578063ca9ec1991461048e575f80fd5b8063795053d3116100ef578063795053d31461040e57806389c2847c146104215780638d6a2ed5146104345780638da5cb5b1461043d57806395d89b411461044d575f80fd5b80635342acb4146103b557806365216a41146103e057806370a08231146103f3578063715018a614610406575f80fd5b806327c8f835116101a05780633950935111610170578063395093511461035757806342a110951461036a57806347598d2f1461037357806349bd5a5e146103865780634b94f50e146103ad575f80fd5b806327c8f835146102f55780632d8381191461031c5780632dc0562d1461032f578063313ce56714610342575f80fd5b80630dfe2a83116101e65780630dfe2a831461027f5780631694505e1461028857806318160ddd146102c75780632042e5c2146102cf57806323b872dd146102e2575f80fd5b806236ce98146102165780630636769e1461023257806306fdde0314610247578063095ea7b31461025c575b5f80fd5b61021f60135481565b6040519081526020015b60405180910390f35b610245610240366004611a13565b61051b565b005b61024f61056f565b6040516102299190611a2e565b61026f61026a366004611a63565b6105ff565b6040519015158152602001610229565b61021f600d5481565b6102af7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610229565b60075461021f565b6102456102dd366004611a13565b610615565b61026f6102f0366004611a8d565b610668565b6102af7f000000000000000000000000000000000000000000000000000000000000dead81565b61021f61032a366004611acb565b6106cf565b6002546102af906001600160a01b031681565b600c5460405160ff9091168152602001610229565b61026f610365366004611a63565b610751565b61021f600f5481565b610245610381366004611acb565b610786565b6102af7f0000000000000000000000006738bd259c9ed206a2812e6451caa84dd9898c2d81565b61021f610820565b61026f6103c3366004611a13565b6001600160a01b03165f9081526006602052604090205460ff1690565b6102456103ee366004611b2a565b6109e2565b61021f610401366004611a13565b610ad5565b610245610af6565b6001546102af906001600160a01b031681565b61024561042f366004611acb565b610b67565b61021f60145481565b5f546001600160a01b03166102af565b61024f610b9f565b61026f610463366004611a63565b610bae565b61026f610476366004611a63565b610bfb565b610245610489366004611acb565b610c07565b61021f60115481565b6102456104a5366004611acb565b610c3f565b61021f6104b8366004611b96565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6102456104f0366004611a13565b610c77565b610245610503366004611a13565b610ccd565b610245610516366004611a13565b610d82565b5f546001600160a01b0316331461054d5760405162461bcd60e51b815260040161054490611bcd565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6060600a805461057e90611c02565b80601f01602080910402602001604051908101604052809291908181526020018280546105aa90611c02565b80156105f55780601f106105cc576101008083540402835291602001916105f5565b820191905f5260205f20905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b5f61060b338484610e69565b5060015b92915050565b6001546001600160a01b0316336001600160a01b0316146106485760405162461bcd60e51b815260040161054490611c3a565b6001600160a01b03165f908152600660205260409020805460ff19169055565b5f610674848484610f8c565b6106c584336106c085604051806060016040528060288152602001611e69602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906113a5565b610e69565b5060019392505050565b5f6008548211156107355760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610544565b5f61073e6113dd565b905061074a83826113fe565b9392505050565b335f8181526005602090815260408083206001600160a01b0387168452909152812054909161060b9185906106c0908661143f565b6001546001600160a01b0316336001600160a01b0316146107b95760405162461bcd60e51b815260040161054490611c3a565b5f811161081b5760405162461bcd60e51b815260206004820152602a60248201527f4461696c792073656c6c206c696d6974206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610544565b601355565b5f805f7f0000000000000000000000006738bd259c9ed206a2812e6451caa84dd9898c2d6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561087f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a39190611c8c565b50915091505f7f0000000000000000000000006738bd259c9ed206a2812e6451caa84dd9898c2d6001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610905573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109299190611cd8565b90505f806001600160a01b0383163014610944578385610947565b84845b915091505f816001600160701b03161161099a5760405162461bcd60e51b8152602060048201526014602482015273574554482072657365727665206973207a65726f60601b6044820152606401610544565b816001600160701b03166109b0600c5460ff1690565b6109bb90600a611dea565b6109ce906001600160701b038416611df8565b6109d89190611e0f565b9550505050505090565b6001546001600160a01b0316336001600160a01b031614610a155760405162461bcd60e51b815260040161054490611c3a565b828114610a735760405162461bcd60e51b815260206004820152602660248201527f526563697069656e747320616e6420616d6f756e7473206c656e677468206d696044820152650e6dac2e8c6d60d31b6064820152608401610544565b5f5b83811015610ace57610ac633868684818110610a9357610a93611e2e565b9050602002016020810190610aa89190611a13565b858585818110610aba57610aba611e2e565b90506020020135610f8c565b600101610a75565b5050505050565b6001600160a01b0381165f9081526003602052604081205461060f906106cf565b5f546001600160a01b03163314610b1f5760405162461bcd60e51b815260040161054490611bcd565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6001546001600160a01b0316336001600160a01b031614610b9a5760405162461bcd60e51b815260040161054490611c3a565b600f55565b6060600b805461057e90611c02565b5f61060b33846106c085604051806060016040528060258152602001611e9160259139335f9081526005602090815260408083206001600160a01b038d16845290915290205491906113a5565b5f61060b338484610f8c565b6001546001600160a01b0316336001600160a01b031614610c3a5760405162461bcd60e51b815260040161054490611c3a565b601155565b6001546001600160a01b0316336001600160a01b031614610c725760405162461bcd60e51b815260040161054490611c3a565b600d55565b6001546001600160a01b0316336001600160a01b031614610caa5760405162461bcd60e51b815260040161054490611c3a565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b6001546001600160a01b0316336001600160a01b031614610d005760405162461bcd60e51b815260040161054490611c3a565b6001600160a01b038116610d605760405162461bcd60e51b815260206004820152602160248201527f5461782077616c6c657420616464726573732063616e6e6f74206265207a65726044820152606f60f81b6064820152608401610544565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610dab5760405162461bcd60e51b815260040161054490611bcd565b6001600160a01b038116610e105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610544565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ecb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610544565b6001600160a01b038216610f2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610544565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ff05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610544565b6001600160a01b0382166110525760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610544565b5f81116110b35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610544565b60015f6001600160a01b037f0000000000000000000000006738bd259c9ed206a2812e6451caa84dd9898c2d8116908616036110ed575060015b7f0000000000000000000000006738bd259c9ed206a2812e6451caa84dd9898c2d6001600160a01b0316846001600160a01b03160361112a575060025b6001600160a01b0385165f9081526006602052604090205460ff168061116757506001600160a01b0384165f9081526006602052604090205460ff165b15611170575f91505b5f61117a86610ad5565b905083810361119e5761119b6127106111958661270f61149d565b906113fe565b93505b8160ff1660011480156111ae5750825b15611254575f6111bc610820565b90506014546111cd600c5460ff1690565b6111d890600a611dea565b6111e28388611df8565b6111ec9190611e0f565b101561124e5760405162461bcd60e51b815260206004820152602b60248201527f42757920616d6f756e742069732062656c6f7720746865206d696e696d756d2060448201526a1c995c5d5a5c995b595b9d60aa1b6064820152608401610544565b50611390565b8160ff1660021480156112645750825b15611390575f61271060135461127989610ad5565b6112839190611df8565b61128d9190611e0f565b6001600160a01b0388165f9081526017602052604090205490915062015180906112b79042611e42565b106112d5576001600160a01b0387165f908152601660205260408120555b6001600160a01b0387165f9081526016602052604090205481906112fa908790611e55565b11156113485760405162461bcd60e51b815260206004820152601860248201527f53656c6c2065786365656473206461696c79206c696d697400000000000000006044820152606401610544565b6001600160a01b0387165f908152601660205260408120805487929061136f908490611e55565b9091555050506001600160a01b0386165f9081526017602052604090204290555b61139d868686868661151b565b505050505050565b5f81848411156113c85760405162461bcd60e51b81526004016105449190611a2e565b505f6113d48486611e42565b95945050505050565b5f805f6113e8611550565b90925090506113f782826113fe565b9250505090565b5f61074a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611584565b5f8061144b8385611e55565b90508381101561074a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610544565b5f825f036114ac57505f61060f565b5f6114b78385611df8565b9050826114c48583611e0f565b1461074a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610544565b81611528576115286115b0565b611534858585846115f4565b81610ace57610ace601054600f55601254601155600e54600d55565b6008546007545f91829161156482826113fe565b82101561157b576008546007549350935050509091565b90939092509050565b5f81836115a45760405162461bcd60e51b81526004016105449190611a2e565b505f6113d48486611e0f565b600f541580156115c05750601154155b80156115cc5750600d54155b156115d357565b600f805460105560118054601255600d8054600e555f928390559082905555565b5f6115fd6113dd565b90505f61160a848361149d565b90505f8061161a86848a886116d4565b6001600160a01b038a165f908152600360205260409020549193509150611641908461196a565b6001600160a01b03808a165f90815260036020526040808220939093559089168152205461166f908261143f565b6001600160a01b038089165f8181526003602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116c29086815260200190565b60405180910390a35050505050505050565b5f80600f545f1480156116e75750601154155b80156116f35750600d54155b15611702575084905083611961565b5f61170b6113dd565b90505f8460ff165f0361172857611721886119ab565b9050611748565b8460ff1660010361173c57611721886119c6565b611745886119e1565b90505b5f611753828461149d565b90505f611760898361196a565b90505f61176d8b8561196a565b905060ff88161580159061178057508315155b15611847576002546001600160a01b03165f908152600360205260409020546117a9908461143f565b600280546001600160a01b039081165f9081526003602090815260408083209590955592549091168152600490915220546117e4908561143f565b600280546001600160a01b039081165f90815260046020908152604091829020949094559154915187815291811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611959565b8315611959576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead165f9081526003602052604090205461188f908461143f565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead165f908152600360209081526040808320939093556004905220546118dd908561143f565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead81165f8181526004602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119509088815260200190565b60405180910390a35b955093505050505b94509492505050565b5f61074a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a5565b5f61060f6064611195600d548561149d90919063ffffffff16565b5f61060f6064611195600f548561149d90919063ffffffff16565b5f61060f60646111956011548561149d90919063ffffffff16565b6001600160a01b0381168114611a10575f80fd5b50565b5f60208284031215611a23575f80fd5b813561074a816119fc565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215611a74575f80fd5b8235611a7f816119fc565b946020939093013593505050565b5f805f60608486031215611a9f575f80fd5b8335611aaa816119fc565b92506020840135611aba816119fc565b929592945050506040919091013590565b5f60208284031215611adb575f80fd5b5035919050565b5f8083601f840112611af2575f80fd5b50813567ffffffffffffffff811115611b09575f80fd5b6020830191508360208260051b8501011115611b23575f80fd5b9250929050565b5f805f8060408587031215611b3d575f80fd5b843567ffffffffffffffff811115611b53575f80fd5b611b5f87828801611ae2565b909550935050602085013567ffffffffffffffff811115611b7e575f80fd5b611b8a87828801611ae2565b95989497509550505050565b5f8060408385031215611ba7575f80fd5b8235611bb2816119fc565b91506020830135611bc2816119fc565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c1657607f821691505b602082108103611c3457634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526019908201527f63616c6c6572206973206e6f7420676f7665726e656e63652100000000000000604082015260600190565b80516001600160701b0381168114611c87575f80fd5b919050565b5f805f60608486031215611c9e575f80fd5b611ca784611c71565b9250611cb560208501611c71565b9150604084015163ffffffff81168114611ccd575f80fd5b809150509250925092565b5f60208284031215611ce8575f80fd5b815161074a816119fc565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611d4257808504811115611d2657611d26611cf3565b6001841615611d3457908102905b60019390931c928002611d0b565b935093915050565b5f82611d585750600161060f565b81611d6457505f61060f565b8160018114611d7a5760028114611d8457611da0565b600191505061060f565b60ff841115611d9557611d95611cf3565b50506001821b61060f565b5060208310610133831016604e8410600b8410161715611dc3575081810a61060f565b611dcf5f198484611d07565b805f1904821115611de257611de2611cf3565b029392505050565b5f61074a60ff841683611d4a565b808202811582820484141761060f5761060f611cf3565b5f82611e2957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561060f5761060f611cf3565b8082018082111561060f5761060f611cf356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209359d14a7e56ee5175bf0dfee3cb192f466f0efde7761ebef7ca052451026a1964736f6c634300081a0033
0x60e0604052600180546001600160a01b031990811673691925c4c2f25301bbe81ca2a0b19773718d7e841790915560028054909116739e70b8e291c4a359559817e8f23e82a6bbe743be17905561dead6080526d106b0d07faeba61979b5400000006007819055610071905f196103c4565b61007c905f196103f7565b600855604080518082019091526004815263554e434f60e01b6020820152600a906100a790826104a8565b50604080518082019091526004815263554e434f60e01b6020820152600b906100d090826104a8565b50600c805460ff19166012908117909155604b600d819055600e555f600f819055601081905560118190559055601960135534801561010d575f80fd5b506040516125fd3803806125fd83398101604081905261012c91610562565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600854335f9081526003602090815260409182902092909255601580546001600160a01b0319166001600160a01b038516908117909155815163313ce56760e01b81529151909263313ce56792600480820193918290030181865afa1580156101d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101fb919061058f565b61020690600a610692565b61021190600a6106a0565b6014819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028f9190610562565b6040516364e329cb60e11b81523060048201526001600160a01b038481166024830152919091169063c9c65396906044016020604051808303815f875af11580156102dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103009190610562565b6001600160a01b0390811660c052811660a052600160065f6103295f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff19958616179055308152600690925290208054909116600117905561036f3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516103b591815260200190565b60405180910390a350506106b7565b5f826103de57634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561040a5761040a6103e3565b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061043857607f821691505b60208210810361045657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104a357805f5260205f20601f840160051c810160208510156104815750805b601f840160051c820191505b818110156104a0575f815560010161048d565b50505b505050565b81516001600160401b038111156104c1576104c1610410565b6104d5816104cf8454610424565b8461045c565b6020601f821160018114610507575f83156104f05750848201515b5f19600385901b1c1916600184901b1784556104a0565b5f84815260208120601f198516915b828110156105365787850151825560209485019460019092019101610516565b508482101561055357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610572575f80fd5b81516001600160a01b0381168114610588575f80fd5b9392505050565b5f6020828403121561059f575f80fd5b815160ff81168114610588575f80fd5b6001815b60018411156105ea578085048111156105ce576105ce6103e3565b60018416156105dc57908102905b60019390931c9280026105b3565b935093915050565b5f826106005750600161040a565b8161060c57505f61040a565b8160018114610622576002811461062c57610648565b600191505061040a565b60ff84111561063d5761063d6103e3565b50506001821b61040a565b5060208310610133831016604e8410600b841016171561066b575081810a61040a565b6106775f1984846105af565b805f190482111561068a5761068a6103e3565b029392505050565b5f61058860ff8416836105f2565b808202811582820484141761040a5761040a6103e3565b60805160a05160c051611eeb6107125f395f818161038b01528181610825015281816108ab015281816110c001526110ef01525f61028d01525f81816102fa015281816118570152818161189901526118e70152611eeb5ff3fe608060405234801561000f575f80fd5b5060043610610212575f3560e01c80635342acb41161011f578063a457c2d7116100a9578063d321983e11610079578063d321983e14610497578063dd62ed3e146104aa578063e7cd4a04146104e2578063ea414b28146104f5578063f2fde38b14610508575f80fd5b8063a457c2d714610455578063a9059cbb14610468578063c79a7cf81461047b578063ca9ec1991461048e575f80fd5b8063795053d3116100ef578063795053d31461040e57806389c2847c146104215780638d6a2ed5146104345780638da5cb5b1461043d57806395d89b411461044d575f80fd5b80635342acb4146103b557806365216a41146103e057806370a08231146103f3578063715018a614610406575f80fd5b806327c8f835116101a05780633950935111610170578063395093511461035757806342a110951461036a57806347598d2f1461037357806349bd5a5e146103865780634b94f50e146103ad575f80fd5b806327c8f835146102f55780632d8381191461031c5780632dc0562d1461032f578063313ce56714610342575f80fd5b80630dfe2a83116101e65780630dfe2a831461027f5780631694505e1461028857806318160ddd146102c75780632042e5c2146102cf57806323b872dd146102e2575f80fd5b806236ce98146102165780630636769e1461023257806306fdde0314610247578063095ea7b31461025c575b5f80fd5b61021f60135481565b6040519081526020015b60405180910390f35b610245610240366004611a13565b61051b565b005b61024f61056f565b6040516102299190611a2e565b61026f61026a366004611a63565b6105ff565b6040519015158152602001610229565b61021f600d5481565b6102af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610229565b60075461021f565b6102456102dd366004611a13565b610615565b61026f6102f0366004611a8d565b610668565b6102af7f000000000000000000000000000000000000000000000000000000000000000081565b61021f61032a366004611acb565b6106cf565b6002546102af906001600160a01b031681565b600c5460405160ff9091168152602001610229565b61026f610365366004611a63565b610751565b61021f600f5481565b610245610381366004611acb565b610786565b6102af7f000000000000000000000000000000000000000000000000000000000000000081565b61021f610820565b61026f6103c3366004611a13565b6001600160a01b03165f9081526006602052604090205460ff1690565b6102456103ee366004611b2a565b6109e2565b61021f610401366004611a13565b610ad5565b610245610af6565b6001546102af906001600160a01b031681565b61024561042f366004611acb565b610b67565b61021f60145481565b5f546001600160a01b03166102af565b61024f610b9f565b61026f610463366004611a63565b610bae565b61026f610476366004611a63565b610bfb565b610245610489366004611acb565b610c07565b61021f60115481565b6102456104a5366004611acb565b610c3f565b61021f6104b8366004611b96565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6102456104f0366004611a13565b610c77565b610245610503366004611a13565b610ccd565b610245610516366004611a13565b610d82565b5f546001600160a01b0316331461054d5760405162461bcd60e51b815260040161054490611bcd565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6060600a805461057e90611c02565b80601f01602080910402602001604051908101604052809291908181526020018280546105aa90611c02565b80156105f55780601f106105cc576101008083540402835291602001916105f5565b820191905f5260205f20905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b5f61060b338484610e69565b5060015b92915050565b6001546001600160a01b0316336001600160a01b0316146106485760405162461bcd60e51b815260040161054490611c3a565b6001600160a01b03165f908152600660205260409020805460ff19169055565b5f610674848484610f8c565b6106c584336106c085604051806060016040528060288152602001611e69602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906113a5565b610e69565b5060019392505050565b5f6008548211156107355760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610544565b5f61073e6113dd565b905061074a83826113fe565b9392505050565b335f8181526005602090815260408083206001600160a01b0387168452909152812054909161060b9185906106c0908661143f565b6001546001600160a01b0316336001600160a01b0316146107b95760405162461bcd60e51b815260040161054490611c3a565b5f811161081b5760405162461bcd60e51b815260206004820152602a60248201527f4461696c792073656c6c206c696d6974206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610544565b601355565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561087f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a39190611c8c565b50915091505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610905573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109299190611cd8565b90505f806001600160a01b0383163014610944578385610947565b84845b915091505f816001600160701b03161161099a5760405162461bcd60e51b8152602060048201526014602482015273574554482072657365727665206973207a65726f60601b6044820152606401610544565b816001600160701b03166109b0600c5460ff1690565b6109bb90600a611dea565b6109ce906001600160701b038416611df8565b6109d89190611e0f565b9550505050505090565b6001546001600160a01b0316336001600160a01b031614610a155760405162461bcd60e51b815260040161054490611c3a565b828114610a735760405162461bcd60e51b815260206004820152602660248201527f526563697069656e747320616e6420616d6f756e7473206c656e677468206d696044820152650e6dac2e8c6d60d31b6064820152608401610544565b5f5b83811015610ace57610ac633868684818110610a9357610a93611e2e565b9050602002016020810190610aa89190611a13565b858585818110610aba57610aba611e2e565b90506020020135610f8c565b600101610a75565b5050505050565b6001600160a01b0381165f9081526003602052604081205461060f906106cf565b5f546001600160a01b03163314610b1f5760405162461bcd60e51b815260040161054490611bcd565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6001546001600160a01b0316336001600160a01b031614610b9a5760405162461bcd60e51b815260040161054490611c3a565b600f55565b6060600b805461057e90611c02565b5f61060b33846106c085604051806060016040528060258152602001611e9160259139335f9081526005602090815260408083206001600160a01b038d16845290915290205491906113a5565b5f61060b338484610f8c565b6001546001600160a01b0316336001600160a01b031614610c3a5760405162461bcd60e51b815260040161054490611c3a565b601155565b6001546001600160a01b0316336001600160a01b031614610c725760405162461bcd60e51b815260040161054490611c3a565b600d55565b6001546001600160a01b0316336001600160a01b031614610caa5760405162461bcd60e51b815260040161054490611c3a565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b6001546001600160a01b0316336001600160a01b031614610d005760405162461bcd60e51b815260040161054490611c3a565b6001600160a01b038116610d605760405162461bcd60e51b815260206004820152602160248201527f5461782077616c6c657420616464726573732063616e6e6f74206265207a65726044820152606f60f81b6064820152608401610544565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610dab5760405162461bcd60e51b815260040161054490611bcd565b6001600160a01b038116610e105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610544565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ecb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610544565b6001600160a01b038216610f2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610544565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ff05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610544565b6001600160a01b0382166110525760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610544565b5f81116110b35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610544565b60015f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908616036110ed575060015b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03160361112a575060025b6001600160a01b0385165f9081526006602052604090205460ff168061116757506001600160a01b0384165f9081526006602052604090205460ff165b15611170575f91505b5f61117a86610ad5565b905083810361119e5761119b6127106111958661270f61149d565b906113fe565b93505b8160ff1660011480156111ae5750825b15611254575f6111bc610820565b90506014546111cd600c5460ff1690565b6111d890600a611dea565b6111e28388611df8565b6111ec9190611e0f565b101561124e5760405162461bcd60e51b815260206004820152602b60248201527f42757920616d6f756e742069732062656c6f7720746865206d696e696d756d2060448201526a1c995c5d5a5c995b595b9d60aa1b6064820152608401610544565b50611390565b8160ff1660021480156112645750825b15611390575f61271060135461127989610ad5565b6112839190611df8565b61128d9190611e0f565b6001600160a01b0388165f9081526017602052604090205490915062015180906112b79042611e42565b106112d5576001600160a01b0387165f908152601660205260408120555b6001600160a01b0387165f9081526016602052604090205481906112fa908790611e55565b11156113485760405162461bcd60e51b815260206004820152601860248201527f53656c6c2065786365656473206461696c79206c696d697400000000000000006044820152606401610544565b6001600160a01b0387165f908152601660205260408120805487929061136f908490611e55565b9091555050506001600160a01b0386165f9081526017602052604090204290555b61139d868686868661151b565b505050505050565b5f81848411156113c85760405162461bcd60e51b81526004016105449190611a2e565b505f6113d48486611e42565b95945050505050565b5f805f6113e8611550565b90925090506113f782826113fe565b9250505090565b5f61074a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611584565b5f8061144b8385611e55565b90508381101561074a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610544565b5f825f036114ac57505f61060f565b5f6114b78385611df8565b9050826114c48583611e0f565b1461074a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610544565b81611528576115286115b0565b611534858585846115f4565b81610ace57610ace601054600f55601254601155600e54600d55565b6008546007545f91829161156482826113fe565b82101561157b576008546007549350935050509091565b90939092509050565b5f81836115a45760405162461bcd60e51b81526004016105449190611a2e565b505f6113d48486611e0f565b600f541580156115c05750601154155b80156115cc5750600d54155b156115d357565b600f805460105560118054601255600d8054600e555f928390559082905555565b5f6115fd6113dd565b90505f61160a848361149d565b90505f8061161a86848a886116d4565b6001600160a01b038a165f908152600360205260409020549193509150611641908461196a565b6001600160a01b03808a165f90815260036020526040808220939093559089168152205461166f908261143f565b6001600160a01b038089165f8181526003602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116c29086815260200190565b60405180910390a35050505050505050565b5f80600f545f1480156116e75750601154155b80156116f35750600d54155b15611702575084905083611961565b5f61170b6113dd565b90505f8460ff165f0361172857611721886119ab565b9050611748565b8460ff1660010361173c57611721886119c6565b611745886119e1565b90505b5f611753828461149d565b90505f611760898361196a565b90505f61176d8b8561196a565b905060ff88161580159061178057508315155b15611847576002546001600160a01b03165f908152600360205260409020546117a9908461143f565b600280546001600160a01b039081165f9081526003602090815260408083209590955592549091168152600490915220546117e4908561143f565b600280546001600160a01b039081165f90815260046020908152604091829020949094559154915187815291811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611959565b8315611959576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f9081526003602052604090205461188f908461143f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f908152600360209081526040808320939093556004905220546118dd908561143f565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081165f8181526004602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119509088815260200190565b60405180910390a35b955093505050505b94509492505050565b5f61074a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a5565b5f61060f6064611195600d548561149d90919063ffffffff16565b5f61060f6064611195600f548561149d90919063ffffffff16565b5f61060f60646111956011548561149d90919063ffffffff16565b6001600160a01b0381168114611a10575f80fd5b50565b5f60208284031215611a23575f80fd5b813561074a816119fc565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215611a74575f80fd5b8235611a7f816119fc565b946020939093013593505050565b5f805f60608486031215611a9f575f80fd5b8335611aaa816119fc565b92506020840135611aba816119fc565b929592945050506040919091013590565b5f60208284031215611adb575f80fd5b5035919050565b5f8083601f840112611af2575f80fd5b50813567ffffffffffffffff811115611b09575f80fd5b6020830191508360208260051b8501011115611b23575f80fd5b9250929050565b5f805f8060408587031215611b3d575f80fd5b843567ffffffffffffffff811115611b53575f80fd5b611b5f87828801611ae2565b909550935050602085013567ffffffffffffffff811115611b7e575f80fd5b611b8a87828801611ae2565b95989497509550505050565b5f8060408385031215611ba7575f80fd5b8235611bb2816119fc565b91506020830135611bc2816119fc565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c1657607f821691505b602082108103611c3457634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526019908201527f63616c6c6572206973206e6f7420676f7665726e656e63652100000000000000604082015260600190565b80516001600160701b0381168114611c87575f80fd5b919050565b5f805f60608486031215611c9e575f80fd5b611ca784611c71565b9250611cb560208501611c71565b9150604084015163ffffffff81168114611ccd575f80fd5b809150509250925092565b5f60208284031215611ce8575f80fd5b815161074a816119fc565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611d4257808504811115611d2657611d26611cf3565b6001841615611d3457908102905b60019390931c928002611d0b565b935093915050565b5f82611d585750600161060f565b81611d6457505f61060f565b8160018114611d7a5760028114611d8457611da0565b600191505061060f565b60ff841115611d9557611d95611cf3565b50506001821b61060f565b5060208310610133831016604e8410600b8410161715611dc3575081810a61060f565b611dcf5f198484611d07565b805f1904821115611de257611de2611cf3565b029392505050565b5f61074a60ff841683611d4a565b808202811582820484141761060f5761060f611cf3565b5f82611e2957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561060f5761060f611cf3565b8082018082111561060f5761060f611cf356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209359d14a7e56ee5175bf0dfee3cb192f466f0efde7761ebef7ca052451026a1964736f6c634300081a0033000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7