UNPKG

@excubiae/contracts

Version:
1 lines 273 kB
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deployer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"evidence","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"guarded","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"notOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"subject","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_eligible_whenAlreadyEligible_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_eligible_whenCheckFails_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_eligible_whenNotRegistered_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_eligible_whenNotVoted_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_eligible_whenValid_succeeds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_register_whenCallerNotTarget_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_register_whenCheckFails_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_register_whenTokenDoesNotExist_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_register_whenValid_succeeds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_simple","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_vote_whenInvalidOption_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_vote_whenMultipleValid_succeeds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_vote_whenNotRegistered_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_vote_whenValid_succeeds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_voting_deployed","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"wrongEvidence","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"event","name":"Eligible","inputs":[{"name":"voter","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"voter","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Voted","inputs":[{"name":"voter","type":"address","indexed":false,"internalType":"address"},{"name":"option","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040819052600c8054600160ff199182168117909255601f8054909116821790556001625e79b760e01b0319909152608452737109709ecfa91a80626ff3989d68f67f5b1dd12d63ffa1864960a4602060405180830381865afa15801561006a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e91906102d0565b602880546001600160a01b0319166001600160a01b03929092169190911790556040516001625e79b760e01b0319815260026004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156100ff573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012391906102d0565b602980546001600160a01b0319166001600160a01b03929092169190911790556040516001625e79b760e01b0319815260036004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610194573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b891906102d0565b602a80546001600160a01b0319166001600160a01b03929092169190911790556040516001625e79b760e01b03198152600480820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610228573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024c91906102d0565b602b80546001600160a01b0319166001600160a01b0392909216919091179055604080515f602082015201604051602081830303815290604052602c90816102949190610395565b50604080516001602082015201604051602081830303815290604052602d90816102be9190610395565b503480156102ca575f5ffd5b5061044f565b5f602082840312156102e0575f5ffd5b81516001600160a01b03811681146102f6575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061032557607f821691505b60208210810361034357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561039057805f5260205f20601f840160051c8101602085101561036e5750805b601f840160051c820191505b8181101561038d575f815560010161037a565b50505b505050565b81516001600160401b038111156103ae576103ae6102fd565b6103c2816103bc8454610311565b84610349565b6020601f8211600181146103f4575f83156103dd5750848201515b5f19600385901b1c1916600184901b17845561038d565b5f84815260208120601f198516915b828110156104235787850151825560209485019460019092019101610403565b508482101561044057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b61a1148061045c5f395ff3fe608060405234801561000f575f5ffd5b506004361061021b575f3560e01c80637710ffad11610123578063a77e0987116100b8578063c92d1e5311610088578063d5f394881161006e578063d5f39488146103e9578063e20c9f7114610409578063fa7626d414610411575f5ffd5b8063c92d1e53146103d9578063d483cb17146103e1575f5ffd5b8063a77e0987146103a9578063b0464fdc146103b1578063b5508aa9146103b9578063ba414fa6146103c1575f5ffd5b806385226c81116100f357806385226c811461036f5780638707072314610384578063916a17c61461038c578063999a7d7a146103a1575f5ffd5b80637710ffad1461034f5780637a901d08146103575780637f711e181461035f57806382aea21314610367575f5ffd5b80634a7f21b0116101b35780635dd8ba2a116101835780636a5d41d1116101695780636a5d41d11461031f57806372f7a0301461032757806376f6d46814610347575f5ffd5b80635dd8ba2a1461030257806366d9a9a01461030a575f5ffd5b80634a7f21b0146102d55780634f03e338146102ea5780635404686e146102f25780635c1c3cad146102fa575f5ffd5b8063251c9d63116101ee578063251c9d63146102905780632ade3880146102b05780633e5e3c23146102c55780633f7286f4146102cd575f5ffd5b806307128a841461021f5780630a59a98c146102295780630a9254e4146102735780631ed7831c1461027b575b5f5ffd5b61022761041e565b005b602a546102499073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102276108aa565b610283611319565b60405161026a91906155ef565b602b546102499073ffffffffffffffffffffffffffffffffffffffff1681565b6102b8611386565b60405161026a9190615693565b6102836114cf565b61028361153a565b6102dd6115a5565b60405161026a91906157a5565b610227611631565b610227611b0f565b610227612282565b610227612651565b610312612b39565b60405161026a919061581a565b610227612cb2565b6029546102499073ffffffffffffffffffffffffffffffffffffffff1681565b610227612fb2565b61022761337c565b61022761374b565b610227613a97565b610227613e73565b6103776141bf565b60405161026a91906158b6565b61022761428a565b61039461474e565b60405161026a919061592b565b610227614851565b6102dd614a65565b610394614a72565b610377614b75565b6103c9614c40565b604051901515815260200161026a565b610227614d10565b61022761515e565b6028546102499073ffffffffffffffffffffffffffffffffffffffff1681565b61028361544f565b601f546103c99060ff1681565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801561049a575f5ffd5b505af11580156104ac573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b15801561051c575f5ffd5b505af115801561052e573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b1580156105a3575f5ffd5b505af11580156105b5573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610620575f5ffd5b505af1158015610632573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b1580156106b2575f5ffd5b505af11580156106c4573d5f5f3e3d5ffd5b505060408051600160248083019190915282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7e2732890000000000000000000000000000000000000000000000000000000017905290517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d935063f28dceb3925061077e91906004016157a5565b5f604051808303815f87803b158015610795575f5ffd5b505af11580156107a7573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015b5f604051808303815f87803b158015610815575f5ffd5b505af1158015610827573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610892575f5ffd5b505af11580156108a4573d5f5f3e3d5ffd5b50505050565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015610926575f5ffd5b505af1158015610938573d5f5f3e3d5ffd5b50505050604051610948906155ae565b604051809103905ff080158015610961573d5f5f3e3d5ffd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040516109ae906155ae565b604051809103905ff0801580156109c7573d5f5f3e3d5ffd5b50602080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055604051610a19906155bb565b604051809103905ff080158015610a32573d5f5f3e3d5ffd5b50602280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055604051610a84906155c8565b604051809103905ff080158015610a9d573d5f5f3e3d5ffd5b5060245f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166341af2f526040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610b44575f5ffd5b505af1158015610b56573d5f5f3e3d5ffd5b5050602254601f546040517f4c96a38900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff6101009092048216600482015291169250634c96a38991506024015f604051808303815f87803b158015610bcb575f5ffd5b505af1158015610bdd573d5f5f3e3d5ffd5b505050505f7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff1663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af1158015610c4d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c929190810190615b53565b90505f815f81518110610ca757610ca7615cf7565b60200260200101515f0151600181518110610cc457610cc4615cf7565b6020908102919091010151602180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055604080517f41af2f520000000000000000000000000000000000000000000000000000000081529051919250737109709ecfa91a80626ff3989d68f67f5b1dd12d916341af2f52916004808201925f9290919082900301818387803b158015610d76575f5ffd5b505af1158015610d88573d5f5f3e3d5ffd5b505060248054601f546020546021546040517fb775400200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff61010090940484166004820152918316948201949094529281166044840152600160648401525f6084840152600a60a484015216925063b7754002915060c4015f604051808303815f87803b158015610e29575f5ffd5b505af1158015610e3b573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff1663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af1158015610eaa573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610eef9190810190615b53565b91505f825f81518110610f0457610f04615cf7565b60200260200101515f0151600181518110610f2157610f21615cf7565b6020908102919091010151602380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055604051909150610f7b906155d5565b604051809103905ff080158015610f94573d5f5f3e3d5ffd5b5060265f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166341af2f526040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561103b575f5ffd5b505af115801561104d573d5f5f3e3d5ffd5b50506026546023546040517f4cb6643d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201525f60248201819052604482015291169250634cb6643d91506064015f604051808303815f87803b1580156110ca575f5ffd5b505af11580156110dc573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff1663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af115801561114b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526111909190810190615b53565b92505f835f815181106111a5576111a5615cf7565b60200260200101515f01516001815181106111c2576111c2615cf7565b6020908102919091010151602580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405191925090611220906155e2565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103905ff080158015611256573d5f5f3e3d5ffd5b5060275f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156112fd575f5ffd5b505af115801561130f573d5f5f3e3d5ffd5b5050505050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561137c57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611351575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156114c6575f848152602080822060408051808201825260028702909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939591948681019491929084015b828210156114af578382905f5260205f2001805461142490615d24565b80601f016020809104026020016040519081016040528092919081815260200182805461145090615d24565b801561149b5780601f106114725761010080835404028352916020019161149b565b820191905f5260205f20905b81548152906001019060200180831161147e57829003601f168201915b505050505081526020019060010190611407565b5050505081525050815260200190600101906113a9565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561137c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611351575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561137c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611351575050505050905090565b602d80546115b290615d24565b80601f01602080910402602001604051908101604052809291908181526020018280546115de90615d24565b80156116295780601f1061160057610100808354040283529160200191611629565b820191905f5260205f20905b81548152906001019060200180831161160c57829003601f168201915b505050505081565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156116ad575f5ffd5b505af11580156116bf573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b15801561172f575f5ffd5b505af1158015611741573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b1580156117b6575f5ffd5b505af11580156117c8573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611833575f5ffd5b505af1158015611845573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b1580156118c5575f5ffd5b505af11580156118d7573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015f604051808303815f87803b158015611943575f5ffd5b505af1158015611955573d5f5f3e3d5ffd5b50506027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063b3f98adc91506024015b5f604051808303815f87803b1580156119c2575f5ffd5b505af11580156119d4573d5f5f3e3d5ffd5b50506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260016004820181905260248201819052604482018190526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063491cc7c291506084015f604051808303815f87803b158015611a50575f5ffd5b505af1158015611a62573d5f5f3e3d5ffd5b5050602a546040805173ffffffffffffffffffffffffffffffffffffffff90921682525f60208301527f14075e33dffdc00c1fcaf75d0f86d667170be57fb566b12b41b499e5fa53b125935001905060405180910390a16027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff9091169063b3f98adc906024016107fe565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015611b8b575f5ffd5b505af1158015611b9d573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015611c0d575f5ffd5b505af1158015611c1f573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015611c94575f5ffd5b505af1158015611ca6573d5f5f3e3d5ffd5b5050601f54602b546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015611d1b575f5ffd5b505af1158015611d2d573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611d98575f5ffd5b505af1158015611daa573d5f5f3e3d5ffd5b5050602b546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015611e2a575f5ffd5b505af1158015611e3c573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015f604051808303815f87803b158015611ea9575f5ffd5b505af1158015611ebb573d5f5f3e3d5ffd5b50506027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063b3f98adc91506024015f604051808303815f87803b158015611f27575f5ffd5b505af1158015611f39573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015611fb9575f5ffd5b505af1158015611fcb573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015f604051808303815f87803b158015612037575f5ffd5b505af1158015612049573d5f5f3e3d5ffd5b50506027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063b3f98adc91506024015f604051808303815f87803b1580156120b5575f5ffd5b505af11580156120c7573d5f5f3e3d5ffd5b5050602054602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015291169250636a62784291506024015f604051808303815f87803b158015612137575f5ffd5b505af1158015612149573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f471549450000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506121ef92016157a5565b5f604051808303815f87803b158015612206575f5ffd5b505af1158015612218573d5f5f3e3d5ffd5b5050505060275f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d832d92f6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610815575f5ffd5b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156122fe575f5ffd5b505af1158015612310573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015612380575f5ffd5b505af1158015612392573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015612407575f5ffd5b505af1158015612419573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612484575f5ffd5b505af1158015612496573d5f5f3e3d5ffd5b5050602b546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015612516575f5ffd5b505af1158015612528573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f471549450000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506125ce92016157a5565b5f604051808303815f87803b1580156125e5575f5ffd5b505af11580156125f7573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024016107fe565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156126cd575f5ffd5b505af11580156126df573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b15801561274f575f5ffd5b505af1158015612761573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b1580156127d6575f5ffd5b505af11580156127e8573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612853575f5ffd5b505af1158015612865573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b1580156128e5575f5ffd5b505af11580156128f7573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015f604051808303815f87803b158015612963575f5ffd5b505af1158015612975573d5f5f3e3d5ffd5b50506027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063b3f98adc91506024015f604051808303815f87803b1580156129e1575f5ffd5b505af11580156129f3573d5f5f3e3d5ffd5b50506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260016004820181905260248201819052604482018190526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063491cc7c291506084015f604051808303815f87803b158015612a6f575f5ffd5b505af1158015612a81573d5f5f3e3d5ffd5b5050602a5460405173ffffffffffffffffffffffffffffffffffffffff90911681527f36cd5b9d4fdc2d0cf34eda84f3ffd903552e17139454f5f502a305eb3bed15ad9250602001905060405180910390a160275f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d832d92f6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610815575f5ffd5b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156114c6578382905f5260205f2090600202016040518060400160405290815f82018054612b8c90615d24565b80601f0160208091040260200160405190810160405280929190818152602001828054612bb890615d24565b8015612c035780601f10612bda57610100808354040283529160200191612c03565b820191905f5260205f20905b815481529060010190602001808311612be657829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015612c9a57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411612c475790505b50505050508152505081526020019060010190612b5c565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015612d2e575f5ffd5b505af1158015612d40573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015612db0575f5ffd5b505af1158015612dc2573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015612e37575f5ffd5b505af1158015612e49573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612eb4575f5ffd5b505af1158015612ec6573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015612f46575f5ffd5b505af1158015612f58573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024016119ab565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801561302e575f5ffd5b505af1158015613040573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b1580156130b0575f5ffd5b505af11580156130c2573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015613137575f5ffd5b505af1158015613149573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156131b4575f5ffd5b505af11580156131c6573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015613246575f5ffd5b505af1158015613258573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015f604051808303815f87803b1580156132c4575f5ffd5b505af11580156132d6573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff8d49bcd0000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506121ef92016157a5565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156133f8575f5ffd5b505af115801561340a573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b15801561347a575f5ffd5b505af115801561348c573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015613501575f5ffd5b505af1158015613513573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561357e575f5ffd5b505af1158015613590573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015613610575f5ffd5b505af1158015613622573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167faba473390000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506136c892016157a5565b5f604051808303815f87803b1580156136df575f5ffd5b505af11580156136f1573d5f5f3e3d5ffd5b50506027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063b3f98adc91506024016107fe565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156137c7575f5ffd5b505af11580156137d9573d5f5f3e3d5ffd5b50506025546028546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015613849575f5ffd5b505af115801561385b573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b1580156138d0575f5ffd5b505af11580156138e2573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561394d575f5ffd5b505af115801561395f573d5f5f3e3d5ffd5b5050602b546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b1580156139df575f5ffd5b505af11580156139f1573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7d24b6fc0000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506125ce92016157a5565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015613b13575f5ffd5b505af1158015613b25573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015613b95575f5ffd5b505af1158015613ba7573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015613c1c575f5ffd5b505af1158015613c2e573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613c99575f5ffd5b505af1158015613cab573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015613d2b575f5ffd5b505af1158015613d3d573d5f5f3e3d5ffd5b50506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260016004820181905260248201819052604482018190526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063491cc7c291506084015f604051808303815f87803b158015613db9575f5ffd5b505af1158015613dcb573d5f5f3e3d5ffd5b5050602a5460405173ffffffffffffffffffffffffffffffffffffffff90911681527f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e99250602001905060405180910390a16027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff9091169063f207564e906024016107fe565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015613eef575f5ffd5b505af1158015613f01573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015613f71575f5ffd5b505af1158015613f83573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b158015613ff8575f5ffd5b505af115801561400a573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015614075575f5ffd5b505af1158015614087573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015614107575f5ffd5b505af1158015614119573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167faba473390000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506121ef92016157a5565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156114c6578382905f5260205f200180546141ff90615d24565b80601f016020809104026020016040519081016040528092919081815260200182805461422b90615d24565b80156142765780601f1061424d57610100808354040283529160200191614276565b820191905f5260205f20905b81548152906001019060200180831161425957829003601f168201915b5050505050815260200190600101906141e2565b6028546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015614306575f5ffd5b505af1158015614318573d5f5f3e3d5ffd5b50506025546027546040517f776d1a0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063776d1a0191506024015f604051808303815f87803b158015614388575f5ffd5b505af115801561439a573d5f5f3e3d5ffd5b5050601f54602a546040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152610100909204169250636a62784291506024015f604051808303815f87803b15801561440f575f5ffd5b505af1158015614421573d5f5f3e3d5ffd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561448c575f5ffd5b505af115801561449e573d5f5f3e3d5ffd5b5050602a546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b15801561451e575f5ffd5b505af1158015614530573d5f5f3e3d5ffd5b50506027546040517ff207564e0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f207564e91506024015f604051808303815f87803b15801561459c575f5ffd5b505af11580156145ae573d5f5f3e3d5ffd5b50506027546040517fb3f98adc0000000000000000000000000000000000000000000000000000000081525f600482015273ffffffffffffffffffffffffffffffffffffffff909116925063b3f98adc91506024015f604051808303815f87803b15801561461a575f5ffd5b505af115801561462c573d5f5f3e3d5ffd5b5050505060275f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d832d92f6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015614696575f5ffd5b505af11580156146a8573d5f5f3e3d5ffd5b50506040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8eb49d8d0000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393506121ef92016157a5565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156114c6575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561483957602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116147e65790505b50505050508152505081526020019060010190614771565b602754604080517fdadbccee00000000000000000000000000000000000000000000000000000000815290516149029273ffffffffffffffffffffffffffffffffffffffff169163dadbccee9160048083019260209291908290030181865afa1580156148c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148e49190615d75565b60255473ffffffffffffffffffffffffffffffffffffffff166154ba565b602754602a546040517fb2dd5c0700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526149a392919091169063b2dd5c07906024015b602060405180830381865afa158015614979573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061499d9190615d90565b5f615554565b602754602a546040517f09eef43e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152614a039291909116906309eef43e90602