60806040526009805461ffff191690553480156200001c57600080fd5b506040516200357838038062003578833981810160405260808110156200004257600080fd5b81019080805160405193929190846401000000008211156200006357600080fd5b9083019060208201858111156200007957600080fd5b82516401000000008111828201881017156200009457600080fd5b82525081516020918201929091019080838360005b83811015620000c3578181015183820152602001620000a9565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b9083019060208201858111156200012b57600080fd5b82516401000000008111828201881017156200014657600080fd5b82525081516020918201929091019080838360005b83811015620001755781810151838201526020016200015b565b50505050905090810190601f168015620001a35780820380516001836020036101000a031916815260200191505b50604090815260208281015192909101518651929450925085918591620001d0916003918501906200076c565b508051620001e69060049060208401906200076c565b505060058054601260ff19909116179055506200020e62000365602090811b6200219217901c565b600560016101000a8154816001600160a01b0302191690836001600160a01b03160217905550620002496200036560201b620021921760201c565b6001600160a01b031660006001600160a01b03167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a36200029e6200036560201b620021921760201c565b6001600160a01b031660006001600160a01b03167f69398fb338bc46e7da38943cd2da3021d7a38be07d6385dae286d2ec93d3b48560405160405180910390a3620002f4826200036960201b620021961760201c565b6200031b6200030d6200036560201b620021921760201c565b634958504160e01b6200037f565b6200032f6000635a45524f60e01b6200037f565b62000344620004df60201b62001add1760201c565b6200035a81620005dd60201b620021ac1760201c565b505050505062000808565b3390565b6005805460ff191660ff92909216919091179055565b6200039e620003986200036560201b620021921760201c565b620006e4565b620003e3576040805162461bcd60e51b815260206004820152601060248201526f1058d8d95cdcc81a5cc819195b9a595960821b604482015290519081900360640190fd5b600954610100900460ff161562000441576040805162461bcd60e51b815260206004820152601a60248201527f536f7272792c20636f6e7472616374206973207061757365642e000000000000604482015290519081900360640190fd5b60006200044e836200073d565b905080156200049757818114620004975760405162461bcd60e51b815260040180806020018281038252602f81526020018062003549602f913960400191505060405180910390fd5b6001600160a01b0383166000818152600a6020526040808220859055518492917f0a924955a78a2c82e5509fb8df0ace69ecba87d16bf01ed8345c101233c281a591a3505050565b620004f8620003986200036560201b620021921760201c565b6200053d576040805162461bcd60e51b815260206004820152601060248201526f1058d8d95cdcc81a5cc819195b9a595960821b604482015290519081900360640190fd5b60095460ff1615620005815760405162461bcd60e51b8152600401808060200182810382526023815260200180620035026023913960400191505060405180910390fd5b60098054600160ff19909116179055620005a662000365602090811b6200219217901c565b6001600160a01b03167f6d3bdb877ca7bde5be7e4afec9b4afd12e4f3dd1188c8fa57a7802f0f6cfa4d460405160405180910390a2565b60006001600160a01b0382166200062d576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b620006426200075860201b620018af1760201c565b6001600160a01b0316826001600160a01b03161415620006945760405162461bcd60e51b8152600401808060200182810382526024815260200180620035256024913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b0384169081179091556040517f4632317bd23ea8e7eb1c7ae89f69d7b287bc1d1d47ca5d178f3078c84bc1f48190600090a25060015b919050565b6000620006fb6200075860201b620018af1760201c565b6001600160a01b0316826001600160a01b031614156200071e57506001620006df565b506001600160a01b031660009081526008602052604090205460ff1690565b6001600160a01b03166000908152600a602052604090205490565b60055461010090046001600160a01b031690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620007af57805160ff1916838001178555620007df565b82800160010185558215620007df579182015b82811115620007df578251825591602001919060010190620007c2565b50620007ed929150620007f1565b5090565b5b80821115620007ed5760008155600101620007f2565b612cea80620008186000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c80635acecd401161013b5780639f727c27116100b8578063dd62ed3e1161007c578063dd62ed3e146106e0578063f24db3f41461070e578063f2fde38b1461073a578063f93a8be414610760578063ffe3aa7e1461078657610248565b80639f727c2714610670578063a457c2d714610678578063a9059cbb146106a4578063af35c6c7146106d0578063b842e87f146106d857610248565b80637cdcc070116100ff5780637cdcc070146105f25780638456cb59146106325780638ab1d6811461063a5780638da5cb5b1461066057806395d89b411461066857610248565b80635acecd40146105485780636216b6e31461057a5780636c8381f81461059e57806370480275146105a657806370a08231146105cc57610248565b806328c5a005116101c95780633a67a0f61161018d5780633a67a0f6146104c05780633f4ba83a146104c85780633f73a66c146104d057806341813d72146104f65780635a2f00851461052257610248565b806328c5a005146104225780632f54bf6e1461042a57806330edc0f514610450578063313ce56714610476578063395093511461049457610248565b806317ffc3201161021057806317ffc3201461035e57806318160ddd146103865780631e8cbd58146103a057806323b872dd146103c657806324d7806c146103fc57610248565b806304a7b94c1461024d57806306fdde0314610287578063095ea7b31461030457806316c61ccc146103305780631785f53c14610338575b600080fd5b6102736004803603602081101561026357600080fd5b50356001600160a01b03166107b2565b604080519115158252519081900360200190f35b61028f610932565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c95781810151838201526020016102b1565b50505050905090810190601f1680156102f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102736004803603604081101561031a57600080fd5b506001600160a01b0381351690602001356109c8565b6102736109e5565b6102736004803603602081101561034e57600080fd5b50356001600160a01b03166109f3565b6103846004803603602081101561037457600080fd5b50356001600160a01b0316610bba565b005b61038e610d5c565b60408051918252519081900360200190f35b610273600480360360208110156103b657600080fd5b50356001600160a01b0316610d62565b610273600480360360608110156103dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610d76565b6102736004803603602081101561041257600080fd5b50356001600160a01b0316610dfd565b610273610e47565b6102736004803603602081101561044057600080fd5b50356001600160a01b0316610e50565b61038e6004803603602081101561046657600080fd5b50356001600160a01b0316610e69565b61047e610e84565b6040805160ff9092168252519081900360200190f35b610273600480360360408110156104aa57600080fd5b506001600160a01b038135169060200135610e8d565b610384610edb565b610384610faf565b610273600480360360208110156104e657600080fd5b50356001600160a01b031661108b565b6103846004803603604081101561050c57600080fd5b506001600160a01b0381351690602001356110bb565b6102736004803603602081101561053857600080fd5b50356001600160a01b031661119f565b6103846004803603606081101561055e57600080fd5b506001600160a01b0381351690602081013590604001356111fa565b610582611335565b604080516001600160a01b039092168252519081900360200190f35b610582611344565b610273600480360360208110156105bc57600080fd5b50356001600160a01b0316611353565b61038e600480360360208110156105e257600080fd5b50356001600160a01b031661150d565b610384600480360360a081101561060857600080fd5b506001600160a01b0381351690602081013590604081013590606081013590608001351515611528565b610384611698565b6103846004803603602081101561065057600080fd5b50356001600160a01b0316611767565b6105826118af565b61028f6118c3565b610384611924565b6102736004803603604081101561068e57600080fd5b506001600160a01b038135169060200135611a61565b610273600480360360408110156106ba57600080fd5b506001600160a01b038135169060200135611ac9565b610384611add565b610273611bb5565b61038e600480360360408110156106f657600080fd5b506001600160a01b0381358116916020013516611c90565b6103846004803603604081101561072457600080fd5b506001600160a01b038135169060200135611cbb565b6102736004803603602081101561075057600080fd5b50356001600160a01b0316611e36565b6103846004803603602081101561077657600080fd5b50356001600160a01b0316611f2a565b6103846004803603604081101561079c57600080fd5b506001600160a01b038135169060200135612064565b6007546000906001600160a01b03166107c9612192565b6001600160a01b031614610812576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b6007546001600160a01b0383811691161415610875576040805162461bcd60e51b815260206004820152601c60248201527f547275737465652063616e6e6f74206265636f6d65206f776e65722100000000604482015290519081900360640190fd5b61087d6118af565b6001600160a01b0316826001600160a01b031614156108d8576040805162461bcd60e51b815260206004820152601260248201527120b63932b0b23c903a34329037bbb732b91760711b604482015290519081900360640190fd5b6108e1826122a2565b50816001600160a01b03166108f4612192565b6001600160a01b03167f7f474c53ff7a0b8a4a83ffae0b81f55063f6620feaf858515d2e8c90c3464a1660405160405180910390a35060015b919050565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109be5780601f10610993576101008083540402835291602001916109be565b820191906000526020600020905b8154815290600101906020018083116109a157829003601f168201915b5050505050905090565b60006109dc6109d5612192565b8484612309565b50600192915050565b600954610100900460ff1681565b6000610a05610a00612192565b610dfd565b610a44576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b6001600160a01b038216610a91576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b610a996118af565b6001600160a01b0316826001600160a01b03161415610aff576040805162461bcd60e51b815260206004820152601c60248201527f546865206f776e65722063616e6e6f742062652072656d6f7665642100000000604482015290519081900360640190fd5b6001600160a01b03821660009081526008602052604090205460ff16610b6c576040805162461bcd60e51b815260206004820152601d60248201527f546869732061646472657373206973206e6f7420616e2061646d696e2e000000604482015290519081900360640190fd5b6001600160a01b038216600081815260086020526040808220805460ff19169055517fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f9190a2506001919050565b610bca610bc5612192565b610e50565b610c09576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff1615610c54576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905182916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c9f57600080fd5b505afa158015610cb3573d6000803e3d6000fd5b505050506040513d6020811015610cc957600080fd5b505190506001600160a01b03821663a9059cbb610ce4612192565b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d6020811015610d5557600080fd5b5050505050565b60025490565b600080610d6e83610e69565b141592915050565b6000610d838484846123f5565b610df384610d8f612192565b610dee85604051806060016040528060288152602001612b88602891396001600160a01b038a16600090815260016020526040812090610dcd612192565b6001600160a01b031681526020810191909152604001600020549190612550565b612309565b5060019392505050565b6000610e076118af565b6001600160a01b0316826001600160a01b03161415610e285750600161092d565b506001600160a01b031660009081526008602052604090205460ff1690565b60095460ff1690565b60055461010090046001600160a01b0390811691161490565b6001600160a01b03166000908152600a602052604090205490565b60055460ff1690565b60006109dc610e9a612192565b84610dee8560016000610eab612192565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906125e7565b610ee6610a00612192565b610f25576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b60095460ff16610f665760405162461bcd60e51b8152600401808060200182810382526024815260200180612af96024913960400191505060405180910390fd5b6009805460ff19169055610f78612192565b6001600160a01b03167f972d3365ef4d458e53aedba4b7422b4eea3046ea55b243b9e64341b1f1ad449d60405160405180910390a2565b610fba610a00612192565b610ff9576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff16611055576040805162461bcd60e51b815260206004820152601e60248201527f536f7272792c20636f6e7472616374206973206e6f74207061757365642e0000604482015290519081900360640190fd5b6009805461ff00191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b6001600160a01b0381166000908152600b6020526040812054806110b357600191505061092d565b421192915050565b6110c6610a00612192565b611105576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff1615611150576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b61115a8282612648565b6040805182815290516000916001600160a01b038516917f34a15a980fa5c35360c384b202e00b7e93c2d86108b1d4287faeb9ad14dee9c69181900360200190a35050565b60006111ac610bc5612192565b6111eb576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b6111f4826121ac565b92915050565b611205610a00612192565b611244576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff161561128f576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b8161129984610e69565b146112e6576040805162461bcd60e51b8152602060048201526018602482015277092c8cadce8d2e8f25eeec2d8d8cae840dad2e6dac2e8c6d60431b604482015290519081900360640190fd5b6112f08382612648565b60408051828152905183916001600160a01b038616917f34a15a980fa5c35360c384b202e00b7e93c2d86108b1d4287faeb9ad14dee9c69181900360200190a3505050565b6007546001600160a01b031690565b6006546001600160a01b031690565b6000611360610a00612192565b61139f576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b6001600160a01b0382166113ec576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b6113f46118af565b6001600160a01b0316826001600160a01b0316141561145a576040805162461bcd60e51b815260206004820152601a60248201527f546865206f776e65722063616e6e6f7420626520616464656421000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526008602052604090205460ff16156114bc576040805162461bcd60e51b815260206004820152601160248201527020b63932b0b23c9030b71030b236b4b71760791b604482015290519081900360640190fd5b6001600160a01b038216600081815260086020526040808220805460ff19166001179055517f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e3399190a2506001919050565b6001600160a01b031660009081526020819052604090205490565b611533610a00612192565b611572576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff16156115bd576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b60006115c886610e69565b90508180156115d5575080155b156115e7576115e48686612064565b50835b848114611636576040805162461bcd60e51b8152602060048201526018602482015277092c8cadce8d2e8f25eeec2d8d8cae840dad2e6dac2e8c6d60431b604482015290519081900360640190fd5b6116408685612744565b8215611650576116508684611cbb565b60408051858152905186916001600160a01b038916917f8338f4d32f9f08965b53a3d6d3f3e8cd5a07b4916ab1c5bf8de26b52a881e6fe9181900360200190a3505050505050565b6116a3610a00612192565b6116e2576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff161561172d576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b6009805461ff0019166101001790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b611772610a00612192565b6117b1576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff16156117fc576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b6001600160a01b038116611853576040805162461bcd60e51b815260206004820152601960248201527843616e27742072656d6f7665207a65726f206164647265737360381b604482015290519081900360640190fd5b6001600160a01b0381166000818152600a60205260408082205490519092917f6b48976913358804f0293d424347d5321e65b249baaf99fecf3b6ede7d9f990c91a36001600160a01b03166000908152600a6020526040812055565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109be5780601f10610993576101008083540402835291602001916109be565b61192f610bc5612192565b61196e576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff16156119b9576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b4760006119c4612192565b6040516001600160a01b0391909116908390600081818185875af1925050503d8060008114611a0f576040519150601f19603f3d011682016040523d82523d6000602084013e611a14565b606091505b5050905080611a5d576040805162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b604482015290519081900360640190fd5b5050565b60006109dc611a6e612192565b84610dee85604051806060016040528060258152602001612c906025913960016000611a98612192565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190612550565b60006109dc611ad6612192565b84846123f5565b611ae8610a00612192565b611b27576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b60095460ff1615611b695760405162461bcd60e51b8152600401808060200182810382526023815260200180612bb06023913960400191505060405180910390fd5b6009805460ff19166001179055611b7e612192565b6001600160a01b03167f6d3bdb877ca7bde5be7e4afec9b4afd12e4f3dd1188c8fa57a7802f0f6cfa4d460405160405180910390a2565b6006546000906001600160a01b0316611bcc612192565b6001600160a01b031614611c15576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b6006546005546040516001600160a01b0392831692610100909204909116907f69398fb338bc46e7da38943cd2da3021d7a38be07d6385dae286d2ec93d3b48590600090a3506006805460058054610100600160a81b0319166101006001600160a01b038416021790556001600160a01b0319169055600190565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611cc6610a00612192565b611d05576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff1615611d50576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b6001600160a01b038216611da4576040805162461bcd60e51b815260206004820152601660248201527543616e277420616464207a65726f206164647265737360501b604482015290519081900360640190fd5b428111611de25760405162461bcd60e51b8152600401808060200182810382526024815260200180612a4e6024913960400191505060405180910390fd5b6001600160a01b0382166000818152600b6020908152604091829020849055815184815291517fab5e29a567e5e2228684827d124705397004bc4e292016e514504f191f4c9bd89281900390910190a25050565b6000611e43610bc5612192565b611e82576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b6001600160a01b038216611ecf576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b6005546001600160a01b03838116610100909204161415611f215760405162461bcd60e51b8152600401808060200182810382526025815260200180612b636025913960400191505060405180910390fd5b6111f4826122a2565b611f35610a00612192565b611f74576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff1615611fbf576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b6001600160a01b038116612016576040805162461bcd60e51b815260206004820152601960248201527843616e27742072656d6f7665207a65726f206164647265737360381b604482015290519081900360640190fd5b6040516001600160a01b038216907fd737ba405c2520f45ca1b435defec994339c14850d7f952dc0410e18adaaeba990600090a26001600160a01b03166000908152600b6020526040812055565b61206f610a00612192565b6120ae576040805162461bcd60e51b81526020600482015260106024820152600080516020612a95833981519152604482015290519081900360640190fd5b600954610100900460ff16156120f9576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b600061210483610e69565b9050801561214a5781811461214a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612c61602f913960400191505060405180910390fd5b6001600160a01b0383166000818152600a6020526040808220859055518492917f0a924955a78a2c82e5509fb8df0ace69ecba87d16bf01ed8345c101233c281a591a3505050565b3390565b6005805460ff191660ff92909216919091179055565b60006001600160a01b0382166121fb576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b6122036118af565b6001600160a01b0316826001600160a01b031614156122535760405162461bcd60e51b8152600401808060200182810382526024815260200180612bd36024913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b0384169081179091556040517f4632317bd23ea8e7eb1c7ae89f69d7b287bc1d1d47ca5d178f3078c84bc1f48190600090a2506001919050565b6005546040516000916001600160a01b038085169261010090920416907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae1278908490a350600680546001600160a01b0383166001600160a01b03199091161790556001919050565b6001600160a01b03831661234e5760405162461bcd60e51b8152600401808060200182810382526024815260200180612c3d6024913960400191505060405180910390fd5b6001600160a01b0382166123935760405162461bcd60e51b8152600401808060200182810382526022815260200180612ad76022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661243a5760405162461bcd60e51b8152600401808060200182810382526025815260200180612c186025913960400191505060405180910390fd5b6001600160a01b03821661247f5760405162461bcd60e51b8152600401808060200182810382526023815260200180612a726023913960400191505060405180910390fd5b61248a838383612834565b6124c781604051806060016040528060268152602001612b1d602691396001600160a01b0386166000908152602081905260409020549190612550565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546124f690826125e7565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156125df5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125a457818101518382015260200161258c565b50505050905090810190601f1680156125d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015612641576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661268d5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bf76021913960400191505060405180910390fd5b61269982600083612834565b6126d681604051806060016040528060228152602001612ab5602291396001600160a01b0385166000908152602081905260409020549190612550565b6001600160a01b0383166000908152602081905260409020556002546126fc90826129f0565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b03821661279f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6127ab60008383612834565b6002546127b890826125e7565b6002556001600160a01b0382166000908152602081905260409020546127de90826125e7565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600954839060ff1661289a5761284981610dfd565b61289a576040805162461bcd60e51b815260206004820152601d60248201527f5472616e7366657220737461746520697320726573747269637465642e000000604482015290519081900360640190fd5b600954610100900460ff16156128e5576040805162461bcd60e51b815260206004820152601a6024820152600080516020612b43833981519152604482015290519081900360640190fd5b6128ee84610d62565b61293f576040805162461bcd60e51b815260206004820152601d60248201527f46726f6d2061646472657373206e6f7420696e2077686974656c697374000000604482015290519081900360640190fd5b61294883610d62565b612999576040805162461bcd60e51b815260206004820152601b60248201527f546f2061646472657373206e6f7420696e2077686974656c6973740000000000604482015290519081900360640190fd5b6129a28461108b565b6129ea576040805162461bcd60e51b8152602060048201526014602482015273151c985b9cd9995c9cc8185c99481b1bd8dad95960621b604482015290519081900360640190fd5b50505050565b600082821115612a47576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe506c656173652070726f766964652061206675747572652072656c65617365206461746545524332303a207472616e7366657220746f20746865207a65726f20616464726573734163636573732069732064656e6965640000000000000000000000000000000045524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f2061646472657373536f7272792c207472616e7366657220697320616c72656164792064697361626c65642e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536f7272792c20636f6e7472616374206973207061757365642e00000000000043616e2774207472616e73666572206f776e65727368697020746f20796f757273656c662145524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365536f7272792c207472616e7366657220697320616c726561647920656e61626c65642e546865206f776e65722063616e6e6f74206265636f6d652074686520747275737465652145524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734163636f756e7420616c72656164792077686974656c69737465642062757420627920736f6d656f6e6520656c736545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220145b6660bd699b3516fec37c2566e94fbbddb2217b14f81078213dc2132368ae64736f6c634300060c0033536f7272792c207472616e7366657220697320616c726561647920656e61626c65642e546865206f776e65722063616e6e6f74206265636f6d65207468652074727573746565214163636f756e7420616c72656164792077686974656c69737465642062757420627920736f6d656f6e6520656c7365000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000090b999e6fa9a1ab97bcd2978c21c155ebcbf42c60000000000000000000000000000000000000000000000000000000000000008532d3931312d30320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009532d4652492d3031430000000000000000000000000000000000000000000000