0x60c06040526001805462ffffff19166175301790553480156200002157600080fd5b5060405162005fe938038062005fe9833981016040819052620000449162000144565b60016000556001600160a01b038116608081905260a05260405161025881527f4ef0f5aca00c220a4058c318e0dd5526680003d4e6fceb9ad65087452a8313fa9060200160405180910390a160015460405162ffffff90911681527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a16040805161012c8152610e1060208201527f0c92d75d9ae429e723cd03b00b1498b72fd1a30fd4337bf4cbdf14650599dd38910160405180910390a160405161020081527f93eac00dcf92d1cee4f4605f83f625533396c288555591736b62533e656beaf69060200160405180910390a15062000176565b6000602082840312156200015757600080fd5b81516001600160a01b03811681146200016f57600080fd5b9392505050565b60805160a051615e1c620001cd600039600081816108a8015281816109c801528181610a9901528181610b1201528181610cfe01528181610dde015261103c01526000818161067a0152610f420152615e1c6000f3fe60806040526004361061019e5760003560e01c806241673c146101a357806301000da7146101d6578063014053a014610206578063047fef49146102285780631290b96b1461026057806317e70c3c1461028057806340b790bd146102935780634869f3df146102ca5780634e8d8787146102ea57806363076680146102fd57806365e92cde1461034c57806366133e291461036c578063711ce3911461038c5780637ca340a6146103ac5780637e86d370146103cc5780638f13865e146103ec5780638fe8a90b1461040c5780639a94488a1461042c5780639b7b55851461046e578063a5514c7e14610484578063ae77c237146104a4578063b000e334146104b7578063b9daf3b5146104d7578063bf54d5fb146104f7578063c1b9281e14610517578063cce7c90914610537578063d009cb9d14610557578063d3ddabe61461058c578063d4f6d0e3146105cb578063d8b4e3ba146105f8578063d9bffbce14610618578063d9eb16db14610638578063dd85582f14610668578063e624db9f146106b4578063e9d1e8ac146106d4578063f5a759b71461070b575b600080fd5b3480156101af57600080fd5b506101c36101be366004615165565b61071e565b6040519081526020015b60405180910390f35b3480156101e257600080fd5b506101f66101f13660046151a3565b610754565b60405190151581526020016101cd565b34801561021257600080fd5b506102266102213660046151c0565b61078c565b005b34801561023457600080fd5b5061024861024336600461524b565b6107e2565b6040516101cd9c9b9a99989796959493929190615291565b34801561026c57600080fd5b5061022661027b36600461531f565b610826565b61022661028e366004615165565b610870565b34801561029f57600080fd5b506102b36102ae36600461524b565b610969565b6040805192151583526020830191909152016101cd565b3480156102d657600080fd5b506101c36102e536600461524b565b610982565b6101c36102f8366004615354565b610997565b34801561030957600080fd5b5060015460408051610258815261012c6020820152610e1091810191909152604860608201526203f480608082015262ffffff90911660a082015260c0016101cd565b34801561035857600080fd5b50610226610367366004615396565b6109f9565b34801561037857600080fd5b506102266103873660046153d3565b610a3e565b34801561039857600080fd5b506102266103a73660046151c0565b610a5f565b3480156103b857600080fd5b506102266103c73660046151c0565b610ac3565b3480156103d857600080fd5b506102266103e7366004615413565b610b3c565b3480156103f857600080fd5b506102266104073660046151c0565b610bc5565b34801561041857600080fd5b5061022661042736600461524b565b610c1c565b34801561043857600080fd5b5061044c61044736600461524b565b610c6a565b6040805182511515815260209283015162ffffff1692810192909252016101cd565b34801561047a57600080fd5b506101c361025881565b34801561049057600080fd5b5061022661049f3660046154a6565b610c7c565b6101c36104b236600461524b565b610ccd565b3480156104c357600080fd5b506102266104d23660046154a6565b610d2e565b3480156104e357600080fd5b506102266104f23660046154a6565b610d94565b34801561050357600080fd5b506101c361051236600461524b565b610e08565b34801561052357600080fd5b506102266105323660046151c0565b610e14565b34801561054357600080fd5b506101f661055236600461524b565b610e56565b34801561056357600080fd5b5061057761057236600461524b565b610e62565b604080519283526020830191909152016101cd565b34801561059857600080fd5b506105be60405180604001604052806006815260200165076302e302e360d41b81525081565b6040516101cd919061552b565b3480156105d757600080fd5b506105eb6105e63660046151a3565b610e7a565b6040516101cd919061553e565b34801561060457600080fd5b506101c361061336600461524b565b610e85565b34801561062457600080fd5b5061022661063336600461524b565b610ec1565b34801561064457600080fd5b5061065861065336600461524b565b610f00565b6040516101cd9493929190615558565b34801561067457600080fd5b5061069c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101cd565b3480156106c057600080fd5b506102266106cf366004615592565b610f3d565b3480156106e057600080fd5b506105be6040518060400160405280600b81526020016a04d696e74657252414d56360ac1b81525081565b6102266107193660046155c1565b611004565b60008061072b85856110f0565b60060154600160901b90046001600160581b0316905061074b8184611121565b95945050505050565b600080610760836111b7565b8054909150610100900460ff161561077c575460ff1692915050565b610785836111f0565b9392505050565b6002600054036107b75760405162461bcd60e51b81526004016107ae90615610565b60405180910390fd5b6002600055600180546107d79186918691869186919062ffffff16611366565b505060016000555050565b6000806000806000806000806000806000806107fe8e8e611568565b9b509b509b509b509b509b509b509b509b509b509b509b509295989b509295989b509295989b565b6002600054036108485760405162461bcd60e51b81526004016107ae90615610565b60026000556108588383336116c7565b610866838383610258611711565b5050600160005550565b6002600054036108925760405162461bcd60e51b81526004016107ae90615610565b6002600055604051635845de1f60e01b815230907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635845de1f906108e79087908790600401615647565b602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061565e565b6001600160a01b03161461094e5760405162461bcd60e51b81526004016107ae9061567b565b600154610866908490849084903390349062ffffff16611951565b6000806109768484611c55565b50909590945092505050565b600061098e8383611cc2565b90505b92915050565b60006002600054036109bb5760405162461bcd60e51b81526004016107ae90615610565b60026000556109ec8484847f0000000000000000000000000000000000000000000000000000000000000000611ce2565b6001600055949350505050565b600260005403610a1b5760405162461bcd60e51b81526004016107ae90615610565b6002600055610a338233306332f4966f60e11b611efc565b610866838383611f57565b610a518233306366133e2960e01b611efc565b610a5b828261210e565b5050565b600260005403610a815760405162461bcd60e51b81526004016107ae90615610565b6002600055600180546107d7918691869186918691907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612199565b600260005403610ae55760405162461bcd60e51b81526004016107ae90615610565b6002600055610afe84843330633e51a05360e11b612368565b6001546107d79085908590859085906000907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612199565b600260005403610b5e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610b6e8787336116c7565b610258610b7b86866156bc565b64ffffffffff161015610ba05760405162461bcd60e51b81526004016107ae906156da565b610bb787878787610bb0886123d1565b878761243d565b505060016000555050505050565b600260005403610be75760405162461bcd60e51b81526004016107ae90615610565b6002600055610c0084843330634789c32f60e11b612368565b6001546107d790859085908590859060009062ffffff16611366565b600260005403610c3e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610c5782823330638fe8a90b60e01b612368565b610c61828261278e565b50506001600055565b610c7261511f565b61098e8383612943565b600260005403610c9e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610cb68233306352a8a63f60e11b611efc565b6001546108669084908490849062ffffff16612973565b6000600260005403610cf15760405162461bcd60e51b81526004016107ae90615610565b6002600055610d223384847f0000000000000000000000000000000000000000000000000000000000000000611ce2565b60016000559392505050565b610d398383336116c7565b6000610d458484612b60565b90506000816004811115610d5b57610d5b61527b565b14610d785760405162461bcd60e51b81526004016107ae90615705565b610d83848484612c90565b610d8d8484612d49565b5050505050565b600260005403610db65760405162461bcd60e51b81526004016107ae90615610565b6002600055610dcf8383333063b9daf3b560e01b612368565b600154610866908490849084907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612dca565b600061098e8383612fdf565b600260005403610e365760405162461bcd60e51b81526004016107ae90615610565b60026000556001546107d7908590859085908590339062ffffff16613001565b600061098e83836130e5565b600080610e6f84846131bd565b909590945092505050565b600061099182613357565b600080610e928484613386565b9150506000610ea185856110f0565b60060154600160901b90046001600160581b0316905061074b8183611121565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016107ae565b60008060606000610f11868661341a565b60408051808201909152600381526208aa8960eb1b602082015291989097509095506000945092505050565b610f707f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b613554565b611b588162ffffff161015610fb85760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b60448201526064016107ae565b6001805462ffffff191662ffffff83169081179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a150565b6002600054036110265760405162461bcd60e51b81526004016107ae90615610565b6002600055604051635845de1f60e01b815230907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635845de1f9061107b9088908890600401615647565b602060405180830381865afa158015611098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bc919061565e565b6001600160a01b0316146110e25760405162461bcd60e51b81526004016107ae9061567b565b6107d78484848433346135a9565b60006110fa61382a565b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60006102008261ffff16106111485760405162461bcd60e51b81526004016107ae9061572f565b611155600861020061577b565b6111639061ffff841661577b565b6001600160581b038416901b905061117e600861020061577b565b61118b600861020061577b565b6111999061ffff851661578f565b6111a390836157a3565b6111ad919061577b565b61098e90826157ba565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906112529085906157cd565b600060405180830381855afa9150503d806000811461128d576040519150601f19603f3d011682016040523d82523d6000602084013e611292565b606091505b5091509150816112f25760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016107ae565b805160c08190036113095750600095945050505050565b806101000361131e5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016107ae565b8260006113738888612b60565b905060038160048111156113895761138961527b565b146113a65760405162461bcd60e51b81526004016107ae906157e9565b6000806113b38a8a611c55565b5091509150816113d55760405162461bcd60e51b81526004016107ae9061581e565b808411156113f55760405162461bcd60e51b81526004016107ae90615848565b505050600061140488886110f0565b905060006114118261384e565b90506000805b8481101561151d5760008989838181106114335761143361587f565b90506020020160208101906114489190615895565b63ffffffff166000818152602087905260409020805491925090600160501b90046001600160a01b03168061148f5760405162461bcd60e51b81526004016107ae906158b0565b61149a8260016138b5565b806114ab57506114ab8260026138b5565b156114b857505050611515565b89156114e657336001600160a01b038216146114e65760405162461bcd60e51b81526004016107ae906158d8565b8154611504908f908f908990600160401b900461ffff16878e6138ce565b8461150e81615907565b9550505050505b600101611417565b50808360050160198282829054906101000a900462ffffff166115409190615929565b92506101000a81548162ffffff021916908362ffffff16021790555050505050505050505050565b6000806000806000806000806000806000806115848e8e612b60565b905060006115928f8f6110f0565b90508060060160009054906101000a900464ffffffffff1664ffffffffff169c5080600601600a9054906101000a900464ffffffffff1664ffffffffff169b508060060160129054906101000a90046001600160581b03166001600160581b03169a508060050160109054906101000a900462ffffff1662ffffff1699508060050160139054906101000a900462ffffff1662ffffff1698508060050160169054906101000a900462ffffff1662ffffff1697508060050160199054906101000a900462ffffff1662ffffff1696508060050160009054906101000a900461ffff1661ffff1695508060060160109054906101000a900460ff1694508060060160119054906101000a900460ff16935080600701600f9054906101000a900460ff169250509295989b509295989b509295989b565b6116d2838383613a28565b61170c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016107ae565b505050565b600061171d85856110f0565b9050600161172b8686612b60565b600481111561173c5761173c61527b565b146117595760405162461bcd60e51b81526004016107ae90615945565b6006810154600160781b900460ff16156117b35760405162461bcd60e51b815260206004820152601b60248201527a273790383932bb34b7bab99030b236b4b71032bc3a32b739b4b7b760291b60448201526064016107ae565b6006810154600160281b810464ffffffffff908116600160501b90920416146117ee5760405162461bcd60e51b81526004016107ae90615970565b600681015464ffffffffff600160501b9091048116908416106118505760405162461bcd60e51b815260206004820152601a60248201527909edcd8f240e4cac8eac6ca40c2eac6e8d2dedc40d8cadccee8d60331b60448201526064016107ae565b600681015461186790839064ffffffffff166157ba565b8364ffffffffff161161188c5760405162461bcd60e51b81526004016107ae906156da565b428364ffffffffff16116118d95760405162461bcd60e51b81526020600482015260146024820152734f6e6c792066757475726520656e642074696d6560601b60448201526064016107ae565b600681018054600160281b600160781b031916600160501b64ffffffffff861690810264ffffffffff60281b191691909117600160281b919091021790556040516001600160a01b038516908690600080516020615da7833981519152906119429087906159a3565b60405180910390a35050505050565b600061195d87876110f0565b9050600161196b8888612b60565b600481111561197c5761197c61527b565b146119995760405162461bcd60e51b81526004016107ae90615945565b60068101546000906119bb90600160901b90046001600160581b031687611121565b9050808414611a0c5760405162461bcd60e51b815260206004820152601f60248201527f6d73672e76616c7565206d75737420657175616c20736c6f742076616c75650060448201526064016107ae565b600782018054859190600090611a2c9084906001600160781b03166159b5565b92506101000a8154816001600160781b0302191690836001600160781b031602179055508160050160139054906101000a900462ffffff1662ffffff16600003611a8657611a7a8888613ab1565b611a848888612d49565b505b6005820154600160801b900462ffffff1680611adb5760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399034b71030bab1ba34b7b760611b60448201526064016107ae565b6005830154600160981b900462ffffff168111801590611c3a576000611b03858c8c89613b6c565b9050611b0f8188613d94565b611b545760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206269642076616c756560501b60448201526064016107ae565b6006850154600090600160801b900460ff168015611b9057506006860154611b8d9061012c90600160501b900464ffffffffff166159d5565b42115b90508015611c37576006860154611bcd90611bbc90610e1090600160281b900464ffffffffff166157ba565b611bc861012c426157ba565b613dea565b86600601600a6101000a81548164ffffffffff021916908364ffffffffff1602179055508a6001600160a01b03168c600080516020615da783398151915288600601600a9054906101000a900464ffffffffff16604051611c2e91906159a3565b60405180910390a35b50505b611c49848b8b8b8b6000613e00565b50505050505050505050565b600080600080611c6586866110f0565b90506000611c728261411f565b90506000611c80888861416c565b9050808211955085611c93576000611c9d565b611c9d81836159d5565b945085611cb357611cae82826159d5565b611cb6565b60005b93505050509250925092565b600080611ccf84846141d3565b54610100900462ffffff16949350505050565b600080611cef85856110f0565b90506000611cfd8686612b60565b90506003816004811115611d1357611d1361527b565b1480611d3057506004816004811115611d2e57611d2e61527b565b145b611d705760405162461bcd60e51b81526020600482015260116024820152704f6e6c792073746174652044206f72204560781b60448201526064016107ae565b6000611d7c8787611c55565b9250505060008111611dca5760405162461bcd60e51b815260206004820152601760248201527652656163686564206d617820696e766f636174696f6e7360481b60448201526064016107ae565b50506006810154600160901b90046001600160581b0316348114611e305760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c792073656e642061756374696f6e20726573657276652070726963650060448201526064016107ae565b6040516117cd60e21b81526001600160a01b03851690615f3490611e5e908a908a908a9033906004016159e8565b6020604051808303816000875af1158015611e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea19190615a13565b9250611eae8682876141fb565b846001600160a01b0316867fdfd0b295795ee66148297b0ff929867a78b799aca7c8def4666dfd1110e58070858a604051611eea929190615647565b60405180910390a35050949350505050565b611f08848484846143bc565b611f515760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016107ae565b50505050565b6000611f6384846110f0565b90506001611f718585612b60565b6004811115611f8257611f8261527b565b14611f9f5760405162461bcd60e51b81526004016107ae90615945565b6006810154600160281b810464ffffffffff908116600160501b9092041614611fda5760405162461bcd60e51b81526004016107ae90615970565b6006810154600090611ff7908490600160781b900460ff16615a2c565b905060488160ff16111561204b5760405162461bcd60e51b815260206004820152601b60248201527a09edcd8f240cadacae4cecadcc6f240d0deeae4e640d8e840dac2f602b1b60448201526064016107ae565b600061205c60ff8516610e10615a45565b600684015461207d9161ffff1690600160501b900464ffffffffff16615a63565b60068401805465ffffffffffff60501b1916600160781b60ff86160264ffffffffff60501b191617600160501b64ffffffffff84169081029190911764ffffffffff60281b1916600160281b919091021790556040519091506001600160a01b038616908790600080516020615da7833981519152906120fe9085906159a3565b60405180910390a3505050505050565b8061211761382a565b6001600160a01b03841660009081526001918201602052604090208054909160ff199091169083600281111561214f5761214f61527b565b0217905550816001600160a01b03167f7e87227cdb277003c1fb102daa540277f21bae680e463f9b0022e4726cb59ab08260405161218d919061553e565b60405180910390a25050565b60006121a588886110f0565b905060006121b28261384e565b90508560006121c18b8b612b60565b905060038160048111156121d7576121d761527b565b146121f45760405162461bcd60e51b81526004016107ae906157e9565b6121fd8461411f565b82111561221c5760405162461bcd60e51b81526004016107ae90615a81565b5060005b8181101561235b57600089898381811061223c5761223c61587f565b90506020020160208101906122519190615895565b63ffffffff166000818152602087905260409020805491925090600160501b90046001600160a01b0316806122985760405162461bcd60e51b81526004016107ae906158b0565b6122a38260016138b5565b806122b457506122b48260026138b5565b156122c157505050612353565b89156122ef57336001600160a01b038216146122ef5760405162461bcd60e51b81526004016107ae906158d8565b600587018054600160b01b900462ffffff1690601661230d83615907565b91906101000a81548162ffffff021916908362ffffff1602179055505061234f8e8e888560000160089054906101000a900461ffff1661ffff16878e8e614444565b5050505b600101612220565b5050505050505050505050565b612373858585613a28565b806123855750612385848484846143bc565b610d8d5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c00000060448201526064016107ae565b60006001600160581b038211156124395760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b60648201526084016107ae565b5090565b600061244988886110f0565b905060006124578989612b60565b60048111156124685761246861527b565b146124855760405162461bcd60e51b81526004016107ae90615705565b66b1a2bc2ec50000846001600160581b031610156124e45760405162461bcd60e51b815260206004820152601c60248201527b09edcd8f240c4c2e6ca40e0e4d2c6ca40cee8ca40605c606a408aa8960231b60448201526064016107ae565b428664ffffffffff16116125315760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b60448201526064016107ae565b600061253c88613357565b905060018160028111156125525761255261527b565b036125a957826125a45760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792061646d696e2d617274697374206d696e7420706572696f6400000060448201526064016107ae565b612610565b60028160028111156125bd576125bd61527b565b036126105782156126105760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79206e6f2061646d696e2d617274697374206d696e7420706572696f6460448201526064016107ae565b61261a8989613ab1565b868260060160006101000a81548164ffffffffff021916908364ffffffffff1602179055508582600601600a6101000a81548164ffffffffff021916908364ffffffffff160217905550858260060160056101000a81548164ffffffffff021916908364ffffffffff160217905550848260060160126101000a8154816001600160581b0302191690836001600160581b03160217905550838260060160106101000a81548160ff021916908315150217905550828260060160116101000a81548160ff02191690831515021790555060006126f68a8a612d49565b60058401805461ffff19166102001790556040805164ffffffffff8b811682528a1660208201526001600160581b038916918101919091528615156060820152851515608082015260a081018290529091506001600160a01b038a16908b907ff5182d65d8ff8a191c9e2f9f31fa4757a3e046c58e19c304b66f1766ec3993829060c00160405180910390a350505050505050505050565b600061279a83836110f0565b905060006127a88484612b60565b905060048160048111156127be576127be61527b565b146127fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79207374617465204560a01b60448201526064016107ae565b6007820154600160781b900460ff16156128535760405162461bcd60e51b815260206004820152601a6024820152792932bb32b73ab2b99030b63932b0b23c903bb4ba34323930bbb760311b60448201526064016107ae565b60078201805460ff60781b1916600160781b17905560006128738361384e565b600584015490915060009061289490600160b01b900462ffffff16836157a3565b60078501805491925082916000906128b69084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b031602179055506128e58682876141fb565b6040805177185d58dd1a5bdb94995d995b9d595cd0dbdb1b1958dd195960421b8152600160208201526001600160a01b0387169188917fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d91016120fe565b61294b61511f565b6129558383611cc2565b62ffffff16602082015261296983836130e5565b1515815292915050565b600061297f8585612b60565b905060028160048111156129955761299561527b565b146129b25760405162461bcd60e51b81526004016107ae90615ad8565b6000806129bf8787611c55565b5091509150816129e15760405162461bcd60e51b81526004016107ae9061581e565b808562ffffff161115612a065760405162461bcd60e51b81526004016107ae90615848565b5050506000612a1585856110f0565b90506000612a228261384e565b6005830154600160401b9081900463ffffffff1660008181526020869052604081205493945090929190910461ffff16905b8662ffffff16811015612af45782600003612a8c57600585015461ffff16600081815260028701602052604090205493509150612aa4565b6000928352602085905260409092205463ffffffff16915b82600003612ada57612ac085612abb8460016157ba565b6144b8565b61ffff166000818152600287016020526040902054935091505b612aec8989868561ffff16878b6138ce565b600101612a54565b808560050160198282829054906101000a900462ffffff16612b169190615929565b92506101000a81548162ffffff021916908362ffffff160217905550828560050160086101000a81548163ffffffff021916908363ffffffff160217905550505050505050505050565b600080612b6d84846110f0565b600681015490915064ffffffffff1680158015904283119080612b8d5750805b15612b9f576000945050505050610991565b6006840154600160501b900464ffffffffff1642811080612bc95760019650505050505050610991565b600586015460009062ffffff600160981b8204811691612bfa91600160c81b8204811691600160b01b900416615929565b62ffffff161490508015612c18576004975050505050505050610991565b6006870154600090600160881b900460ff168015612c4f5750600588015462ffffff600160801b82048116600160981b9092041610155b8015612c665750612c636203f480856157ba565b42105b90508015612c7f57600298505050505050505050610991565b5060039a9950505050505050505050565b600080612c9d8585614573565b91509150808362ffffff161115612cc65760405162461bcd60e51b81526004016107ae90615afe565b818362ffffff161015612ceb5760405162461bcd60e51b81526004016107ae90615afe565b6000612cf786866141d3565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b038616908790600080516020615d87833981519152906020016120fe565b600080612d5684846110f0565b9050612d62848461416c565b60058201805462ffffff60801b1916600160801b62ffffff8416021790556040518181529092506001600160a01b0384169085907fe61b855b975f8c5d6051b121797e73a9c4e2b5fce1e570689013b3591427efa89060200160405180910390a35092915050565b6000612dd686866110f0565b90506000612de38261384e565b90506000612df18888612b60565b90506002816004811115612e0757612e0761527b565b14612e245760405162461bcd60e51b81526004016107ae90615ad8565b612e2d8361411f565b8662ffffff161115612e515760405162461bcd60e51b81526004016107ae90615a81565b506005820154600160201b900463ffffffff16600081815260208490526040812054600160401b900461ffff16905b8762ffffff16811015612f725782600003612ebe57600585015462010000900461ffff16600081815260018701602052604090205493509150612f5b565b600092835260208590526040832054600160201b900463ffffffff1692839003612f5b57612ef685612ef16001856159d5565b6145f1565b61ffff1691506102008210612f475760405162461bcd60e51b81526020600482015260176024820152761cdb1bdd081dda5d1a08189a59081b9bdd08199bdd5b99604a1b60448201526064016107ae565b600082815260018601602052604090205492505b612f6a8a8a8685878c8c614444565b600101612e80565b808560050160168282829054906101000a900462ffffff16612f949190615929565b92506101000a81548162ffffff021916908362ffffff160217905550828560050160046101000a81548163ffffffff021916908363ffffffff16021790555050505050505050505050565b600080612fec84846110f0565b600701546001600160781b0316949350505050565b600061300d87876110f0565b9050600061301b8888612b60565b905060028160048111156130315761303161527b565b148061304e5750600381600481111561304c5761304c61527b565b145b61308e5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481cdd185d194810c81bdc8811607a1b60448201526064016107ae565b50600061309a8261384e565b90508460005b81811015611c49576130dd848b8b868c8c878181106130c1576130c161587f565b90506020020160208101906130d69190615895565b8b8b61468d565b6001016130a0565b6000806130f28484612b60565b905060008160048111156131085761310861527b565b0361315957600061311985856110f0565b600681015490915064ffffffffff1615613146576005810154600160801b900462ffffff16159250613153565b6131508585614760565b92505b506131b6565b600181600481111561316d5761316d61527b565b036131a357600061317e85856110f0565b6005015462ffffff600160801b82048116600160981b90920416101592506131b69050565b60006131af8585611c55565b1594505050505b5092915050565b60008060006131cc8585612b60565b905060006131da86866110f0565b905060008260048111156131f0576131f061527b565b0361326a57600681015464ffffffffff161515806132495760405162461bcd60e51b8152602060048201526016602482015275185d58dd1a5bdb881b9bdd0818dbdb999a59dd5c995960521b60448201526064016107ae565b506006810154600160901b90046001600160581b031693506000925061334e565b600581015462ffffff600160801b82048116600160981b909204161015600183600481111561329b5761329b61527b565b036132e95780156132c95760058201546132bc908890889061ffff16614779565b955061ffff16935061334c565b6006820154600160901b90046001600160581b031694506000935061334c565b80156133305760405162461bcd60e51b8152602060048201526016602482015275185d58dd1a5bdb88195b9919590b081cd95b1b1bdd5d60521b60448201526064016107ae565b6006820154600160901b90046001600160581b03169450600093505b505b50509250929050565b600061336161382a565b6001600160a01b03909216600090815260019290920160205250604090205460ff1690565b600080600061339585856110f0565b6005810154909150600160981b900462ffffff166133ea5760405162461bcd60e51b81526020600482015260126024820152712737903134b2399034b71030bab1ba34b7b760711b60448201526064016107ae565b600581015461ffff1660008181526002830160209081526040808320548352939052919091209590945092505050565b60008060006134298585612b60565b9050600061343786866110f0565b9050600082600481111561344d5761344d61527b565b0361348457600681015464ffffffffff16158015945061347f576006810154600160901b90046001600160581b031692505b61334e565b60058101546001945062ffffff600160801b82048116600160981b909204161015848360048111156134b8576134b861527b565b036134fe5780156134e25760058201546134d9908890889061ffff16614779565b945061334c9050565b6006820154600160901b90046001600160581b0316935061334c565b8015613533576006820154600583015461352c91600160901b90046001600160581b03169061ffff16611121565b935061334c565b50600601549295600160901b9093046001600160581b031694509192505050565b613560848484846143bc565b611f515760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b60448201526064016107ae565b60006135b587876110f0565b63ffffffff86166000908152602082905260409020805491925090600160401b900461ffff1660016135e78a8a612b60565b60048111156135f8576135f861527b565b146136155760405162461bcd60e51b81526004016107ae90615945565b8154600160501b90046001600160a01b03166136705760405162461bcd60e51b815260206004820152601a60248201527942696420646e65202d207765726520796f75206f75746269643f60301b60448201526064016107ae565b81546001600160a01b03868116600160501b90920416146136d15760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e48189a5919195c881bd988195e1a5cdd1a5b99c8189a59602a1b60448201526064016107ae565b60068301546000906136f390600160901b90046001600160581b031683611121565b905060006137188560060160129054906101000a90046001600160581b031689611121565b90508061372587846157ba565b1461376a5760405162461bcd60e51b8152602060048201526015602482015274696e636f72726563742061646465642076616c756560581b60448201526064016107ae565b505060078301805485919060009061378c9084906001600160781b03166159b5565b92506101000a8154816001600160781b0302191690836001600160781b031602179055506137c183828963ffffffff166147dc565b6137cf838a8a89898c613e00565b6040805163ffffffff8916815261ffff881660208201526001600160a01b038a16918b917fbcc60406b6a319d70c3feea7347029fbdfd768eecb981b0d2f6735b1e9633c5e91015b60405180910390a3505050505050505050565b7fa3fe13710cb596cbb938328f55db0dd5473d105cbcbbac73fbdbd94800043ab490565b600581015460009062ffffff600160801b82048116600160981b9092041610158061388d576006830154600160901b90046001600160581b0316610785565b6006830154600584015461078591600160901b90046001600160581b03169061ffff16611121565b815460009061098e90600160f01b900460ff1683614963565b60006138da87876110f0565b6000848152602082905260408120805492935091600160501b90046001600160a01b031690879061390b84826138b5565b6139425761391c8460006001614972565b50600684015460019061393f90600160901b90046001600160581b031689611121565b91505b61394f8460026001614972565b60078501805483919060009061396f9084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b0316021790555061399e8383886149ce565b80156139d757896001600160a01b03168b600080516020615dc7833981519152896040516139ce91815260200190565b60405180910390a35b896001600160a01b03168b7fa59312996dc68b7f0224b341fed75d5afeb3bb20624107d37942d14f5942815689604051613a1391815260200190565b60405180910390a35050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015613a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a94919061565e565b6001600160a01b0316826001600160a01b03161490509392505050565b6000613abd83836141d3565b9050613ac98383614a03565b15613ad85761170c8383614a36565b600080613ae58585614573565b84549193509150610100900462ffffff1681811115613b5157835483831463ffffffff1990911661010062ffffff85160260ff1916171784556040518281526001600160a01b038616908790600080516020615d878339815191529060200160405180910390a3613b64565b808310613b6457835460ff191660011784555b505050505050565b600584015461ffff16600081815260028601602052604081205490919080613bc05760405162461bcd60e51b81526020600482015260076024820152664e6f206269647360c81b60448201526064016107ae565b600081815260208881526040808320805461ffff8716855260028c01909352922063ffffffff82169081905560058a018054600160501b9093046001600160a01b031692600160981b900462ffffff16906013613c1c83615b2f565b91906101000a81548162ffffff021916908362ffffff160217905550508063ffffffff16600003613c945761ffff8516600081815260018c016020526040812055613c68908b90614ab0565b613c778a612abb876001615b4e565b60058b01805461ffff191661ffff92909216919091179055613cb8565b63ffffffff8116600090815260208b905260409020805463ffffffff60201b191690555b60068a0154613cd790600160901b90046001600160581b031686611121565b60078b0180549197508791600090613cf99084906001600160781b0316615ab8565b82546001600160781b039182166101009390930a928302919092021990911617905550600084815260208b90526040902080546001600160f81b0319169055613d438287896149ce565b876001600160a01b0316897f9d1a4511ddb5e2e227897ca79bbe1d71a9af123cd7c7bde8d2bcb292243310c986604051613d7f91815260200190565b60405180910390a35050505050949350505050565b60006706f05b59d3b20000831115613dc857612710613db58461280a6157a3565b613dbf919061577b565b82119050610991565b612710613dd7846129046157a3565b613de1919061577b565b90911192915050565b6000818310613df9578161098e565b5090919050565b63ffffffff8116158015613e4d57600587018054600c90613e2d90600160601b900463ffffffff16615b69565b91906101000a81548163ffffffff021916908363ffffffff160217905591505b60008760020160008661ffff1681526020019081526020016000205490506040518060a001604052808263ffffffff168152602001600063ffffffff1681526020018661ffff168152602001856001600160a01b03168152602001600060ff168152508860000160008563ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548161ffff021916908361ffff160217905550606082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550608082015181600001601e6101000a81548160ff021916908360ff1602179055509050508263ffffffff168860020160008761ffff1681526020019081526020016000208190555080600003613fdc5761ffff85166000908152600189016020526040902063ffffffff84169055614007565b6000818152602089905260409020805463ffffffff60201b1916600160201b63ffffffff8616021790555b600588018054600160981b900462ffffff1690601361402583615907565b91906101000a81548162ffffff021916908362ffffff16021790555050806000036140b557614058888661ffff16614b0b565b600588015461ffff90811690861610156140805760058801805461ffff191661ffff87161790555b600588015461ffff62010000909104811690861611156140b55760058801805463ffff000019166201000061ffff8816021790555b8115614115576040805161ffff8716815263ffffffff851660208201526001600160a01b038681168284015291519188169189917fd278a5272d5c4a1fbd78fd96e1dc404c29b3e6fc9a525421b777de714354f5a5919081900360600190a35b5050505050505050565b60058101546000906141469062ffffff600160c81b8204811691600160b01b900416615929565b60058301546141619190600160981b900462ffffff16615b82565b62ffffff1692915050565b600080600061417b8585614573565b91509150600061418b86866141d3565b80549091506000906141a8908490610100900462ffffff16613dea565b90508084106141be576000945050505050610991565b6141c884826159d5565b979650505050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee6110fa565b8160000361420857505050565b600061421382614b5a565b905060008060008060008060008088156142b157604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015614274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142989190615b9e565b969e50949c50929a509098509650945092509050614331565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa1580156142fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143219190615c26565b949c50929a509096509450925090505b8a828561433e898c6157ba565b61434891906157ba565b61435291906157ba565b1461439e5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016107ae565b6143ae86868a8a88888888614ba8565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015614420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b9190615c8f565b600061445088886110f0565b600085815260208290526040902090915061446d81600180614972565b805461448f908a908a908890600160501b90046001600160a01b031688614e4a565b61449a8160006138b5565b6144ad576144ad828a8a89898c89614f0a565b505050505050505050565b6000806101ff8361ffff1611156144e15760405162461bcd60e51b81526004016107ae90615cac565b600060ff8461ffff1611156145165760048501546144ff9085614ffa565b9250905061450f610100826157ba565b9050614551565b60038501546145259085614ffa565b925090508161455157600485015461453e906000614ffa565b9250905061454e610100826157ba565b90505b816145625761020092505050610991565b91506109919050565b505092915050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156145bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145e19190615ce2565b5093989297509195505050505050565b6000806101ff8361ffff16111561461a5760405162461bcd60e51b81526004016107ae90615cac565b60006101008461ffff1610156146425760038501546146399085615060565b92509050614551565b60048501546146519085615060565b92509050614661610100826157ba565b9050816145515760038501546146789060ff615060565b92509050816145625761020092505050610991565b63ffffffff8316600090815260208890526040902080546001600160a01b03848116600160501b90920416146146f35760405162461bcd60e51b815260206004820152600b60248201526a27b7363c903134b23232b960a91b60448201526064016107ae565b6146fe8160006138b5565b156147415760405162461bcd60e51b815260206004820152601360248201527213db9b1e481d5b8b5cd95d1d1b195908189a59606a1b60448201526064016107ae565b805461411590899089908990600160401b900461ffff16888a88614f0a565b60008061476d84846141d3565b5460ff16949350505050565b600080600061478886866110f0565b6006810154909150600160901b90046001600160581b031660006147ac8287611121565b9050855b6001016147bd8382611121565b94506147c98286613d94565b156147b057989397509295505050505050565b60008181526020849052604081208054909163ffffffff80831692600160201b9004169082900361482a5761ffff85166000908152600187016020526040902063ffffffff8216905561485e565b63ffffffff80831660009081526020889052604090208054918316600160201b0263ffffffff60201b199092169190911790555b8063ffffffff1660000361488f5761ffff85166000908152600287016020526040902063ffffffff831690556148b8565b63ffffffff8181166000908152602088905260409020805463ffffffff19169184169190911790555b600586018054600160981b900462ffffff169060136148d683615b2f565b91906101000a81548162ffffff021916908362ffffff160217905550508163ffffffff16600014801561490d575063ffffffff8116155b15613b6457614920868661ffff16614ab0565b600586015461ffff808716911603613b645761494186612abb876001615b4e565b60058701805461ffff9290921661ffff19909216919091179055505050505050565b600160ff919091161b16151590565b80156149af578254600160ff8481169190911b600160f01b90920416175b835460ff91909116600160f01b0260ff60f01b19909116178355505050565b825461499090600160f01b900460ff1683600160ff919091161b191690565b600080600080858786f161170c57826000526073600b5360ff6020536016600b83f061170c57620f42405a1161170c57600080fd5b600080614a1084846141d3565b8054909150610100900462ffffff16158015614a2e5750805460ff16155b949350505050565b600080614a438484614573565b915091506000614a5385856141d3565b9050614a5e826150bb565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b038516908690600080516020615d87833981519152906119429086815260200190565b6102008110614ad15760405162461bcd60e51b81526004016107ae9061572f565b610100811015614af3576003820154600160ff83161b19165b60038301555050565b6004820154600160ff83161b19165b60048301555050565b6102008110614b2c5760405162461bcd60e51b81526004016107ae9061572f565b610100811015614b48576003820154600160ff83161b17614aea565b6004820154600160ff83161b17614b02565b600080614b66836111b7565b8054909150610100900460ff1615614b82575460ff1692915050565b6000614b8d846111f0565b825481151561ffff1990911617610100179092555092915050565b8715614c53576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114614bfb576040519150601f19603f3d011682016040523d82523d6000602084013e614c00565b606091505b5050905080614c515760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016107ae565b505b8515614cfe576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114614ca6576040519150601f19603f3d011682016040523d82523d6000602084013e614cab565b606091505b5050905080614cfc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016107ae565b505b8315614da1576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114614d51576040519150601f19603f3d011682016040523d82523d6000602084013e614d56565b606091505b5050905080614d9f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016107ae565b505b8115614115576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114614df4576040519150601f19603f3d011682016040523d82523d6000602084013e614df9565b606091505b50509050806144ad5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016107ae565b6040516117cd60e21b81526000906001600160a01b03831690615f3490614e7b9086908a908a9033906004016159e8565b6020604051808303816000875af1158015614e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ebe9190615a13565b6040805163ffffffff87168152602081018390529192506001600160a01b0387169188917f3c81bf6062ef45a4f3a4407699b008e79d9310eb22ba240838820f37535a928591016120fe565b63ffffffff8316600090815260208890526040812090614f2d9082906001614972565b600083614f518a60060160129054906101000a90046001600160581b031688611121565b614f5b91906159d5565b90508015614fc957600789018054829190600090614f839084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b03160217905550614fc982600001600a9054906101000a90046001600160a01b031682856149ce565b60405163ffffffff861681526001600160a01b038816908990600080516020615dc783398151915290602001613817565b6000808260ff1684901c600003615017575060ff90506000615059565b8260ff1691505b60ff8210801561503557506150338483614963565b155b1561504c578161504481615d3d565b92505061501e565b6150568483614963565b90505b9250929050565b60008061506e8360ff615d56565b60ff1684901b60000361508657506000905080615059565b8260ff1691505b6000821180156150a457506150a28483614963565b155b1561504c57816150b381615d6f565b92505061508d565b600062ffffff8211156124395760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016107ae565b604080518082019091526000808252602082015290565b6001600160a01b038116811461514b57600080fd5b50565b803561ffff8116811461516057600080fd5b919050565b60008060006060848603121561517a57600080fd5b83359250602084013561518c81615136565b915061519a6040850161514e565b90509250925092565b6000602082840312156151b557600080fd5b813561078581615136565b600080600080606085870312156151d657600080fd5b8435935060208501356151e881615136565b925060408501356001600160401b038082111561520457600080fd5b818701915087601f83011261521857600080fd5b81358181111561522757600080fd5b8860208260051b850101111561523c57600080fd5b95989497505060200194505050565b6000806040838503121561525e57600080fd5b82359150602083013561527081615136565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6000610180820190508d82528c60208301528b60408301528a60608301528960808301528860a08301528760c08301528660e0830152851515610100830152841515610120830152831515610140830152600583106152f2576152f261527b565b826101608301529d9c50505050505050505050505050565b803564ffffffffff8116811461516057600080fd5b60008060006060848603121561533457600080fd5b83359250602084013561534681615136565b915061519a6040850161530a565b60008060006060848603121561536957600080fd5b833561537481615136565b925060208401359150604084013561538b81615136565b809150509250925092565b6000806000606084860312156153ab57600080fd5b8335925060208401356153bd81615136565b9150604084013560ff8116811461538b57600080fd5b600080604083850312156153e657600080fd5b82356153f181615136565b915060208301356003811061527057600080fd5b801515811461514b57600080fd5b600080600080600080600060e0888a03121561542e57600080fd5b87359650602088013561544081615136565b955061544e6040890161530a565b945061545c6060890161530a565b93506080880135925060a088013561547381615405565b915060c088013561548381615405565b8091505092959891949750929550565b803562ffffff8116811461516057600080fd5b6000806000606084860312156154bb57600080fd5b8335925060208401356154cd81615136565b915061519a60408501615493565b60005b838110156154f65781810151838201526020016154de565b50506000910152565b600081518084526155178160208601602086016154db565b601f01601f19169290920160200192915050565b60208152600061098e60208301846154ff565b60208101600383106155525761555261527b565b91905290565b841515815283602082015260806040820152600061557960808301856154ff565b905060018060a01b038316606083015295945050505050565b6000602082840312156155a457600080fd5b61098e82615493565b803563ffffffff8116811461516057600080fd5b600080600080608085870312156155d757600080fd5b8435935060208501356155e981615136565b92506155f7604086016155ad565b91506156056060860161514e565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b9182526001600160a01b0316602082015260400190565b60006020828403121561567057600080fd5b815161078581615136565b6020808252601190820152704d696e746572206e6f742061637469766560781b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b64ffffffffff8281168282160390808211156131b6576131b66156a6565b602080825260119082015270105d58dd1a5bdb881d1bdbc81cda1bdc9d607a1b604082015260600190565b60208082526010908201526f27b7363c9038393296b0bab1ba34b7b760811b604082015260600190565b6020808252601c908201527b4f6e6c7920736c6f7420696e646578206c74204e554d5f534c4f545360201b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60008261578a5761578a615765565b500490565b60008261579e5761579e615765565b500690565b8082028115828204841417610991576109916156a6565b80820180821115610991576109916156a6565b600082516157df8184602087016154db565b9190910192915050565b6020808252601b908201527a13db9b1e481c1bdcdd0b585d58dd1a5bdb881bdc195b881b5a5b9d602a1b604082015260600190565b60208082526010908201526f4f6e6c7920696e20737461746520453160801b604082015260600190565b6020808252601f908201527f6269647320746f20726566756e6420677420617661696c61626c652071747900604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156158a757600080fd5b61098e826155ad565b6020808252600e908201526d1a5b9d985b1a5908109a5908125160921b604082015260600190565b60208082526015908201527427b7363c9039b2b73232b91034b9903134b23232b960591b604082015260600190565b600062ffffff80831681810361591f5761591f6156a6565b6001019392505050565b62ffffff8181168382160190808211156131b6576131b66156a6565b60208082526011908201527027b7363c903634bb329030bab1ba34b7b760791b604082015260600190565b6020808252601990820152784e6f7420616c6c6f77656420696e2065787472612074696d6560381b604082015260600190565b64ffffffffff91909116815260200190565b6001600160781b038181168382160190808211156131b6576131b66156a6565b81810381811115610991576109916156a6565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b600060208284031215615a2557600080fd5b5051919050565b60ff8181168382160190811115610991576109916156a6565b61ffff81811683821602808216919082811461456b5761456b6156a6565b64ffffffffff8181168382160190808211156131b6576131b66156a6565b6020808252601d908201527f746f6b656e7320746f206d696e7420677420746f6b656e73206f776564000000604082015260600190565b6001600160781b038281168282160390808211156131b6576131b66156a6565b6020808252600c908201526b4f6e6c79207374617465204360a01b604082015260600190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600062ffffff821680615b4457615b446156a6565b6000190192915050565b61ffff8181168382160190808211156131b6576131b66156a6565b600063ffffffff80831681810361591f5761591f6156a6565b62ffffff8281168282160390808211156131b6576131b66156a6565b600080600080600080600080610100898b031215615bbb57600080fd5b885197506020890151615bcd81615136565b60408a015160608b01519198509650615be581615136565b60808a015160a08b01519196509450615bfd81615136565b60c08a015160e08b01519194509250615c1581615136565b809150509295985092959890939650565b60008060008060008060c08789031215615c3f57600080fd5b865195506020870151615c5181615136565b604088015160608901519196509450615c6981615136565b608088015160a08901519194509250615c8181615136565b809150509295509295509295565b600060208284031215615ca157600080fd5b815161078581615405565b6020808252601c908201527b27b7363c9039ba30b93a1039b637ba1034b73232bc10363a101a989960211b604082015260600190565b60008060008060008060c08789031215615cfb57600080fd5b86519550602087015194506040870151615d1481615405565b6060880151909450615d2581615405565b608088015160a08901519194509250615c8181615405565b600060018201615d4f57615d4f6156a6565b5060010190565b60ff8281168282160390811115610991576109916156a6565b600081615d7e57615d7e6156a6565b50600019019056fe1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237520e05d2a73ab549525f701daae4d8ac1897891bb1afca813602709aafc7a830e152fe384870d25a8d821270b8b8043fada748f138ab7f8512af64c65c726136a26469706673582212201be61649a635efb061b2ea27baa094eaa05101acc5df025a1d0875c9f9be0d3c64736f6c63430008160033000000000000000000000000a2ccfe293bc2cdd78d8166a82d1e18cd2148122b