60806040523480156200001157600080fd5b5060405162006489380380620064898339810160408190526200003491620015ba565b83516020850151600362000049838262001748565b50600462000058828262001748565b50506005805460ff191690555060016006556200007585620000a1565b62000080836200016d565b6200008b82620002f3565b620000968162000424565b505050505062001a69565b6001600160a01b038116620001185760405162461bcd60e51b815260206004820152603260248201527f4f776e6572536f757263654d616e6167656d656e743a204f776e6572536f75726044820152716365206973207a65726f206164647265737360701b60648201526084015b60405180910390fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040519081527f100db0c8ceeaacf1b38d790c3e0cba902dc0bb427397bd093c690cfdd5471a5c906020015b60405180910390a150565b80516001600160a01b0316620001d15760405162461bcd60e51b815260206004820152602260248201527f44657846694554463a205472656173757279206973207a65726f206164647265604482015261737360f01b60648201526084016200010f565b6101f481602001511115620002295760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a20496e76616c6964206a6f696e4665650000000000000060448201526064016200010f565b6101f481604001511115620002815760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a20496e76616c696420657869744665650000000000000060448201526064016200010f565b8051600a80546001600160a01b0319166001600160a01b0390921691821790556020808301805160095560408085018051600855815194855291519284019290925251908201527ff8bb6b7d53fa50ed2247e73b243eca3946a140288f9ca077a9ea84730b7adae79060600162000162565b61012c816020015111156200034b5760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a20496e76616c696420737761704665650000000000000060448201526064016200010f565b8051620003589062000b03565b80600001516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200039b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c1919062001814565b600e80546001600160a01b0319166001600160a01b0392831617905560208281018051600f5560408051855190941684529051918301919091527fd9e8bc676b8863c1fbead5dc110b74a3d898112eaba97345deae8e815231d887910162000162565b6011546001600160a01b0316620004b05780516001600160a01b03166200048e5760405162461bcd60e51b815260206004820152601e60248201527f44657846694554463a2042617365206973207a65726f2061646472657373000060448201526064016200010f565b8051601180546001600160a01b0319166001600160a01b039092169190911790555b6020810151620004c09062000ba3565b6000620004d9601362000c0c60201b62001e411760201c565b6001600160401b03811115620004f357620004f362001247565b6040519080825280602002602001820160405280156200051d578160200160208202803683370190505b50604083015151909150600090815b62000543601362000c0c60201b62001e411760201c565b8110156200072c5760006200056882601362000c1d60201b62001e4b1790919060201c565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d9919062001832565b905060005b848110156200066757876040015181815181106200060057620006006200184c565b6020026020010151600001516001600160a01b0316836001600160a01b031603620006525760018785815181106200063c576200063c6200184c565b9115156020928302919091019091015262000667565b806200065e8162001878565b915050620005de565b508583815181106200067d576200067d6200184c565b60200260200101516200071457600d5460405163095ea7b360e01b81526001600160a01b039182166004820152602481018390529083169063095ea7b3906044016020604051808303816000875af1158015620006de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000704919062001894565b506200071282823062000c32565b505b50508080620007239062001878565b9150506200052c565b50825115620007c157600060018451620007479190620018b8565b90505b8381815181106200075f576200075f6200184c565b6020026020010151620007a357620007a16200078b82601362000c1d60201b62001e4b1790919060201c565b601362000dda60201b62001e571790919060201c565b505b8015620007bf5780620007b681620018ce565b9150506200074a565b505b60005b818110156200096857600085604001518281518110620007e857620007e86200184c565b60200260200101519050620008118160000151601362000df160201b62001e6c1790919060201c565b5080602001516000036200087a5760405162461bcd60e51b815260206004820152602960248201527f44657846694554463a20546f6b656e207765696768742073686f756c64206265604482015268206e6571207a65726f60b81b60648201526084016200010f565b60208082015182516001600160a01b039081166000908152601290935260409283902091909155825160115492840151620008bc939192919091169062000e08565b81516001600160a01b031660009081526016602090815260409091208251620008ec9391929190910190620011a9565b50601154815160408301516200090d926001600160a01b0316919062000e08565b81516001600160a01b0316600090815260156020908152604090912082516200093d9391929190910190620011a9565b5060208101516200094f9085620018e8565b93505080806200095f9062001878565b915050620007c4565b506011546200098f906013906001600160a01b031662001003602090811b62001e8117901c565b620009e85760405162461bcd60e51b815260206004820152602260248201527f44657846694554463a20546f6b656e73206e6f7420636f6e7461696e73206261604482015261736560f01b60648201526084016200010f565b612710821462000a4f5760405162461bcd60e51b815260206004820152602b60248201527f44657846694554463a204e657720746f6b656e73207765696768742073756d2060448201526a3732b8902224ab24a222a960a91b60648201526084016200010f565b8062000a67601362000c0c60201b62001e411760201c565b1462000ac45760405162461bcd60e51b815260206004820152602560248201527f44657846694554463a20436f6e66696775726174696f6e7320697320696e636f6044820152641c9c9958dd60da1b60648201526084016200010f565b7f55db413044258dbbd519c0d031bddd9d09087c9484dfa6bb49f22ce2eb8d9deb8460405162000af59190620018fe565b60405180910390a150505050565b6001600160a01b03811662000b815760405162461bcd60e51b815260206004820152603660248201527f446578436f6e66696775726174696f6e4d616e6167656d656e74426173653a2060448201527f526f75746572206973207a65726f20616464726573730000000000000000000060648201526084016200010f565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b61271081111562000c075760405162461bcd60e51b815260206004820152602760248201527f44657846694554463a20496e636f7272656374206d6178446576696174696f6e60448201526614195c98d95b9d60ca1b60648201526084016200010f565b601055565b600062000c17825490565b92915050565b600062000c2b838362001026565b9392505050565b6011546000906001600160a01b038581169116148062000c50575082155b1562000c5e57508162000c2b565b6011546040516370a0823160e01b81526001600160a01b0384811660048301529091169060009082906370a0823190602401602060405180830381865afa15801562000cae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cd4919062001832565b600d546001600160a01b03888116600090815260166020526040908190209051635c11d79560e01b8152939450911691635c11d7959162000d219189916001918a904290600401620019db565b600060405180830381600087803b15801562000d3c57600080fd5b505af115801562000d51573d6000803e3d6000fd5b50506040516370a0823160e01b81526001600160a01b038781166004830152849350851691506370a0823190602401602060405180830381865afa15801562000d9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000dc4919062001832565b62000dd09190620018b8565b9695505050505050565b600062000c2b836001600160a01b03841662001053565b600062000c2b836001600160a01b03841662001157565b6011546060906001600160a01b038581169116148062000e3557506011546001600160a01b038481169116145b62000e835760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a2042617365206973206d697373696e670000000000000060448201526064016200010f565b60115482516001600160a01b038681169216919091149062000ea7816002620018e8565b6001600160401b0381111562000ec15762000ec162001247565b60405190808252806020026020018201604052801562000eeb578160200160208202803683370190505b509250858360008151811062000f055762000f056200184c565b6001600160a01b0390921660209283029190910190910152801562000fb55760005b8181101562000fb35784818151811062000f455762000f456200184c565b6020026020010151848462000f675762000f61836001620018e8565b62000f73565b62000f738385620018b8565b8151811062000f865762000f866200184c565b6001600160a01b03909216602092830291909101909101528062000faa8162001878565b91505062000f27565b505b84836001855162000fc79190620018b8565b8151811062000fda5762000fda6200184c565b60200260200101906001600160a01b031690816001600160a01b03168152505050509392505050565b6001600160a01b0381166000908152600183016020526040812054151562000c2b565b60008260000182815481106200104057620010406200184c565b9060005260206000200154905092915050565b600081815260018301602052604081205480156200114c5760006200107a600183620018b8565b85549091506000906200109090600190620018b8565b9050818114620010fc576000866000018281548110620010b457620010b46200184c565b9060005260206000200154905080876000018481548110620010da57620010da6200184c565b6000918252602080832090910192909255918252600188019052604090208390555b855486908062001110576200111062001a53565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505062000c17565b600091505062000c17565b6000818152600183016020526040812054620011a05750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000c17565b50600062000c17565b82805482825590600052602060002090810192821562001201579160200282015b828111156200120157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620011ca565b506200120f92915062001213565b5090565b5b808211156200120f576000815560010162001214565b80516001600160a01b03811681146200124257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562001282576200128262001247565b60405290565b604080519081016001600160401b038111828210171562001282576200128262001247565b604051601f8201601f191681016001600160401b0381118282101715620012d857620012d862001247565b604052919050565b600082601f830112620012f257600080fd5b81516001600160401b038111156200130e576200130e62001247565b602062001324601f8301601f19168201620012ad565b82815285828487010111156200133957600080fd5b60005b83811015620013595785810183015182820184015282016200133c565b506000928101909101919091529392505050565b6000606082840312156200138057600080fd5b6200138a6200125d565b905062001397826200122a565b8152602082015160208201526040820151604082015292915050565b600060408284031215620013c657600080fd5b620013d062001288565b9050620013dd826200122a565b81526020820151602082015292915050565b60006001600160401b038211156200140b576200140b62001247565b5060051b60200190565b6000606082840312156200142857600080fd5b620014326200125d565b90506200143f826200122a565b8152602082810151818301526040808401516001600160401b03808211156200146757600080fd5b818601915086601f8301126200147c57600080fd5b8151620014936200148d82620013ef565b620012ad565b81815260059190911b83018501908581019089831115620014b357600080fd5b8685015b83811015620015a757805185811115620014d15760008081fd5b86016060818d03601f19011215620014e95760008081fd5b620014f36200125d565b620015008a83016200122a565b8152888201518a8201526060820151878111156200151e5760008081fd5b8083019250508c603f830112620015355760008081fd5b89820151620015486200148d82620013ef565b81815260059190911b83018a01908b8101908f831115620015695760008081fd5b938b01935b82851015620015925762001582856200122a565b8252938c0193908c01906200156e565b838c01525050845250918701918701620014b7565b5080868901525050505050505092915050565b60008060008060006101008688031215620015d457600080fd5b620015df866200122a565b60208701519095506001600160401b0380821115620015fd57600080fd5b908701906040828a0312156200161257600080fd5b6200161c62001288565b8251828111156200162c57600080fd5b6200163a8b828601620012e0565b8252506020830151828111156200165057600080fd5b6200165e8b828601620012e0565b6020830152509550620016758960408a016200136d565b9450620016868960a08a01620013b3565b935060e08801519150808211156200169d57600080fd5b50620016ac8882890162001415565b9150509295509295909350565b600181811c90821680620016ce57607f821691505b602082108103620016ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200174357600081815260208120601f850160051c810160208610156200171e5750805b601f850160051c820191505b818110156200173f578281556001016200172a565b5050505b505050565b81516001600160401b0381111562001764576200176462001247565b6200177c81620017758454620016b9565b84620016f5565b602080601f831160018114620017b457600084156200179b5750858301515b600019600386901b1c1916600185901b1785556200173f565b600085815260208120601f198616915b82811015620017e557888601518255948401946001909101908401620017c4565b5085821015620018045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200182757600080fd5b62000c2b826200122a565b6000602082840312156200184557600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016200188d576200188d62001862565b5060010190565b600060208284031215620018a757600080fd5b8151801515811462000c2b57600080fd5b8181038181111562000c175762000c1762001862565b600081620018e057620018e062001862565b506000190190565b8082018082111562000c175762000c1762001862565b60006020808352608080840160018060a01b0380875116848701528387015160408181890152808901519150606080818a015284835180875260a08b01915060a08160051b8c0101965088850194506000805b82811015620019c9578c8903609f190184528651805189168a528b8101518c8b0152860151868a018690528051868b01819052908c019083908c8c01905b80831015620019b35783518c168252928e019260019290920191908e01906200198f565b509a505050958a0195928a019260010162001951565b50969c9b505050505050505050505050565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b8181101562001a325784546001600160a01b03168352600194850194928401920162001a0b565b50506001600160a01b03969096166060850152505050608001529392505050565b634e487b7160e01b600052603160045260246000fd5b614a108062001a796000396000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c80637d290ab51161019d578063ab3d8544116100e9578063dd62ed3e116100a2578063eab547b11161007c578063eab547b11461067e578063ebb34e8d14610691578063f887ea4014610699578063fbf7c7df146106ac57600080fd5b8063dd62ed3e14610645578063e14682e014610658578063e1bda45c1461066b57600080fd5b8063ab3d8544146105f2578063aef73862146105fb578063bc063e1a14610603578063c45a01551461060c578063c58a12981461061f578063c7cd7b011461063257600080fd5b80639a71ad4e11610156578063a7cac84611610130578063a7cac8461461059d578063a9059cbb146105bd578063a93bb21d146105d0578063aaf5eb68146105e357600080fd5b80639a71ad4e14610562578063a457c2d714610582578063a64ed8ba1461059557600080fd5b80637d290ab5146105115780637d7c2a1c146105245780638474bff71461052c5780638da5cb5b1461053f57806395d89b41146105475780639a078ad41461054f57600080fd5b80635001f3b51161025c578063625e6629116102155780636fcb18e6116101ef5780636fcb18e6146104ba57806370a08231146104cd57806373f1f6f0146104f657806379e66b46146104fe57600080fd5b8063625e6629146104955780636284ae41146104a85780636cf85ead146104b157600080fd5b80635001f3b51461043f57806354cf2aeb146104525780635c975abb1461045b5780635efcae241461046657806361d027b31461047957806362043bd81461048c57600080fd5b806323b872dd116102c9578063313ce567116102a3578063313ce567146103f75780633500d1991461040657806339509351146104195780634f64b2be1461042c57600080fd5b806323b872dd146103b157806329068f45146103c45780632af9cc41146103e457600080fd5b8063039bf6ba1461031157806304d3c80e1461034157806306fdde0314610364578063095ea7b3146103795780630bc6fb161461038c57806318160ddd1461039f575b600080fd5b61032461031f366004613fc1565b6106b5565b6040516001600160a01b0390911681526020015b60405180910390f35b61035461034f366004613fc1565b6106c8565b6040519015158152602001610338565b61036c61074f565b6040516103389190613ffe565b610354610387366004614049565b6107e1565b61035461039a366004614075565b6107f9565b6002545b604051908152602001610338565b6103546103bf366004614092565b610806565b6103d76103d23660046140d3565b61082c565b60405161033891906140f5565b6103a36103f23660046140d3565b610915565b60405160128152602001610338565b610354610414366004614247565b610c59565b610354610427366004614049565b610ca4565b61032461043a366004613fc1565b610cc6565b601154610324906001600160a01b031681565b6103a3600f5481565b60055460ff16610354565b6103d76104743660046140d3565b610cd3565b600a54610324906001600160a01b031681565b6103a361271081565b6103a36104a3366004614075565b610db3565b6103a360085481565b6103a360105481565b6103546104c8366004614247565b610ebe565b6103a36104db366004614075565b6001600160a01b031660009081526020819052604090205490565b6103a3610f01565b6103a361050c3660046140d3565b610f12565b61035461051f36600461427b565b611161565b6103546111a4565b6103d761053a366004614075565b61158f565b610324611605565b61036c611673565b61035461055d3660046142dc565b611682565b610575610570366004614247565b61175a565b6040516103389190614462565b610354610590366004614049565b611823565b6103a36118a9565b6103a36105ab366004614075565b60126020526000908152604090205481565b6103546105cb366004614049565b6118b5565b6105756105de366004613fc1565b6118c3565b6103a3670de0b6b3a764000081565b6103a361012c81565b6103a3611ad4565b6103a36101f481565b600e54610324906001600160a01b031681565b61035461062d366004614475565b611b1f565b600754610324906001600160a01b031681565b6103a36106533660046144cc565b611b62565b610354610666366004614075565b611b8d565b6103d7610679366004614075565b611bd0565b61035461068c366004614075565b611c44565b610354611c51565b600d54610324906001600160a01b031681565b6103a360095481565b60006106c2600b83611e4b565b92915050565b60006106d2611605565b6001600160a01b0316336001600160a01b03161461070b5760405162461bcd60e51b815260040161070290614505565b60405180910390fd5b61071482611ea3565b6040518281527e0182e9c02371d47bcdc749e3d6d8d171b5be0a0408c34c61882b848e424f419060200160405180910390a15060015b919050565b60606003805461075e9061454f565b80601f016020809104026020016040519081016040528092919081815260200182805461078a9061454f565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b5050505050905090565b6000336107ef818585611f0a565b5060019392505050565b60006106c2601383611e81565b60003361081485828561202f565b61081f8585856120a9565b60019150505b9392505050565b6060600061083a600b611e41565b905080841061084957506106c2565b60006108558486614599565b9050808210156108625750805b61086c85826145ac565b6001600160401b0381111561088357610883614142565b6040519080825280602002602001820160405280156108ac578160200160208202803683370190505b50925060005b835181101561090c576108d06108c88288614599565b600b90611e4b565b8482815181106108e2576108e26145bf565b6001600160a01b039092166020928302919091019091015280610904816145d5565b9150506108b2565b50505092915050565b600061091f61224d565b6109276111a4565b50600061093360025490565b9050600061094033611c44565b610964576127106008548661095591906145ee565b61095f9190614605565b610967565b60005b905061097333866122a6565b801561099c57600a5461098f906001600160a01b0316826123d5565b61099981866145ac565b94505b60005b6109a96013611e41565b811015610ba25760006109bd601383611e4b565b6011549091506001600160a01b03808316911614610af2576040516370a0823160e01b815230600482015260009085906001600160a01b038416906370a0823190602401602060405180830381865afa158015610a1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a429190614627565b610a4c908a6145ee565b610a569190614605565b600d5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810183905291925083169063095ea7b3906044016020604051808303816000875af1158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190614640565b506000610add838330612494565b9050610ae98188614599565b96505050610b8f565b6040516370a0823160e01b8152306004820152600090859087906001600160a01b038516906370a0823190602401602060405180830381865afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b619190614627565b610b6b91906145ac565b610b75908a6145ee565b610b7f9190614605565b9050610b8b8187614599565b9550505b5080610b9a816145d5565b91505061099f565b5083831015610bf35760405162461bcd60e51b815260206004820152601d60248201527f44657846694554463a20416d6f756e744f757420756e646572666c6f770000006044820152606401610702565b601154610c0a906001600160a01b0316338561262d565b604080518681526020810185905290810182905233907fd7bb42c65445e1e9687ab84eab87a19247ad64b7cb3845cb57720abbcc86d2ed9060600160405180910390a250506106c26001600655565b6000610c63611605565b6001600160a01b0316336001600160a01b031614610c935760405162461bcd60e51b815260040161070290614505565b610c9c82612690565b506001919050565b6000336107ef818585610cb78383611b62565b610cc19190614599565b611f0a565b60006106c2601383611e4b565b60606000610ce16013611e41565b9050808410610cf057506106c2565b6000610cfc8486614599565b905080821015610d095750805b610d1385826145ac565b6001600160401b03811115610d2a57610d2a614142565b604051908082528060200260200182016040528015610d53578160200160208202803683370190505b50925060005b835181101561090c57610d77610d6f8288614599565b601390611e4b565b848281518110610d8957610d896145bf565b6001600160a01b039092166020928302919091019091015280610dab816145d5565b915050610d59565b60115460009082906001600160a01b0390811690821603610e3d576040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e369190614627565b9150610eb8565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea89190614627565b9050610eb48482612717565b9250505b50919050565b6000610ec8611605565b6001600160a01b0316336001600160a01b031614610ef85760405162461bcd60e51b815260040161070290614505565b610c9c8261290d565b6000610f0d600b611e41565b905090565b6000610f1c612989565b610f2461224d565b6000610f2f60025490565b905080600003610fc757610f41611605565b6001600160a01b0316336001600160a01b031614610fc75760405162461bcd60e51b815260206004820152603a60248201527f44657846694554463a20507269636520696e697469616c697a6174696f6e206360448201527f616e2062652063616c6c6564206f6e6c79206279206f776e65720000000000006064820152608401610702565b6000610fd1611ad4565b601154909150610fec906001600160a01b03163330886129d1565b610ff46111a4565b506000610fff611ad4565b9050818110156110215760405162461bcd60e51b815260040161070290614662565b6000831161103757670de0b6b3a7640000611057565b818361104382846145ac565b61104d91906145ee565b6110579190614605565b9350600061106433611c44565b611088576127106009548661107991906145ee565b6110839190614605565b61108b565b60005b905080156110b657600a546110a9906001600160a01b0316826123d5565b6110b381866145ac565b94505b858510156111065760405162461bcd60e51b815260206004820152601e60248201527f44657846694554463a204d696e74416d6f756e7420756e646572666c6f7700006044820152606401610702565b61111033866123d5565b604080518881526020810187905290810182905233907f2631ff4988bacd01d1d02e8d5ff4c7512ede9f7b1d884fe2b5e56dbd365913c09060600160405180910390a2505050506106c26001600655565b600061116b611605565b6001600160a01b0316336001600160a01b03161461119b5760405162461bcd60e51b815260040161070290614505565b610c9c82612a09565b60006111ae611c51565b6111b85750600090565b60006111c46013611e41565b90506000816001600160401b038111156111e0576111e0614142565b604051908082528060200260200182016040528015611209578160200160208202803683370190505b5090506000611216611ad4565b905060005b838110156113d4576000611230601383611e4b565b60115490915081906001600160a01b03908116908216036112525750506113c2565b6001600160a01b0382166000908152601260205260408120549061271061127983886145ee565b6112839190614605565b9050600061129085610db3565b9050808210156113bc5760018887815181106112ae576112ae6145bf565b9115156020928302919091019091015260006112ca83836145ac565b905060006112d88783612b88565b6001600160a01b03881660009081526016602052604081205491925090611301906001906145ac565b9050600061130e82612d0a565b90508061131d83612710614789565b61132790856145ee565b6113319190614605565b600d5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810183905291945089169063095ea7b3906044016020604051808303816000875af1158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190614640565b506113b6898430612494565b50505050505b50505050505b806113cc816145d5565b91505061121b565b5060005b838110156115845760006113ed601383611e4b565b6011549091506001600160a01b0390811690821681900361140f575050611572565b848381518110611421576114216145bf565b602002602001015115611435575050611572565b6001600160a01b0382166000908152601260205260408120549061271061145c83886145ee565b6114669190614605565b9050600061147385610db3565b90508082111561156c57600061148982846145ac565b6001600160a01b038716600090815260166020526040812054919250906114b2906001906145ac565b905060006114bf82612d0a565b9050806114ce83612710614789565b6114d890856145ee565b6114e29190614605565b600d5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810183905291945088169063095ea7b3906044016020604051808303816000875af1158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190614640565b50611567888430612d55565b505050505b50505050505b8061157c816145d5565b9150506113d8565b506001935050505090565b6001600160a01b0381166000908152601560209081526040918290208054835181840281018401909452808452606093928301828280156115f957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115db575b50505050509050919050565b60075460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa15801561164f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190614795565b60606004805461075e9061454f565b600061168c611605565b6001600160a01b0316336001600160a01b0316146116bc5760405162461bcd60e51b815260040161070290614505565b60006116c760025490565b11156117405760115482516001600160a01b039081169116146117405760405162461bcd60e51b815260206004820152602b60248201527f44657846694554463a2042617365206973206e6f7420657175616c20746f206360448201526a757272656e74206261736560a81b6064820152608401610702565b61174982612e38565b6117516111a4565b50600192915050565b8051606090806001600160401b0381111561177757611777614142565b6040519080825280602002602001820160405280156117a0578160200160208202803683370190505b50915060005b8181101561181c57601260008583815181106117c4576117c46145bf565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548382815181106117ff576117ff6145bf565b602090810291909101015280611814816145d5565b9150506117a6565b5050919050565b600033816118318286611b62565b9050838110156118915760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610702565b61189e8286868403611f0a565b506001949350505050565b6000610f0d6013611e41565b6000336107ef8185856120a9565b60606118cd61224d565b60006118d96013611e41565b9050806001600160401b038111156118f3576118f3614142565b60405190808252806020026020018201604052801561191c578160200160208202803683370190505b5091506119276111a4565b50600061193360025490565b9050600061194033611c44565b611964576127106008548661195591906145ee565b61195f9190614605565b611967565b60005b905061197333866122a6565b801561199c57600a5461198f906001600160a01b0316826123d5565b61199981866145ac565b94505b60005b83811015611a815760006119b4601383611e4b565b6040516370a0823160e01b815230600482015290915060009085906001600160a01b038416906370a0823190602401602060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a249190614627565b611a2e908a6145ee565b611a389190614605565b905080878481518110611a4d57611a4d6145bf565b6020908102919091010152611a6c6001600160a01b038316338361262d565b50508080611a79906145d5565b91505061199f565b50336001600160a01b03167ffd93aa1ea9e29f6ccace82fbd8249ed0aca5ec4f18e08a781ec299c99c63fbe0868684604051611abf939291906147b2565b60405180910390a250505061074a6001600655565b600080611ae16013611e41565b905060005b81811015611b1a57611afc6104a3601383611e4b565b611b069084614599565b925080611b12816145d5565b915050611ae6565b505090565b6000611b29611605565b6001600160a01b0316336001600160a01b031614611b595760405162461bcd60e51b815260040161070290614505565b610c9c82613460565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000611b97611605565b6001600160a01b0316336001600160a01b031614611bc75760405162461bcd60e51b815260040161070290614505565b610c9c82613589565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156115f9576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116115db5750505050509050919050565b60006106c2600b83611e81565b600080611c5c611ad4565b905080600003611c6e57600091505090565b6000611c7a6013611e41565b905060008060005b83811015611e39576000611c97601383611e4b565b6001600160a01b038116600090815260126020526040812054919250612710611cc0838a6145ee565b611cca9190614605565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d389190614627565b905080600003611d52576001995050505050505050505090565b6011546001600160a01b0390811690851603611dc357819650808710611d8157611d7c81886145ac565b611d8b565b611d8b87826145ac565b60105490965081611d9e612710896145ee565b611da89190614605565b1115611dbe576001995050505050505050505090565b611e22565b611dcd8483612b88565b9650808710611de557611de081886145ac565b611def565b611def87826145ac565b60105490965081611e02612710896145ee565b611e0c9190614605565b1115611e22576001995050505050505050505090565b505050508080611e31906145d5565b915050611c82565b505050505090565b60006106c2825490565b60006108258383613648565b6000610825836001600160a01b038416613672565b6000610825836001600160a01b038416613765565b6001600160a01b03811660009081526001830160205260408120541515610825565b612710811115611f055760405162461bcd60e51b815260206004820152602760248201527f44657846694554463a20496e636f7272656374206d6178446576696174696f6e60448201526614195c98d95b9d60ca1b6064820152608401610702565b601055565b6001600160a01b038316611f6c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610702565b6001600160a01b038216611fcd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610702565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061203b8484611b62565b905060001981146120a357818110156120965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610702565b6120a38484848403611f0a565b50505050565b6001600160a01b03831661210d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610702565b6001600160a01b03821661216f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610702565b6001600160a01b038316600090815260208190526040902054818110156121e75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610702565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36120a3565b60026006540361229f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610702565b6002600655565b6001600160a01b0382166123065760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610702565b6001600160a01b0382166000908152602081905260409020548181101561237a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610702565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612022565b505050565b6001600160a01b03821661242b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610702565b806002600082825461243d9190614599565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6011546000906001600160a01b03858116911614806124b1575082155b156124bd575081610825565b6011546040516370a0823160e01b81526001600160a01b0384811660048301529091169060009082906370a0823190602401602060405180830381865afa15801561250c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125309190614627565b600d546001600160a01b03888116600090815260166020526040908190209051635c11d79560e01b8152939450911691635c11d7959161257b9189916001918a9042906004016147db565b600060405180830381600087803b15801561259557600080fd5b505af11580156125a9573d6000803e3d6000fd5b50506040516370a0823160e01b81526001600160a01b038781166004830152849350851691506370a0823190602401602060405180830381865afa1580156125f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126199190614627565b61262391906145ac565b9695505050505050565b6040516001600160a01b0383166024820152604481018290526123d090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526137b4565b60005b81518110156126dc576126c98282815181106126b1576126b16145bf565b6020026020010151600b611e6c90919063ffffffff16565b50806126d4816145d5565b915050612693565b507f81892f8acd17f72c804624af9522444fa5bf8620f5164cfc7c4d72671c245a4f8160405161270c91906140f5565b60405180910390a150565b600081600003612729575060006106c2565b6001600160a01b03831660009081526016602090815260408083208054825181850281018501909352808352919290919083018282801561279357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612775575b50505050509050600081516001600160401b038111156127b5576127b5614142565b6040519080825280602002602001820160405280156127de578160200160208202803683370190505b50905083816000815181106127f5576127f56145bf565b60200260200101818152505060005b6001835161281291906145ac565b8110156128db57600e5483516000918291612876916001600160a01b031690879086908110612843576128436145bf565b6020026020010151878660016128599190614599565b81518110612869576128696145bf565b6020026020010151613886565b9150915061289e84848151811061288f5761288f6145bf565b602002602001015183836139bb565b846128aa856001614599565b815181106128ba576128ba6145bf565b602002602001018181525050505080806128d3906145d5565b915050612804565b5080600182516128eb91906145ac565b815181106128fb576128fb6145bf565b60200260200101519250505092915050565b60005b81518110156129595761294682828151811061292e5761292e6145bf565b6020026020010151600b611e5790919063ffffffff16565b5080612951816145d5565b915050612910565b507f45c5f8e73844ec0c33bc33e507d12b06c7fbf6d5b484bfa791a7db6b7ebeee008160405161270c91906140f5565b60055460ff16156129cf5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610702565b565b6040516001600160a01b03808516602483015283166044820152606481018290526120a39085906323b872dd60e01b90608401612659565b80516001600160a01b0316612a6b5760405162461bcd60e51b815260206004820152602260248201527f44657846694554463a205472656173757279206973207a65726f206164647265604482015261737360f01b6064820152608401610702565b6101f481602001511115612ac15760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a20496e76616c6964206a6f696e466565000000000000006044820152606401610702565b6101f481604001511115612b175760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a20496e76616c69642065786974466565000000000000006044820152606401610702565b8051600a80546001600160a01b0319166001600160a01b0390921691821790556020808301805160095560408085018051600855815194855291519284019290925251908201527ff8bb6b7d53fa50ed2247e73b243eca3946a140288f9ca077a9ea84730b7adae79060600161270c565b600081600003612b9a575060006106c2565b6001600160a01b038316600090815260156020908152604080832080548251818502810185019093528083529192909190830182828015612c0457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612be6575b50505050509050600081516001600160401b03811115612c2657612c26614142565b604051908082528060200260200182016040528015612c4f578160200160208202803683370190505b5090508381600081518110612c6657612c666145bf565b60200260200101818152505060005b60018351612c8391906145ac565b8110156128db57600e5483516000918291612cb4916001600160a01b031690879086908110612843576128436145bf565b91509150612ccd84848151811061288f5761288f6145bf565b84612cd9856001614599565b81518110612ce957612ce96145bf565b60200260200101818152505050508080612d02906145d5565b915050612c75565b6000600282600f54612710612d1f91906145ac565b612d299190614789565b612d339190614605565b6002612d4184612710614789565b612d4b9190614605565b6106c29190614599565b6011546000906001600160a01b0385811691161480612d72575082155b15612d7e575081610825565b6040516370a0823160e01b81526001600160a01b03838116600483015285916000918316906370a0823190602401602060405180830381865afa158015612dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ded9190614627565b600d546001600160a01b03888116600090815260156020526040908190209051635c11d79560e01b8152939450911691635c11d7959161257b9189916001918a9042906004016147db565b6011546001600160a01b0316612ec15780516001600160a01b0316612e9f5760405162461bcd60e51b815260206004820152601e60248201527f44657846694554463a2042617365206973207a65726f206164647265737300006044820152606401610702565b8051601180546001600160a01b0319166001600160a01b039092169190911790555b612ece8160200151611ea3565b6000612eda6013611e41565b6001600160401b03811115612ef157612ef1614142565b604051908082528060200260200182016040528015612f1a578160200160208202803683370190505b50604083015151909150600090815b612f336013611e41565b8110156130f0576000612f47601383611e4b565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015612f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb59190614627565b905060005b848110156130375787604001518181518110612fd857612fd86145bf565b6020026020010151600001516001600160a01b0316836001600160a01b031603613025576001878581518110613010576130106145bf565b91151560209283029190910190910152613037565b8061302f816145d5565b915050612fba565b5085838151811061304a5761304a6145bf565b60200260200101516130db57600d5460405163095ea7b360e01b81526001600160a01b039182166004820152602481018390529083169063095ea7b3906044016020604051808303816000875af11580156130a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130cd9190614640565b506130d9828230612494565b505b505080806130e8906145d5565b915050612f29565b5082511561315b5760006001845161310891906145ac565b90505b83818151811061311d5761311d6145bf565b60200260200101516131415761313f613137601383611e4b565b601390611e57565b505b8015613159578061315181614851565b91505061310b565b505b60005b818110156132e85760008560400151828151811061317e5761317e6145bf565b602002602001015190506131a081600001516013611e6c90919063ffffffff16565b5080602001516000036132075760405162461bcd60e51b815260206004820152602960248201527f44657846694554463a20546f6b656e207765696768742073686f756c64206265604482015268206e6571207a65726f60b81b6064820152608401610702565b60208082015182516001600160a01b0390811660009081526012909352604092839020919091558251601154928401516132479391929190911690613a5e565b81516001600160a01b0316600090815260166020908152604090912082516132759391929190910190613f47565b5060115481516040830151613294926001600160a01b03169190613a5e565b81516001600160a01b0316600090815260156020908152604090912082516132c29391929190910190613f47565b5060208101516132d29085614599565b93505080806132e0906145d5565b91505061315e565b50601154613301906013906001600160a01b0316611e81565b6133585760405162461bcd60e51b815260206004820152602260248201527f44657846694554463a20546f6b656e73206e6f7420636f6e7461696e73206261604482015261736560f01b6064820152608401610702565b61271082146133bd5760405162461bcd60e51b815260206004820152602b60248201527f44657846694554463a204e657720746f6b656e73207765696768742073756d2060448201526a3732b8902224ab24a222a960a91b6064820152608401610702565b806133c86013611e41565b146134235760405162461bcd60e51b815260206004820152602560248201527f44657846694554463a20436f6e66696775726174696f6e7320697320696e636f6044820152641c9c9958dd60da1b6064820152608401610702565b7f55db413044258dbbd519c0d031bddd9d09087c9484dfa6bb49f22ce2eb8d9deb846040516134529190614868565b60405180910390a150505050565b61012c816020015111156134b65760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a20496e76616c69642073776170466565000000000000006044820152606401610702565b80516134c190613c37565b80600001516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135279190614795565b600e80546001600160a01b0319166001600160a01b0392831617905560208281018051600f5560408051855190941684529051918301919091527fd9e8bc676b8863c1fbead5dc110b74a3d898112eaba97345deae8e815231d887910161270c565b6001600160a01b0381166135fa5760405162461bcd60e51b815260206004820152603260248201527f4f776e6572536f757263654d616e6167656d656e743a204f776e6572536f75726044820152716365206973207a65726f206164647265737360701b6064820152608401610702565b600780546001600160a01b0319166001600160a01b0383169081179091556040519081527f100db0c8ceeaacf1b38d790c3e0cba902dc0bb427397bd093c690cfdd5471a5c9060200161270c565b600082600001828154811061365f5761365f6145bf565b9060005260206000200154905092915050565b6000818152600183016020526040812054801561375b5760006136966001836145ac565b85549091506000906136aa906001906145ac565b905081811461370f5760008660000182815481106136ca576136ca6145bf565b90600052602060002001549050808760000184815481106136ed576136ed6145bf565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061372057613720614941565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106c2565b60009150506106c2565b60008181526001830160205260408120546137ac575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106c2565b5060006106c2565b6000613809826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613cce9092919063ffffffff16565b8051909150156123d057808060200190518101906138279190614640565b6123d05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610702565b60008060006138958585613ce5565b5060405163e6a4390560e01b81526001600160a01b038781166004830152868116602483015291925060009182919089169063e6a4390590604401602060405180830381865afa1580156138ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139119190614795565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561394e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613972919061496e565b506001600160701b031691506001600160701b03169150826001600160a01b0316876001600160a01b0316146139a95780826139ac565b81815b90999098509650505050505050565b60008084116139dc5760405162461bcd60e51b815260040161070290614662565b6000831180156139ec5750600082115b613a385760405162461bcd60e51b815260206004820181905260248201527f44657846694554463a20496e73756666696369656e74206c69717569646974796044820152606401610702565b6000613a4483866145ee565b90506000613a528686614599565b90506126238183614605565b6011546060906001600160a01b0385811691161480613a8a57506011546001600160a01b038481169116145b613ad65760405162461bcd60e51b815260206004820152601960248201527f44657846694554463a2042617365206973206d697373696e67000000000000006044820152606401610702565b60115482516001600160a01b0386811692169190911490613af8816002614599565b6001600160401b03811115613b0f57613b0f614142565b604051908082528060200260200182016040528015613b38578160200160208202803683370190505b5092508583600081518110613b4f57613b4f6145bf565b6001600160a01b03909216602092830291909101909101528015613bee5760005b81811015613bec57848181518110613b8a57613b8a6145bf565b60200260200101518484613ba857613ba3836001614599565b613bb2565b613bb283856145ac565b81518110613bc257613bc26145bf565b6001600160a01b039092166020928302919091019091015280613be4816145d5565b915050613b70565b505b848360018551613bfe91906145ac565b81518110613c0e57613c0e6145bf565b60200260200101906001600160a01b031690816001600160a01b03168152505050509392505050565b6001600160a01b038116613cac5760405162461bcd60e51b815260206004820152603660248201527f446578436f6e66696775726174696f6e4d616e6167656d656e74426173653a20604482015275526f75746572206973207a65726f206164647265737360501b6064820152608401610702565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6060613cdd8484600085613dce565b949350505050565b600080826001600160a01b0316846001600160a01b031603613d495760405162461bcd60e51b815260206004820152601f60248201527f4465784c6962726172793a204944454e544943414c5f414444524553534553006044820152606401610702565b826001600160a01b0316846001600160a01b031610613d69578284613d6c565b83835b90925090506001600160a01b038216613dc75760405162461bcd60e51b815260206004820152601860248201527f4465784c6962726172793a205a45524f5f4144445245535300000000000000006044820152606401610702565b9250929050565b606082471015613e2f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610702565b600080866001600160a01b03168587604051613e4b91906149be565b60006040518083038185875af1925050503d8060008114613e88576040519150601f19603f3d011682016040523d82523d6000602084013e613e8d565b606091505b5091509150613e9e87838387613ea9565b979650505050505050565b60608315613f18578251600003613f11576001600160a01b0385163b613f115760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610702565b5081613cdd565b613cdd8383815115613f2d5781518083602001fd5b8060405162461bcd60e51b81526004016107029190613ffe565b828054828255906000526020600020908101928215613f9c579160200282015b82811115613f9c57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613f67565b50613fa8929150613fac565b5090565b5b80821115613fa85760008155600101613fad565b600060208284031215613fd357600080fd5b5035919050565b60005b83811015613ff5578181015183820152602001613fdd565b50506000910152565b602081526000825180602084015261401d816040850160208701613fda565b601f01601f19169190910160400192915050565b6001600160a01b038116811461404657600080fd5b50565b6000806040838503121561405c57600080fd5b823561406781614031565b946020939093013593505050565b60006020828403121561408757600080fd5b813561082581614031565b6000806000606084860312156140a757600080fd5b83356140b281614031565b925060208401356140c281614031565b929592945050506040919091013590565b600080604083850312156140e657600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156141365783516001600160a01b031683529284019291840191600101614111565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561417a5761417a614142565b60405290565b604051601f8201601f191681016001600160401b03811182821017156141a8576141a8614142565b604052919050565b60006001600160401b038211156141c9576141c9614142565b5060051b60200190565b600082601f8301126141e457600080fd5b813560206141f96141f4836141b0565b614180565b82815260059290921b8401810191818101908684111561421857600080fd5b8286015b8481101561423c57803561422f81614031565b835291830191830161421c565b509695505050505050565b60006020828403121561425957600080fd5b81356001600160401b0381111561426f57600080fd5b613cdd848285016141d3565b60006060828403121561428d57600080fd5b604051606081018181106001600160401b03821117156142af576142af614142565b60405282356142bd81614031565b8152602083810135908201526040928301359281019290925250919050565b600060208083850312156142ef57600080fd5b82356001600160401b038082111561430657600080fd5b908401906060828703121561431a57600080fd5b614322614158565b823561432d81614031565b815282840135848201526040808401358381111561434a57600080fd5b80850194505087601f85011261435f57600080fd5b833561436d6141f4826141b0565b81815260059190911b8501860190868101908a83111561438c57600080fd5b8787015b83811015614412578035878111156143a85760008081fd5b88016060818e03601f190112156143bf5760008081fd5b6143c7614158565b8a8201356143d481614031565b8152818701358b8201526060820135898111156143f15760008081fd5b6143ff8f8d838601016141d3565b8289015250845250918801918801614390565b50928401929092525090979650505050505050565b600081518084526020808501945080840160005b838110156144575781518752958201959082019060010161443b565b509495945050505050565b6020815260006108256020830184614427565b60006040828403121561448757600080fd5b604051604081018181106001600160401b03821117156144a9576144a9614142565b60405282356144b781614031565b81526020928301359281019290925250919050565b600080604083850312156144df57600080fd5b82356144ea81614031565b915060208301356144fa81614031565b809150509250929050565b6020808252602a908201527f4f776e6572536f757263654d616e6167656d656e743a2043616c6c6572206973604082015269103737ba1037bbb732b960b11b606082015260800190565b600181811c9082168061456357607f821691505b602082108103610eb857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156106c2576106c2614583565b818103818111156106c2576106c2614583565b634e487b7160e01b600052603260045260246000fd5b6000600182016145e7576145e7614583565b5060010190565b80820281158282048414176106c2576106c2614583565b60008261462257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561463957600080fd5b5051919050565b60006020828403121561465257600080fd5b8151801515811461082557600080fd5b60208082526023908201527f44657846694554463a20496e73756666696369656e7420696e70757420616d6f6040820152621d5b9d60ea1b606082015260800190565b600181815b808511156146e05781600019048211156146c6576146c6614583565b808516156146d357918102915b93841c93908002906146aa565b509250929050565b6000826146f7575060016106c2565b81614704575060006106c2565b816001811461471a576002811461472457614740565b60019150506106c2565b60ff84111561473557614735614583565b50506001821b6106c2565b5060208310610133831016604e8410600b8410161715614763575081810a6106c2565b61476d83836146a5565b806000190482111561478157614781614583565b029392505050565b600061082583836146e8565b6000602082840312156147a757600080fd5b815161082581614031565b8381526060602082015260006147cb6060830185614427565b9050826040830152949350505050565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b818110156148305784546001600160a01b03168352600194850194928401920161480b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008161486057614860614583565b506000190190565b60006020808352608080840160018060a01b0380875116848701528387015160408181890152808901519150606080818a015284835180875260a08b01915060a08160051b8c0101965088850194506000805b8281101561492f578c8903609f190184528651805189168a528b8101518c8b0152860151868a018690528051868b01819052908c019083908c8c01905b8083101561491a5783518c168252928e019260019290920191908e01906148f8565b509a505050958a0195928a01926001016148bb565b50969c9b505050505050505050505050565b634e487b7160e01b600052603160045260246000fd5b80516001600160701b038116811461074a57600080fd5b60008060006060848603121561498357600080fd5b61498c84614957565b925061499a60208501614957565b9150604084015163ffffffff811681146149b357600080fd5b809150509250925092565b600082516149d0818460208701613fda565b919091019291505056fea2646970667358221220d567b4ce55d7638e82fa5869e9294d4dbf17ef6e27531941f41182248bc4be3364736f6c6343000811003300000000000000000000000096116c5c5c760bffc0d06017f96dbbbf25621ada000000000000000000000000000000000000000000000000000000000000010000000000000000000000000089a0831f491243fd520163a9db5f9fed93e672660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000002dc995c4cfbd9cc795bb5386eb5098c5f810d424000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f46726f7a656e205377616e20455446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054653455446000000000000000000000000000000000000000000000000000000000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7198437980c041c805a1edcba50c1ce5db951180000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000