0x60806040526107086005553480156200001757600080fd5b50604051620014f9380380620014f983398181016040528101906200003d9190620001c7565b60006200004f620001a860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000157906200025b565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620002dc565b600033905090565b600081519050620001c181620002c2565b92915050565b600060208284031215620001da57600080fd5b6000620001ea84828501620001b0565b91505092915050565b6000620002026026836200027d565b91507f466565526563697069656e743a20746f6b656e2061646472657373206973206960008301527f6e76616c696400000000000000000000000000000000000000000000000000006020830152604082019050919050565b600060208201905081810360008301526200027681620001f3565b9050919050565b600082825260208201905092915050565b60006200029b82620002a2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002cd816200028e565b8114620002d957600080fd5b50565b61120d80620002ec6000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c80627a94c114610066578063626e1ae714610096578063715018a6146100b45780638da5cb5b146100be578063d294f093146100dc578063f2fde38b146100e6575b600080fd5b610080600480360381019061007b9190610bd0565b610102565b60405161008d9190610fab565b60405180910390f35b61009e61038b565b6040516100ab9190610fab565b60405180910390f35b6100bc610395565b005b6100c66104e8565b6040516100d39190610ea7565b60405180910390f35b6100e4610511565b005b61010060048036038101906100fb9190610bd0565b6108ae565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016101609190610ea7565b60206040518083038186803b15801561017857600080fd5b505afa15801561018c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b09190610c22565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b81526004016102539190610ea7565b60206040518083038186803b15801561026b57600080fd5b505afa15801561027f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a39190610c22565b9050600061036b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561031257600080fd5b505afa158015610326573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034a9190610c22565b61035d8487610a7090919063ffffffff16565b610ad990919063ffffffff16565b90506103808382610aef90919063ffffffff16565b945050505050919050565b6000600454905090565b61039d610b3c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042190610f6b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061051c33610102565b905060008111610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055890610f4b565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016105be9190610ea7565b60206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190610c22565b1161064e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064590610f2b565b60405180910390fd5b6106a2600554600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b4490919063ffffffff16565b4210156106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90610f8b565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610741929190610ec2565b602060405180830381600087803b15801561075b57600080fd5b505af115801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107939190610bf9565b6107d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c990610eeb565b60405180910390fd5b61082481600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b4490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6108b6610b3c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a90610f6b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90610f0b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415610a835760009050610ad3565b8183610a8f919061105e565b9050818382610a9e919061102d565b14610ad2577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b5b92915050565b60008183610ae7919061102d565b905092915050565b600082821115610b28577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8183610b3491906110b8565b905092915050565b600033905090565b60008183610b529190610fd7565b905082811015610b8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b92915050565b600081359050610ba081611192565b92915050565b600081519050610bb5816111a9565b92915050565b600081519050610bca816111c0565b92915050565b600060208284031215610be257600080fd5b6000610bf084828501610b91565b91505092915050565b600060208284031215610c0b57600080fd5b6000610c1984828501610ba6565b91505092915050565b600060208284031215610c3457600080fd5b6000610c4284828501610bbb565b91505092915050565b610c54816110ec565b82525050565b6000610c67602183610fc6565b91507f466565526563697069656e743a20666565207472616e73666572206661696c6560008301527f64000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610ccd602683610fc6565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610d33602f83610fc6565b91507f466565526563697069656e743a206f6e6c7920746f6b656e20686f6c6465727360008301527f2063616e20636c61696d206665657300000000000000000000000000000000006020830152604082019050919050565b6000610d99602883610fc6565b91507f466565526563697069656e743a206e6f20617661696c61626c6520666565732060008301527f746f20636c61696d0000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610dff602083610fc6565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000610e3f603283610fc6565b91507f466565526563697069656e743a206d7573742077616974206265666f7265206360008301527f6c61696d696e67206665657320616761696e00000000000000000000000000006020830152604082019050919050565b610ea18161112a565b82525050565b6000602082019050610ebc6000830184610c4b565b92915050565b6000604082019050610ed76000830185610c4b565b610ee46020830184610e98565b9392505050565b60006020820190508181036000830152610f0481610c5a565b9050919050565b60006020820190508181036000830152610f2481610cc0565b9050919050565b60006020820190508181036000830152610f4481610d26565b9050919050565b60006020820190508181036000830152610f6481610d8c565b9050919050565b60006020820190508181036000830152610f8481610df2565b9050919050565b60006020820190508181036000830152610fa481610e32565b9050919050565b6000602082019050610fc06000830184610e98565b92915050565b600082825260208201905092915050565b6000610fe28261112a565b9150610fed8361112a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561102257611021611134565b5b828201905092915050565b60006110388261112a565b91506110438361112a565b92508261105357611052611163565b5b828204905092915050565b60006110698261112a565b91506110748361112a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156110ad576110ac611134565b5b828202905092915050565b60006110c38261112a565b91506110ce8361112a565b9250828210156110e1576110e0611134565b5b828203905092915050565b60006110f78261110a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61119b816110ec565b81146111a657600080fd5b50565b6111b2816110fe565b81146111bd57600080fd5b50565b6111c98161112a565b81146111d457600080fd5b5056fea2646970667358221220e8ff978dd7ec08bc32a3954231f95bc698b619c1710c183a2f68b5348622d93d64736f6c634300080000330000000000000000000000005a018ac7cf45bfca1efda89679d2c912d26547cd