Loading
60806040526a52b7d2dcc80cd2e40000006000196200001f919062000591565b6000196200002e9190620005f8565b600655600060085560006009556000600a556031600b55600a54600c55600b54600d55600c54600e55600d54600f5573a2c4611024ebff3322450c84c1af7af65602df67601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a2c4611024ebff3322450c84c1af7af65602df67601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555060646a52b7d2dcc80cd2e400000062000171919062000633565b60026200017f91906200066b565b60165560646a52b7d2dcc80cd2e40000006200019c919062000633565b6002620001aa91906200066b565b6017556103e86a52b7d2dcc80cd2e4000000620001c8919062000633565b6014620001d691906200066b565b601855348015620001e657600080fd5b506000620001f96200052760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620002ae6200052760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620003026200052f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004af6200052760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e4000000604051620005199190620006dd565b60405180910390a3620006fa565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200059e8262000558565b9150620005ab8362000558565b925082620005be57620005bd62000562565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006058262000558565b9150620006128362000558565b925082821015620006285762000627620005c9565b5b828203905092915050565b6000620006408262000558565b91506200064d8362000558565b92508262000660576200065f62000562565b5b828204905092915050565b6000620006788262000558565b9150620006858362000558565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006c157620006c0620005c9565b5b828202905092915050565b620006d78162000558565b82525050565b6000602082019050620006f46000830184620006cc565b92915050565b613ac1806200070a6000396000f3fe6080604052600436106101bb5760003560e01c80637d1db4a5116100ec578063a2a957bb1161008a578063c3c8cd8011610064578063c3c8cd80146105f5578063dd62ed3e1461060c578063ea1644d514610649578063f2fde38b14610672576101c2565b8063a2a957bb14610552578063a9059cbb1461057b578063bfd79284146105b8576101c2565b80638f70ccf7116100c65780638f70ccf7146104aa5780638f9a55c0146104d357806395d89b41146104fe57806398a5c31514610529576101c2565b80637d1db4a5146104175780637f2feddc146104425780638da5cb5b1461047f576101c2565b806341c2bd55116101595780636fc3eaec116101335780636fc3eaec1461038357806370a082311461039a578063715018a6146103d757806374010ece146103ee576101c2565b806341c2bd551461031857806349bd5a5e1461032f5780636d8aa8f81461035a576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632fd689e3146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e99190612b59565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612c14565b6106d8565b6040516102269190612c6f565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190612ce9565b60405180910390f35b34801561026657600080fd5b5061026f61071c565b60405161027c9190612d13565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612d2e565b61072f565b6040516102b99190612c6f565b60405180910390f35b3480156102ce57600080fd5b506102d7610808565b6040516102e49190612d13565b60405180910390f35b3480156102f957600080fd5b5061030261080e565b60405161030f9190612d9d565b60405180910390f35b34801561032457600080fd5b5061032d610817565b005b34801561033b57600080fd5b506103446108d2565b6040516103519190612dc7565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190612e0e565b6108f8565b005b34801561038f57600080fd5b506103986109aa565b005b3480156103a657600080fd5b506103c160048036038101906103bc9190612e3b565b610a7b565b6040516103ce9190612d13565b60405180910390f35b3480156103e357600080fd5b506103ec610acc565b005b3480156103fa57600080fd5b5061041560048036038101906104109190612e68565b610c1f565b005b34801561042357600080fd5b5061042c610cbe565b6040516104399190612d13565b60405180910390f35b34801561044e57600080fd5b5061046960048036038101906104649190612e3b565b610cc4565b6040516104769190612d13565b60405180910390f35b34801561048b57600080fd5b50610494610cdc565b6040516104a19190612dc7565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190612e0e565b610d05565b005b3480156104df57600080fd5b506104e8610fd9565b6040516104f59190612d13565b60405180910390f35b34801561050a57600080fd5b50610513610fdf565b6040516105209190612b59565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b9190612e68565b61101c565b005b34801561055e57600080fd5b5061057960048036038101906105749190612e95565b6110bb565b005b34801561058757600080fd5b506105a2600480360381019061059d9190612c14565b611172565b6040516105af9190612c6f565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190612e3b565b611190565b6040516105ec9190612c6f565b60405180910390f35b34801561060157600080fd5b5061060a6111b0565b005b34801561061857600080fd5b50610633600480360381019061062e9190612efc565b611289565b6040516106409190612d13565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190612e68565b611310565b005b34801561067e57600080fd5b5061069960048036038101906106949190612e3b565b6113af565b005b60606040518060400160405280600781526020017f54616e6a69726f00000000000000000000000000000000000000000000000000815250905090565b60006106ec6106e5611571565b8484611579565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a52b7d2dcc80cd2e4000000905090565b600061073c848484611744565b6107fd84610748611571565b6107f885604051806060016040528060288152602001613a6460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107ae611571565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fc99092919063ffffffff16565b611579565b600190509392505050565b60185481565b60006009905090565b61081f611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a390612f88565b60405180910390fd5b6a52b7d2dcc80cd2e40000006017819055506a52b7d2dcc80cd2e4000000601681905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610900611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461098d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098490612f88565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109eb611571565b73ffffffffffffffffffffffffffffffffffffffff161480610a615750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a49611571565b73ffffffffffffffffffffffffffffffffffffffff16145b610a6a57600080fd5b6000479050610a788161202d565b50565b6000610ac5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612099565b9050919050565b610ad4611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890612f88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c27611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612f88565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d0d611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9190612f88565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3a57600080fd5b505afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190612fbd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ed457600080fd5b505afa158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c9190612fbd565b6040518363ffffffff1660e01b8152600401610f29929190612fea565b602060405180830381600087803b158015610f4357600080fd5b505af1158015610f57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7b9190612fbd565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560146101000a81548160ff0219169083151502179055505050565b60175481565b60606040518060400160405280600781526020017f54414e4a49524f00000000000000000000000000000000000000000000000000815250905090565b611024611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a890612f88565b60405180910390fd5b8060188190555050565b6110c3611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114790612f88565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061118661117f611571565b8484611744565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111f1611571565b73ffffffffffffffffffffffffffffffffffffffff1614806112675750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661124f611571565b73ffffffffffffffffffffffffffffffffffffffff16145b61127057600080fd5b600061127b30610a7b565b905061128681612107565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611318611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90612f88565b60405180910390fd5b8060178190555050565b6113b7611571565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143b90612f88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90613085565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e090613117565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611659576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611650906131a9565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117379190612d13565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab9061323b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b906132cd565b60405180910390fd5b60008111611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e9061335f565b60405180910390fd5b61186f610cdc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118dd57506118ad610cdc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cc857601560149054906101000a900460ff1661196c576118fe610cdc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461196b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611962906133f1565b60405180910390fd5b5b6016548111156119b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a89061345d565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a555750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8b906134ef565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b415760175481611af684610a7b565b611b00919061353e565b10611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3790613606565b60405180910390fd5b5b6000611b4c30610a7b565b9050600060185482101590506016548210611b675760165491505b808015611b7f575060158054906101000a900460ff16155b8015611bd95750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf15750601560169054906101000a900460ff165b8015611c475750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c9d5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cc557611cab82612107565b60004790506000811115611cc357611cc24761202d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d6f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e225750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e215750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e305760009050611fb7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611edb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ef357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f9e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fb657600a54600c81905550600b54600d819055505b5b611fc384848484612390565b50505050565b6000838311158290612011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120089190612b59565b60405180910390fd5b50600083856120209190613626565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612095573d6000803e3d6000fd5b5050565b60006006548211156120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d7906136cc565b60405180910390fd5b60006120ea6123bd565b90506120ff81846123e890919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561213e5761213d6136ec565b5b60405190808252806020026020018201604052801561216c5781602001602082028036833780820191505090505b50905030816000815181106121845761218361371b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561222657600080fd5b505afa15801561223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225e9190612fbd565b816001815181106122725761227161371b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122d930601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611579565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166352aa4c2283600084306000426040518763ffffffff1660e01b815260040161234096959493929190613843565b600060405180830381600087803b15801561235a57600080fd5b505af115801561236e573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061239e5761239d612432565b5b6123a9848484612475565b806123b7576123b6612640565b5b50505050565b60008060006123ca612654565b915091506123e181836123e890919063ffffffff16565b9250505090565b600061242a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126bc565b905092915050565b6000600c5414801561244657506000600d54145b1561245057612473565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806124878761271f565b9550955095509550955095506124e586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061257a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125c68161282f565b6125d084836128ec565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161262d9190612d13565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600654905060006a52b7d2dcc80cd2e4000000905061268e6a52b7d2dcc80cd2e40000006006546123e890919063ffffffff16565b8210156126af576006546a52b7d2dcc80cd2e40000009350935050506126b8565b81819350935050505b9091565b60008083118290612703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126fa9190612b59565b60405180910390fd5b506000838561271291906138da565b9050809150509392505050565b600080600080600080600080600061273c8a600c54600d54612926565b925092509250600061274c6123bd565b9050600080600061275f8e8787876129bc565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006127c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fc9565b905092915050565b60008082846127e0919061353e565b905083811015612825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281c90613957565b60405180910390fd5b8091505092915050565b60006128396123bd565b905060006128508284612a4590919063ffffffff16565b90506128a481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129018260065461278790919063ffffffff16565b60068190555061291c816007546127d190919063ffffffff16565b6007819055505050565b6000806000806129526064612944888a612a4590919063ffffffff16565b6123e890919063ffffffff16565b9050600061297c606461296e888b612a4590919063ffffffff16565b6123e890919063ffffffff16565b905060006129a582612997858c61278790919063ffffffff16565b61278790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806129d58589612a4590919063ffffffff16565b905060006129ec8689612a4590919063ffffffff16565b90506000612a038789612a4590919063ffffffff16565b90506000612a2c82612a1e858761278790919063ffffffff16565b61278790919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612a585760009050612aba565b60008284612a669190613977565b9050828482612a7591906138da565b14612ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aac90613a43565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612afa578082015181840152602081019050612adf565b83811115612b09576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b2b82612ac0565b612b358185612acb565b9350612b45818560208601612adc565b612b4e81612b0f565b840191505092915050565b60006020820190508181036000830152612b738184612b20565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bab82612b80565b9050919050565b612bbb81612ba0565b8114612bc657600080fd5b50565b600081359050612bd881612bb2565b92915050565b6000819050919050565b612bf181612bde565b8114612bfc57600080fd5b50565b600081359050612c0e81612be8565b92915050565b60008060408385031215612c2b57612c2a612b7b565b5b6000612c3985828601612bc9565b9250506020612c4a85828601612bff565b9150509250929050565b60008115159050919050565b612c6981612c54565b82525050565b6000602082019050612c846000830184612c60565b92915050565b6000819050919050565b6000612caf612caa612ca584612b80565b612c8a565b612b80565b9050919050565b6000612cc182612c94565b9050919050565b6000612cd382612cb6565b9050919050565b612ce381612cc8565b82525050565b6000602082019050612cfe6000830184612cda565b92915050565b612d0d81612bde565b82525050565b6000602082019050612d286000830184612d04565b92915050565b600080600060608486031215612d4757612d46612b7b565b5b6000612d5586828701612bc9565b9350506020612d6686828701612bc9565b9250506040612d7786828701612bff565b9150509250925092565b600060ff82169050919050565b612d9781612d81565b82525050565b6000602082019050612db26000830184612d8e565b92915050565b612dc181612ba0565b82525050565b6000602082019050612ddc6000830184612db8565b92915050565b612deb81612c54565b8114612df657600080fd5b50565b600081359050612e0881612de2565b92915050565b600060208284031215612e2457612e23612b7b565b5b6000612e3284828501612df9565b91505092915050565b600060208284031215612e5157612e50612b7b565b5b6000612e5f84828501612bc9565b91505092915050565b600060208284031215612e7e57612e7d612b7b565b5b6000612e8c84828501612bff565b91505092915050565b60008060008060808587031215612eaf57612eae612b7b565b5b6000612ebd87828801612bff565b9450506020612ece87828801612bff565b9350506040612edf87828801612bff565b9250506060612ef087828801612bff565b91505092959194509250565b60008060408385031215612f1357612f12612b7b565b5b6000612f2185828601612bc9565b9250506020612f3285828601612bc9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f72602083612acb565b9150612f7d82612f3c565b602082019050919050565b60006020820190508181036000830152612fa181612f65565b9050919050565b600081519050612fb781612bb2565b92915050565b600060208284031215612fd357612fd2612b7b565b5b6000612fe184828501612fa8565b91505092915050565b6000604082019050612fff6000830185612db8565b61300c6020830184612db8565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061306f602683612acb565b915061307a82613013565b604082019050919050565b6000602082019050818103600083015261309e81613062565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613101602483612acb565b915061310c826130a5565b604082019050919050565b60006020820190508181036000830152613130816130f4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613193602283612acb565b915061319e82613137565b604082019050919050565b600060208201905081810360008301526131c281613186565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613225602583612acb565b9150613230826131c9565b604082019050919050565b6000602082019050818103600083015261325481613218565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132b7602383612acb565b91506132c28261325b565b604082019050919050565b600060208201905081810360008301526132e6816132aa565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613349602983612acb565b9150613354826132ed565b604082019050919050565b600060208201905081810360008301526133788161333c565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006133db603f83612acb565b91506133e68261337f565b604082019050919050565b6000602082019050818103600083015261340a816133ce565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613447601c83612acb565b915061345282613411565b602082019050919050565b600060208201905081810360008301526134768161343a565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006134d9602383612acb565b91506134e48261347d565b604082019050919050565b60006020820190508181036000830152613508816134cc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061354982612bde565b915061355483612bde565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135895761358861350f565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006135f0602383612acb565b91506135fb82613594565b604082019050919050565b6000602082019050818103600083015261361f816135e3565b9050919050565b600061363182612bde565b915061363c83612bde565b92508282101561364f5761364e61350f565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006136b6602a83612acb565b91506136c18261365a565b604082019050919050565b600060208201905081810360008301526136e5816136a9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061376f61376a6137658461374a565b612c8a565b612bde565b9050919050565b61377f81613754565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137ba81612ba0565b82525050565b60006137cc83836137b1565b60208301905092915050565b6000602082019050919050565b60006137f082613785565b6137fa8185613790565b9350613805836137a1565b8060005b8381101561383657815161381d88826137c0565b9750613828836137d8565b925050600181019050613809565b5085935050505092915050565b600060c0820190506138586000830189612d04565b6138656020830188613776565b818103604083015261387781876137e5565b90506138866060830186612db8565b6138936080830185612db8565b6138a060a0830184612d04565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138e582612bde565b91506138f083612bde565b925082613900576138ff6138ab565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613941601b83612acb565b915061394c8261390b565b602082019050919050565b6000602082019050818103600083015261397081613934565b9050919050565b600061398282612bde565b915061398d83612bde565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156139c6576139c561350f565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a2d602183612acb565b9150613a38826139d1565b604082019050919050565b60006020820190508181036000830152613a5c81613a20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bc23ae9871b3b5a05aac34ff2fbbd5f050a135cb80160c79d4414a022baad0db64736f6c63430008090033