6080604052695915a68d88da6a0800006000196200001e919062000737565b6000196200002d91906200079e565b600655600060085560176009556000600a556028600b55600a54600c55600b54600d55600c54600e55600d54600f557339cb4c4ac2cf55326c1f6b371602c340412741fc601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507339cb4c4ac2cf55326c1f6b371602c340412741fc601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff0219169083151502179055506901c75d6ae6e4814000006016556901c75d6ae6e4814000006017556901c75d6ae6e4814000006018553480156200018d57600080fd5b506000620001a0620006cd60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506006546002600062000255620006cd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000339573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035f919062000843565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003c7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ed919062000843565b6040518363ffffffff1660e01b81526004016200040c92919062000886565b6020604051808303816000875af11580156200042c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000452919062000843565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004a8620006d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000655620006cd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef695915a68d88da6a080000604051620006be9190620008c4565b60405180910390a350620008e1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200074482620006fe565b91506200075183620006fe565b92508262000764576200076362000708565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007ab82620006fe565b9150620007b883620006fe565b9250828203905081811115620007d357620007d26200076f565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080b82620007de565b9050919050565b6200081d81620007fe565b81146200082957600080fd5b50565b6000815190506200083d8162000812565b92915050565b6000602082840312156200085c576200085b620007d9565b5b60006200086c848285016200082c565b91505092915050565b6200088081620007fe565b82525050565b60006040820190506200089d600083018562000875565b620008ac602083018462000875565b9392505050565b620008be81620006fe565b82525050565b6000602082019050620008db6000830184620008b3565b92915050565b6139a680620008f16000396000f3fe6080604052600436106101bb5760003560e01c80637f2feddc116100ec578063a9059cbb1161008a578063c492f04611610064578063c492f046146105f5578063dd62ed3e1461061e578063ea1644d51461065b578063f2fde38b14610684576101c2565b8063a9059cbb14610564578063bfd79284146105a1578063c3c8cd80146105de576101c2565b80638f9a55c0116100c65780638f9a55c0146104bc57806395d89b41146104e757806398a5c31514610512578063a2a957bb1461053b576101c2565b80637f2feddc1461042b5780638da5cb5b146104685780638f70ccf714610493576101c2565b806349bd5a5e1161015957806370a082311161013357806370a0823114610383578063715018a6146103c057806374010ece146103d75780637d1db4a514610400576101c2565b806349bd5a5e146103185780636d8aa8f8146103435780636fc3eaec1461036c576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632fd689e3146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106ad565b6040516101e9919061299d565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612a5d565b6106ea565b6040516102269190612ab8565b60405180910390f35b34801561023b57600080fd5b50610244610708565b6040516102519190612b32565b60405180910390f35b34801561026657600080fd5b5061026f61072e565b60405161027c9190612b5c565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612b77565b610740565b6040516102b99190612ab8565b60405180910390f35b3480156102ce57600080fd5b506102d7610819565b6040516102e49190612b5c565b60405180910390f35b3480156102f957600080fd5b5061030261081f565b60405161030f9190612be6565b60405180910390f35b34801561032457600080fd5b5061032d610828565b60405161033a9190612c10565b60405180910390f35b34801561034f57600080fd5b5061036a60048036038101906103659190612c57565b61084e565b005b34801561037857600080fd5b50610381610900565b005b34801561038f57600080fd5b506103aa60048036038101906103a59190612c84565b6109d1565b6040516103b79190612b5c565b60405180910390f35b3480156103cc57600080fd5b506103d5610a22565b005b3480156103e357600080fd5b506103fe60048036038101906103f99190612cb1565b610b75565b005b34801561040c57600080fd5b50610415610c14565b6040516104229190612b5c565b60405180910390f35b34801561043757600080fd5b50610452600480360381019061044d9190612c84565b610c1a565b60405161045f9190612b5c565b60405180910390f35b34801561047457600080fd5b5061047d610c32565b60405161048a9190612c10565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612c57565b610c5b565b005b3480156104c857600080fd5b506104d1610d0d565b6040516104de9190612b5c565b60405180910390f35b3480156104f357600080fd5b506104fc610d13565b604051610509919061299d565b60405180910390f35b34801561051e57600080fd5b5061053960048036038101906105349190612cb1565b610d50565b005b34801561054757600080fd5b50610562600480360381019061055d9190612cde565b610def565b005b34801561057057600080fd5b5061058b60048036038101906105869190612a5d565b610ea6565b6040516105989190612ab8565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c39190612c84565b610ec4565b6040516105d59190612ab8565b60405180910390f35b3480156105ea57600080fd5b506105f3610ee4565b005b34801561060157600080fd5b5061061c60048036038101906106179190612daa565b610fbd565b005b34801561062a57600080fd5b5061064560048036038101906106409190612e0a565b6110f7565b6040516106529190612b5c565b60405180910390f35b34801561066757600080fd5b50610682600480360381019061067d9190612cb1565b61117e565b005b34801561069057600080fd5b506106ab60048036038101906106a69190612c84565b61121d565b005b60606040518060400160405280600981526020017f576f6a616b204567670000000000000000000000000000000000000000000000815250905090565b60006106fe6106f76113de565b84846113e6565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000695915a68d88da6a080000905090565b600061074d8484846115af565b61080e846107596113de565b6108098560405180606001604052806028815260200161394960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107bf6113de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e329092919063ffffffff16565b6113e6565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108566113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90612e96565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109416113de565b73ffffffffffffffffffffffffffffffffffffffff1614806109b75750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099f6113de565b73ffffffffffffffffffffffffffffffffffffffff16145b6109c057600080fd5b60004790506109ce81611e96565b50565b6000610a1b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f02565b9050919050565b610a2a6113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90612e96565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b7d6113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0190612e96565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c636113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce790612e96565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600481526020017f5745474700000000000000000000000000000000000000000000000000000000815250905090565b610d586113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc90612e96565b60405180910390fd5b8060188190555050565b610df76113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7b90612e96565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000610eba610eb36113de565b84846115af565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f256113de565b73ffffffffffffffffffffffffffffffffffffffff161480610f9b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f836113de565b73ffffffffffffffffffffffffffffffffffffffff16145b610fa457600080fd5b6000610faf306109d1565b9050610fba81611f70565b50565b610fc56113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104990612e96565b60405180910390fd5b60005b838390508110156110f157816005600086868581811061107857611077612eb6565b5b905060200201602081019061108d9190612c84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110e990612f14565b915050611055565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111866113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90612e96565b60405180910390fd5b8060178190555050565b6112256113de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a990612e96565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612fce565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90613060565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb906130f2565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115a29190612b5c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361161e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161590613184565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361168d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168490613216565b60405180910390fd5b600081116116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c7906132a8565b60405180910390fd5b6116d8610c32565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117465750611716610c32565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b3157601560149054906101000a900460ff166117d557611767610c32565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cb9061333a565b60405180910390fd5b5b60165481111561181a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611811906133a6565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118be5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490613438565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146119aa576017548161195f846109d1565b6119699190613458565b106119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a0906134fe565b60405180910390fd5b5b60006119b5306109d1565b90506000601854821015905060165482106119d05760165491505b8080156119e8575060158054906101000a900460ff16155b8015611a425750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a5a5750601560169054906101000a900460ff165b8015611ab05750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b065750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b2e57611b1482611f70565b60004790506000811115611b2c57611b2b47611e96565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bd85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c8b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c8a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611c995760009050611e20565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d445750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d5c57600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e075750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e1f57600a54600c81905550600b54600d819055505b5b611e2c848484846121e7565b50505050565b6000838311158290611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e71919061299d565b60405180910390fd5b5060008385611e89919061351e565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611efe573d6000803e3d6000fd5b5050565b6000600654821115611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f40906135c4565b60405180910390fd5b6000611f53612214565b9050611f68818461223f90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fa757611fa66135e4565b5b604051908082528060200260200182016040528015611fd55781602001602082028036833780820191505090505b5090503081600081518110611fed57611fec612eb6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612094573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b89190613628565b816001815181106120cc576120cb612eb6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061213330601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113e6565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161219795949392919061374e565b600060405180830381600087803b1580156121b157600080fd5b505af11580156121c5573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806121f5576121f4612289565b5b6122008484846122c6565b8061220e5761220d612491565b5b50505050565b60008060006122216124a5565b91509150612238818361223f90919063ffffffff16565b9250505090565b600061228183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061250a565b905092915050565b6000600c5414801561229d57506000600d54145b6122c457600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806122d88761256d565b95509550955095509550955061233686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123cb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124178161267d565b612421848361273a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161247e9190612b5c565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000695915a68d88da6a08000090506124dd695915a68d88da6a08000060065461223f90919063ffffffff16565b8210156124fd57600654695915a68d88da6a080000935093505050612506565b81819350935050505b9091565b60008083118290612551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612548919061299d565b60405180910390fd5b506000838561256091906137d7565b9050809150509392505050565b600080600080600080600080600061258a8a600c54600d54612774565b925092509250600061259a612214565b905060008060006125ad8e87878761280a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061261783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e32565b905092915050565b600080828461262e9190613458565b905083811015612673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266a90613854565b60405180910390fd5b8091505092915050565b6000612687612214565b9050600061269e828461289390919063ffffffff16565b90506126f281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61274f826006546125d590919063ffffffff16565b60068190555061276a8160075461261f90919063ffffffff16565b6007819055505050565b6000806000806127a06064612792888a61289390919063ffffffff16565b61223f90919063ffffffff16565b905060006127ca60646127bc888b61289390919063ffffffff16565b61223f90919063ffffffff16565b905060006127f3826127e5858c6125d590919063ffffffff16565b6125d590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612823858961289390919063ffffffff16565b9050600061283a868961289390919063ffffffff16565b90506000612851878961289390919063ffffffff16565b9050600061287a8261286c85876125d590919063ffffffff16565b6125d590919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036128a55760009050612907565b600082846128b39190613874565b90508284826128c291906137d7565b14612902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f990613928565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561294757808201518184015260208101905061292c565b60008484015250505050565b6000601f19601f8301169050919050565b600061296f8261290d565b6129798185612918565b9350612989818560208601612929565b61299281612953565b840191505092915050565b600060208201905081810360008301526129b78184612964565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129f4826129c9565b9050919050565b612a04816129e9565b8114612a0f57600080fd5b50565b600081359050612a21816129fb565b92915050565b6000819050919050565b612a3a81612a27565b8114612a4557600080fd5b50565b600081359050612a5781612a31565b92915050565b60008060408385031215612a7457612a736129bf565b5b6000612a8285828601612a12565b9250506020612a9385828601612a48565b9150509250929050565b60008115159050919050565b612ab281612a9d565b82525050565b6000602082019050612acd6000830184612aa9565b92915050565b6000819050919050565b6000612af8612af3612aee846129c9565b612ad3565b6129c9565b9050919050565b6000612b0a82612add565b9050919050565b6000612b1c82612aff565b9050919050565b612b2c81612b11565b82525050565b6000602082019050612b476000830184612b23565b92915050565b612b5681612a27565b82525050565b6000602082019050612b716000830184612b4d565b92915050565b600080600060608486031215612b9057612b8f6129bf565b5b6000612b9e86828701612a12565b9350506020612baf86828701612a12565b9250506040612bc086828701612a48565b9150509250925092565b600060ff82169050919050565b612be081612bca565b82525050565b6000602082019050612bfb6000830184612bd7565b92915050565b612c0a816129e9565b82525050565b6000602082019050612c256000830184612c01565b92915050565b612c3481612a9d565b8114612c3f57600080fd5b50565b600081359050612c5181612c2b565b92915050565b600060208284031215612c6d57612c6c6129bf565b5b6000612c7b84828501612c42565b91505092915050565b600060208284031215612c9a57612c996129bf565b5b6000612ca884828501612a12565b91505092915050565b600060208284031215612cc757612cc66129bf565b5b6000612cd584828501612a48565b91505092915050565b60008060008060808587031215612cf857612cf76129bf565b5b6000612d0687828801612a48565b9450506020612d1787828801612a48565b9350506040612d2887828801612a48565b9250506060612d3987828801612a48565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f840112612d6a57612d69612d45565b5b8235905067ffffffffffffffff811115612d8757612d86612d4a565b5b602083019150836020820283011115612da357612da2612d4f565b5b9250929050565b600080600060408486031215612dc357612dc26129bf565b5b600084013567ffffffffffffffff811115612de157612de06129c4565b5b612ded86828701612d54565b93509350506020612e0086828701612c42565b9150509250925092565b60008060408385031215612e2157612e206129bf565b5b6000612e2f85828601612a12565b9250506020612e4085828601612a12565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e80602083612918565b9150612e8b82612e4a565b602082019050919050565b60006020820190508181036000830152612eaf81612e73565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f1f82612a27565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f5157612f50612ee5565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612fb8602683612918565b9150612fc382612f5c565b604082019050919050565b60006020820190508181036000830152612fe781612fab565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061304a602483612918565b915061305582612fee565b604082019050919050565b600060208201905081810360008301526130798161303d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130dc602283612918565b91506130e782613080565b604082019050919050565b6000602082019050818103600083015261310b816130cf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061316e602583612918565b915061317982613112565b604082019050919050565b6000602082019050818103600083015261319d81613161565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613200602383612918565b915061320b826131a4565b604082019050919050565b6000602082019050818103600083015261322f816131f3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613292602983612918565b915061329d82613236565b604082019050919050565b600060208201905081810360008301526132c181613285565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613324603f83612918565b915061332f826132c8565b604082019050919050565b6000602082019050818103600083015261335381613317565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613390601c83612918565b915061339b8261335a565b602082019050919050565b600060208201905081810360008301526133bf81613383565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613422602383612918565b915061342d826133c6565b604082019050919050565b6000602082019050818103600083015261345181613415565b9050919050565b600061346382612a27565b915061346e83612a27565b925082820190508082111561348657613485612ee5565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006134e8602383612918565b91506134f38261348c565b604082019050919050565b60006020820190508181036000830152613517816134db565b9050919050565b600061352982612a27565b915061353483612a27565b925082820390508181111561354c5761354b612ee5565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135ae602a83612918565b91506135b982613552565b604082019050919050565b600060208201905081810360008301526135dd816135a1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613622816129fb565b92915050565b60006020828403121561363e5761363d6129bf565b5b600061364c84828501613613565b91505092915050565b6000819050919050565b600061367a61367561367084613655565b612ad3565b612a27565b9050919050565b61368a8161365f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136c5816129e9565b82525050565b60006136d783836136bc565b60208301905092915050565b6000602082019050919050565b60006136fb82613690565b613705818561369b565b9350613710836136ac565b8060005b8381101561374157815161372888826136cb565b9750613733836136e3565b925050600181019050613714565b5085935050505092915050565b600060a0820190506137636000830188612b4d565b6137706020830187613681565b818103604083015261378281866136f0565b90506137916060830185612c01565b61379e6080830184612b4d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006137e282612a27565b91506137ed83612a27565b9250826137fd576137fc6137a8565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061383e601b83612918565b915061384982613808565b602082019050919050565b6000602082019050818103600083015261386d81613831565b9050919050565b600061387f82612a27565b915061388a83612a27565b925082820261389881612a27565b915082820484148315176138af576138ae612ee5565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613912602183612918565b915061391d826138b6565b604082019050919050565b6000602082019050818103600083015261394181613905565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dd51260234f93004a3036835b25ef342641cfb3f0d0715ff7bef90188ba6b8f564736f6c63430008130033