0x60806040526040518060400160405280600d81526020017f536166656e657420546f6b656e00000000000000000000000000000000000000815250600190816200004a919062000dfb565b506040518060400160405280600481526020017f534e4554000000000000000000000000000000000000000000000000000000008152506002908162000091919062000dfb565b506009600360006101000a81548160ff021916908360ff16021790555073a9dea017ee78e6249e1e3b5a1172bfa77273423d600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507316b2e0b286aa81125edea2f55695edda9505bab1600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600b556004600c55600360009054906101000a900460ff16600a620001c3919062001072565b620f4240620001d39190620010c3565b600d55600360009054906101000a900460ff16600a620001f4919062001072565b610bb8620002039190620010c3565b600e55600360009054906101000a900460ff16600a62000224919062001072565b617530620002339190620010c3565b600f556001601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055503480156200027957600080fd5b50604051620049023803806200490283398181016040528101906200029f919062001178565b6000620002b16200098160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003da919062001178565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000468919062001178565b6040518363ffffffff1660e01b815260040162000487929190620011bb565b6020604051808303816000875af1158015620004a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004cd919062001178565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d54600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000604826200098960201b60201c565b6001600860006200061a62000b5860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d5460066000620008c262000b5860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200091062000b5860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620009719190620011f9565b60405180910390a3505062001331565b600033905090565b620009996200098160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a209062001277565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000a9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a92906200130f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c0357607f821691505b60208210810362000c195762000c1862000bbb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c44565b62000c8f868362000c44565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cdc62000cd662000cd08462000ca7565b62000cb1565b62000ca7565b9050919050565b6000819050919050565b62000cf88362000cbb565b62000d1062000d078262000ce3565b84845462000c51565b825550505050565b600090565b62000d2762000d18565b62000d3481848462000ced565b505050565b5b8181101562000d5c5762000d5060008262000d1d565b60018101905062000d3a565b5050565b601f82111562000dab5762000d758162000c1f565b62000d808462000c34565b8101602085101562000d90578190505b62000da862000d9f8562000c34565b83018262000d39565b50505b505050565b600082821c905092915050565b600062000dd06000198460080262000db0565b1980831691505092915050565b600062000deb838362000dbd565b9150826002028217905092915050565b62000e068262000b81565b67ffffffffffffffff81111562000e225762000e2162000b8c565b5b62000e2e825462000bea565b62000e3b82828562000d60565b600060209050601f83116001811462000e73576000841562000e5e578287015190505b62000e6a858262000ddd565b86555062000eda565b601f19841662000e838662000c1f565b60005b8281101562000ead5784890151825560018201915060208501945060208101905062000e86565b8683101562000ecd578489015162000ec9601f89168262000dbd565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f705780860481111562000f485762000f4762000ee2565b5b600185161562000f585780820291505b808102905062000f688562000f11565b945062000f28565b94509492505050565b60008262000f8b57600190506200105e565b8162000f9b57600090506200105e565b816001811462000fb4576002811462000fbf5762000ff5565b60019150506200105e565b60ff84111562000fd45762000fd362000ee2565b5b8360020a91508482111562000fee5762000fed62000ee2565b5b506200105e565b5060208310610133831016604e8410600b84101617156200102f5782820a90508381111562001029576200102862000ee2565b5b6200105e565b6200103e848484600162000f1e565b9250905081840481111562001058576200105762000ee2565b5b81810290505b9392505050565b600060ff82169050919050565b60006200107f8262000ca7565b91506200108c8362001065565b9250620010bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f79565b905092915050565b6000620010d08262000ca7565b9150620010dd8362000ca7565b9250828202620010ed8162000ca7565b9150828204841483151762001107576200110662000ee2565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620011408262001113565b9050919050565b620011528162001133565b81146200115e57600080fd5b50565b600081519050620011728162001147565b92915050565b6000602082840312156200119157620011906200110e565b5b6000620011a18482850162001161565b91505092915050565b620011b58162001133565b82525050565b6000604082019050620011d26000830185620011aa565b620011e16020830184620011aa565b9392505050565b620011f38162000ca7565b82525050565b6000602082019050620012106000830184620011e8565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200125f60208362001216565b91506200126c8262001227565b602082019050919050565b60006020820190508181036000830152620012928162001250565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620012f760268362001216565b9150620013048262001299565b604082019050919050565b600060208201905081810360008301526200132a81620012e8565b9050919050565b6135c180620013416000396000f3fe6080604052600436106102085760003560e01c806370a0823111610118578063aa4bde28116100a0578063da00097d1161006f578063da00097d146107a4578063dc1052e2146107cf578063dd62ed3e146107f8578063ef422a1814610835578063f2fde38b1461085e5761020f565b8063aa4bde28146106f8578063c04a541414610723578063c816841b1461074e578063cc1776d3146107795761020f565b80638da5cb5b116100e75780638da5cb5b146105fd57806395d89b4114610628578063a073d37f14610653578063a457c2d71461067e578063a9059cbb146106bb5761020f565b806370a0823114610555578063715018a61461059257806375f0a874146105a95780638cd09d50146105d45761020f565b8063313ce5671161019b578063455a43961161016a578063455a4396146104705780634a74bb02146104995780634f7041a5146104c45780635342acb4146104ef5780635d0044ca1461052c5761020f565b8063313ce567146103a257806339509351146103cd5780633b97084a1461040a5780633ecad271146104335761020f565b80631cdd3be3116101d75780631cdd3be3146102d257806323b872dd1461030f57806327c8f8351461034c5780632b112e49146103775761020f565b806306fdde0314610214578063095ea7b31461023f5780631694505e1461027c57806318160ddd146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610887565b60405161023691906128cb565b60405180910390f35b34801561024b57600080fd5b5061026660048036038101906102619190612986565b610919565b60405161027391906129e1565b60405180910390f35b34801561028857600080fd5b50610291610937565b60405161029e9190612a5b565b60405180910390f35b3480156102b357600080fd5b506102bc61095d565b6040516102c99190612a85565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190612aa0565b610967565b60405161030691906129e1565b60405180910390f35b34801561031b57600080fd5b5061033660048036038101906103319190612acd565b610987565b60405161034391906129e1565b60405180910390f35b34801561035857600080fd5b50610361610a61565b60405161036e9190612b2f565b60405180910390f35b34801561038357600080fd5b5061038c610a87565b6040516103999190612a85565b60405180910390f35b3480156103ae57600080fd5b506103b7610acd565b6040516103c49190612b66565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190612986565b610ae4565b60405161040191906129e1565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c9190612b81565b610b97565b005b34801561043f57600080fd5b5061045a60048036038101906104559190612aa0565b610c36565b60405161046791906129e1565b60405180910390f35b34801561047c57600080fd5b5061049760048036038101906104929190612bda565b610c56565b005b3480156104a557600080fd5b506104ae610d46565b6040516104bb91906129e1565b60405180910390f35b3480156104d057600080fd5b506104d9610d59565b6040516104e69190612a85565b60405180910390f35b3480156104fb57600080fd5b5061051660048036038101906105119190612aa0565b610d5f565b60405161052391906129e1565b60405180910390f35b34801561053857600080fd5b50610553600480360381019061054e9190612b81565b610d7f565b005b34801561056157600080fd5b5061057c60048036038101906105779190612aa0565b610e1e565b6040516105899190612a85565b60405180910390f35b34801561059e57600080fd5b506105a7610e67565b005b3480156105b557600080fd5b506105be610fba565b6040516105cb9190612c3b565b60405180910390f35b3480156105e057600080fd5b506105fb60048036038101906105f69190612b81565b610fe0565b005b34801561060957600080fd5b5061061261107f565b60405161061f9190612b2f565b60405180910390f35b34801561063457600080fd5b5061063d6110a8565b60405161064a91906128cb565b60405180910390f35b34801561065f57600080fd5b5061066861113a565b6040516106759190612a85565b60405180910390f35b34801561068a57600080fd5b506106a560048036038101906106a09190612986565b611144565b6040516106b291906129e1565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd9190612986565b611211565b6040516106ef91906129e1565b60405180910390f35b34801561070457600080fd5b5061070d611230565b60405161071a9190612a85565b60405180910390f35b34801561072f57600080fd5b5061073861123a565b6040516107459190612c3b565b60405180910390f35b34801561075a57600080fd5b50610763611260565b6040516107709190612b2f565b60405180910390f35b34801561078557600080fd5b5061078e611286565b60405161079b9190612a85565b60405180910390f35b3480156107b057600080fd5b506107b961128c565b6040516107c691906129e1565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190612b81565b61129f565b005b34801561080457600080fd5b5061081f600480360381019061081a9190612c56565b61133e565b60405161082c9190612a85565b60405180910390f35b34801561084157600080fd5b5061085c60048036038101906108579190612bda565b6113c5565b005b34801561086a57600080fd5b5061088560048036038101906108809190612aa0565b6114b5565b005b60606001805461089690612cc5565b80601f01602080910402602001604051908101604052809291908181526020018280546108c290612cc5565b801561090f5780601f106108e45761010080835404028352916020019161090f565b820191906000526020600020905b8154815290600101906020018083116108f257829003601f168201915b5050505050905090565b600061092d610926611676565b848461167e565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d54905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000610994848484611847565b50610a56846109a1611676565b610a518560405180606001604052806028815260200161353f60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a07611676565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb09092919063ffffffff16565b61167e565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ac8610ab7600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e1e565b600d54611f1490919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610b8d610af1611676565b84610b888560076000610b02611676565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5e90919063ffffffff16565b61167e565b6001905092915050565b610b9f611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2390612d42565b60405180910390fd5b80600e8190555050565b60096020528060005260406000206000915054906101000a900460ff1681565b610c5e611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290612d42565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601160159054906101000a900460ff1681565b600b5481565b60086020528060005260406000206000915054906101000a900460ff1681565b610d87611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b90612d42565b60405180910390fd5b80600f8190555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e6f611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390612d42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fe8611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c90612d42565b60405180910390fd5b80600c8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546110b790612cc5565b80601f01602080910402602001604051908101604052809291908181526020018280546110e390612cc5565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b5050505050905090565b6000600e54905090565b6000611207611151611676565b8461120285604051806060016040528060258152602001613567602591396007600061117b611676565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb09092919063ffffffff16565b61167e565b6001905092915050565b600061122561121e611676565b8484611847565b506001905092915050565b6000600f54905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b601160169054906101000a900460ff1681565b6112a7611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b90612d42565b60405180910390fd5b80600b8190555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113cd611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145190612d42565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114bd611676565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154190612d42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b090612dd4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612e66565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361175c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175390612ef8565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161183a9190612a85565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae90612f8a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191d9061301c565b60405180910390fd5b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119ca5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613088565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611af157600f54611aaf83600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5e90919063ffffffff16565b1115611af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae7906130f4565b60405180910390fd5b5b601160149054906101000a900460ff1615611b1857611b11848484611fbc565b9050611ea9565b6000611b2330610e1e565b90506000600e548210159050808015611b495750601160149054906101000a900460ff16155b8015611b9f5750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611bb75750601160159054906101000a900460ff165b8015611bf65750611bc661107f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611c2057601160169054906101000a900460ff1615611c1657600e5491505b611c1f8261218f565b5b611ca9846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb09092919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d8f5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611da357611d9e87878761225f565b611da5565b845b9050611df981600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5e90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e999190612a85565b60405180910390a3600193505050505b9392505050565b6000838311158290611ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eef91906128cb565b60405180910390fd5b5060008385611f079190613143565b9050809150509392505050565b6000611f5683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eb0565b905092915050565b6000808284611f6d9190613177565b905083811015611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa9906131f7565b60405180910390fd5b8091505092915050565b6000612047826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb09092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120dc82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161217c9190612a85565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506121b381612486565b6000479050600081111561220157612200600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166121fb6002846126c990919063ffffffff16565b612713565b5b612240600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661223b6002846126c990919063ffffffff16565b612713565b506000601160146101000a81548160ff02191690831515021790555050565b60008060009050600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122e7576122e060646122d2600b548661275e90919063ffffffff16565b6126c990919063ffffffff16565b9050612365565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612364576123616064612353600c548661275e90919063ffffffff16565b6126c990919063ffffffff16565b90505b5b6000811115612469576123c081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5e90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124609190612a85565b60405180910390a35b61247c8184611f1490919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff8111156124a3576124a2613217565b5b6040519080825280602002602001820160405280156124d15781602001602082028036833780820191505090505b50905030816000815181106124e9576124e8613246565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b4919061328a565b816001815181106125c8576125c7613246565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262f30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461167e565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126939594939291906133b0565b600060405180830381600087803b1580156126ad57600080fd5b505af11580156126c1573d6000803e3d6000fd5b505050505050565b600061270b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127d8565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612759573d6000803e3d6000fd5b505050565b600080830361277057600090506127d2565b6000828461277e919061340a565b905082848261278d919061347b565b146127cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c49061351e565b60405180910390fd5b809150505b92915050565b6000808311829061281f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281691906128cb565b60405180910390fd5b506000838561282e919061347b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561287557808201518184015260208101905061285a565b60008484015250505050565b6000601f19601f8301169050919050565b600061289d8261283b565b6128a78185612846565b93506128b7818560208601612857565b6128c081612881565b840191505092915050565b600060208201905081810360008301526128e58184612892565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061291d826128f2565b9050919050565b61292d81612912565b811461293857600080fd5b50565b60008135905061294a81612924565b92915050565b6000819050919050565b61296381612950565b811461296e57600080fd5b50565b6000813590506129808161295a565b92915050565b6000806040838503121561299d5761299c6128ed565b5b60006129ab8582860161293b565b92505060206129bc85828601612971565b9150509250929050565b60008115159050919050565b6129db816129c6565b82525050565b60006020820190506129f660008301846129d2565b92915050565b6000819050919050565b6000612a21612a1c612a17846128f2565b6129fc565b6128f2565b9050919050565b6000612a3382612a06565b9050919050565b6000612a4582612a28565b9050919050565b612a5581612a3a565b82525050565b6000602082019050612a706000830184612a4c565b92915050565b612a7f81612950565b82525050565b6000602082019050612a9a6000830184612a76565b92915050565b600060208284031215612ab657612ab56128ed565b5b6000612ac48482850161293b565b91505092915050565b600080600060608486031215612ae657612ae56128ed565b5b6000612af48682870161293b565b9350506020612b058682870161293b565b9250506040612b1686828701612971565b9150509250925092565b612b2981612912565b82525050565b6000602082019050612b446000830184612b20565b92915050565b600060ff82169050919050565b612b6081612b4a565b82525050565b6000602082019050612b7b6000830184612b57565b92915050565b600060208284031215612b9757612b966128ed565b5b6000612ba584828501612971565b91505092915050565b612bb7816129c6565b8114612bc257600080fd5b50565b600081359050612bd481612bae565b92915050565b60008060408385031215612bf157612bf06128ed565b5b6000612bff8582860161293b565b9250506020612c1085828601612bc5565b9150509250929050565b6000612c25826128f2565b9050919050565b612c3581612c1a565b82525050565b6000602082019050612c506000830184612c2c565b92915050565b60008060408385031215612c6d57612c6c6128ed565b5b6000612c7b8582860161293b565b9250506020612c8c8582860161293b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612cdd57607f821691505b602082108103612cf057612cef612c96565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d2c602083612846565b9150612d3782612cf6565b602082019050919050565b60006020820190508181036000830152612d5b81612d1f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612dbe602683612846565b9150612dc982612d62565b604082019050919050565b60006020820190508181036000830152612ded81612db1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e50602483612846565b9150612e5b82612df4565b604082019050919050565b60006020820190508181036000830152612e7f81612e43565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ee2602283612846565b9150612eed82612e86565b604082019050919050565b60006020820190508181036000830152612f1181612ed5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f74602583612846565b9150612f7f82612f18565b604082019050919050565b60006020820190508181036000830152612fa381612f67565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613006602383612846565b915061301182612faa565b604082019050919050565b6000602082019050818103600083015261303581612ff9565b9050919050565b7f426c61636b6c6973746564206164647265737300000000000000000000000000600082015250565b6000613072601383612846565b915061307d8261303c565b602082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b7f7265616368656420746f206d617877616c6c6574000000000000000000000000600082015250565b60006130de601483612846565b91506130e9826130a8565b602082019050919050565b6000602082019050818103600083015261310d816130d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061314e82612950565b915061315983612950565b925082820390508181111561317157613170613114565b5b92915050565b600061318282612950565b915061318d83612950565b92508282019050808211156131a5576131a4613114565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131e1601b83612846565b91506131ec826131ab565b602082019050919050565b60006020820190508181036000830152613210816131d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061328481612924565b92915050565b6000602082840312156132a05761329f6128ed565b5b60006132ae84828501613275565b91505092915050565b6000819050919050565b60006132dc6132d76132d2846132b7565b6129fc565b612950565b9050919050565b6132ec816132c1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61332781612912565b82525050565b6000613339838361331e565b60208301905092915050565b6000602082019050919050565b600061335d826132f2565b61336781856132fd565b93506133728361330e565b8060005b838110156133a357815161338a888261332d565b975061339583613345565b925050600181019050613376565b5085935050505092915050565b600060a0820190506133c56000830188612a76565b6133d260208301876132e3565b81810360408301526133e48186613352565b90506133f36060830185612b20565b6134006080830184612a76565b9695505050505050565b600061341582612950565b915061342083612950565b925082820261342e81612950565b9150828204841483151761344557613444613114565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061348682612950565b915061349183612950565b9250826134a1576134a061344c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613508602183612846565b9150613513826134ac565b604082019050919050565b60006020820190508181036000830152613537816134fb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207a0518410dde1c216d4279fba7225c780f000d45de208134638447fa8e0280f864736f6c6343000812003300000000000000000000000078d270d4e582549e57f1e824158b4d10a1816a62