608060405264e8d4a510005f196200001891906200088d565b5f19620000269190620008f1565b6006555f60085560146009555f600a556032600b55600a54600c55600b54600d55600c54600e55600d54600f5573d05ae7ac77ce2a5393f524c8f610c1c708e776e460125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507355e0d7fde7b6e1cd03cce904ec38e54ed812ab5d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff0219169083151502179055506200015f606462000150600264e8d4a51000620006f260201b90919060201c565b6200077260201b90919060201c565b60165562000192606462000183600264e8d4a51000620006f260201b90919060201c565b6200077260201b90919060201c565b601755620001c66103e8620001b7600164e8d4a51000620006f260201b90919060201c565b6200077260201b90919060201c565b601855348015620001d5575f80fd5b505f620001e7620007c360201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460025f62000299620007c360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000378573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200039e919062000990565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200042a919062000990565b6040518363ffffffff1660e01b815260040162000449929190620009d1565b6020604051808303815f875af115801562000466573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200048c919062000990565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160055f620004e0620007ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000680620007c360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef64e8d4a51000604051620006e3919062000a0d565b60405180910390a35062000bf3565b5f80830362000704575f90506200076c565b5f828462000713919062000a28565b905082848262000724919062000a72565b1462000767576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200075e9062000b2d565b60405180910390fd5b809150505b92915050565b5f620007bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620007f160201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80831182906200083a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000831919062000bd1565b60405180910390fd5b505f83856200084a919062000a72565b9050809150509392505050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008998262000857565b9150620008a68362000857565b925082620008b957620008b862000860565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620008fd8262000857565b91506200090a8362000857565b9250828203905081811115620009255762000924620008c4565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200095a826200092f565b9050919050565b6200096c816200094e565b811462000977575f80fd5b50565b5f815190506200098a8162000961565b92915050565b5f60208284031215620009a857620009a76200092b565b5b5f620009b7848285016200097a565b91505092915050565b620009cb816200094e565b82525050565b5f604082019050620009e65f830185620009c0565b620009f56020830184620009c0565b9392505050565b62000a078162000857565b82525050565b5f60208201905062000a225f830184620009fc565b92915050565b5f62000a348262000857565b915062000a418362000857565b925082820262000a518162000857565b9150828204841483151762000a6b5762000a6a620008c4565b5b5092915050565b5f62000a7e8262000857565b915062000a8b8362000857565b92508262000a9e5762000a9d62000860565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000b1560218362000aa9565b915062000b228262000ab9565b604082019050919050565b5f6020820190508181035f83015262000b468162000b07565b9050919050565b5f81519050919050565b5f5b8381101562000b7657808201518184015260208101905062000b59565b5f8484015250505050565b5f601f19601f8301169050919050565b5f62000b9d8262000b4d565b62000ba9818562000aa9565b935062000bbb81856020860162000b57565b62000bc68162000b81565b840191505092915050565b5f6020820190508181035f83015262000beb818462000b91565b905092915050565b6141538062000c015f395ff3fe6080604052600436106101da575f3560e01c8063751039fc11610101578063a2a957bb11610094578063c492f04611610063578063c492f04614610661578063dd62ed3e14610689578063ea1644d5146106c5578063f2fde38b146106ed576101e1565b8063a2a957bb146105ab578063a9059cbb146105d3578063bfd792841461060f578063c3c8cd801461064b576101e1565b80638f70ccf7116100d05780638f70ccf7146105075780638f9a55c01461052f57806395d89b411461055957806398a5c31514610583576101e1565b8063751039fc146104615780637d1db4a5146104775780637f2feddc146104a15780638da5cb5b146104dd576101e1565b8063313ce567116101795780636fc3eaec116101485780636fc3eaec146103d157806370a08231146103e7578063715018a61461042357806374010ece14610439576101e1565b8063313ce5671461032d57806349bd5a5e146103575780636b999053146103815780636d8aa8f8146103a9576101e1565b80631694505e116101b55780631694505e1461027357806318160ddd1461029d57806323b872dd146102c75780632fd689e314610303576101e1565b8062b8cf2a146101e557806306fdde031461020d578063095ea7b314610237576101e1565b366101e157005b5f80fd5b3480156101f0575f80fd5b5061020b60048036038101906102069190612f6f565b610715565b005b348015610218575f80fd5b5061022161083a565b60405161022e9190613030565b60405180910390f35b348015610242575f80fd5b5061025d60048036038101906102589190613083565b610877565b60405161026a91906130db565b60405180910390f35b34801561027e575f80fd5b50610287610894565b604051610294919061314f565b60405180910390f35b3480156102a8575f80fd5b506102b16108b9565b6040516102be9190613177565b60405180910390f35b3480156102d2575f80fd5b506102ed60048036038101906102e89190613190565b6108c5565b6040516102fa91906130db565b60405180910390f35b34801561030e575f80fd5b50610317610999565b6040516103249190613177565b60405180910390f35b348015610338575f80fd5b5061034161099f565b60405161034e91906131fb565b60405180910390f35b348015610362575f80fd5b5061036b6109a7565b6040516103789190613223565b60405180910390f35b34801561038c575f80fd5b506103a760048036038101906103a2919061323c565b6109cc565b005b3480156103b4575f80fd5b506103cf60048036038101906103ca9190613291565b610ab7565b005b3480156103dc575f80fd5b506103e5610b68565b005b3480156103f2575f80fd5b5061040d6004803603810190610408919061323c565b610c35565b60405161041a9190613177565b60405180910390f35b34801561042e575f80fd5b50610437610c83565b005b348015610444575f80fd5b5061045f600480360381019061045a91906132bc565b610dd1565b005b34801561046c575f80fd5b50610475610e96565b005b348015610482575f80fd5b5061048b610f44565b6040516104989190613177565b60405180910390f35b3480156104ac575f80fd5b506104c760048036038101906104c2919061323c565b610f4a565b6040516104d49190613177565b60405180910390f35b3480156104e8575f80fd5b506104f1610f5f565b6040516104fe9190613223565b60405180910390f35b348015610512575f80fd5b5061052d60048036038101906105289190613291565b610f86565b005b34801561053a575f80fd5b50610543611037565b6040516105509190613177565b60405180910390f35b348015610564575f80fd5b5061056d61103d565b60405161057a9190613030565b60405180910390f35b34801561058e575f80fd5b506105a960048036038101906105a491906132bc565b61107a565b005b3480156105b6575f80fd5b506105d160048036038101906105cc91906132e7565b611118565b005b3480156105de575f80fd5b506105f960048036038101906105f49190613083565b61130e565b60405161060691906130db565b60405180910390f35b34801561061a575f80fd5b506106356004803603810190610630919061323c565b61132b565b60405161064291906130db565b60405180910390f35b348015610656575f80fd5b5061065f611348565b005b34801561066c575f80fd5b50610687600480360381019061068291906133a4565b61141d565b005b348015610694575f80fd5b506106af60048036038101906106aa9190613401565b611552565b6040516106bc9190613177565b60405180910390f35b3480156106d0575f80fd5b506106eb60048036038101906106e691906132bc565b6115d4565b005b3480156106f8575f80fd5b50610713600480360381019061070e919061323c565b611699565b005b61071d611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a090613489565b60405180910390fd5b5f5b815181101561083657600160105f8484815181106107cc576107cb6134a7565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061082e90613501565b9150506107ab565b5050565b60606040518060400160405280601081526020017f594f5552204c415354204348414e434500000000000000000000000000000000815250905090565b5f61088a610883611856565b848461185d565b6001905092915050565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f64e8d4a51000905090565b5f6108d1848484611a20565b61098e846108dd611856565b610989856040518060600160405280602881526020016140f66028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610940611856565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122809092919063ffffffff16565b61185d565b600190509392505050565b60185481565b5f6009905090565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109d4611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790613489565b60405180910390fd5b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610abf611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4290613489565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ba8611856565b73ffffffffffffffffffffffffffffffffffffffff161480610c1d575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c05611856565b73ffffffffffffffffffffffffffffffffffffffff16145b610c25575f80fd5b5f479050610c32816122e2565b50565b5f610c7c60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fb565b9050919050565b610c8b611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90613489565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dd9611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90613489565b60405180910390fd5b5f8111610e70575f80fd5b60648164e8d4a51000610e839190613548565b610e8d91906135b6565b60168190555050565b610e9e611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2190613489565b60405180910390fd5b64e8d4a5100060168190555064e8d4a51000601781905550565b60165481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f8e611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461101a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101190613489565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600681526020017f504f54494f4e0000000000000000000000000000000000000000000000000000815250905090565b611082611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590613489565b60405180910390fd5b8060188190555050565b611120611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a390613489565b60405180910390fd5b5f84101580156111bd575060058411155b6111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390613656565b60405180910390fd5b5f821015801561120d575060328211155b61124c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611243906136e4565b60405180910390fd5b5f831015801561125d575060058311155b61129c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129390613772565b60405180910390fd5b5f81101580156112ad575060638111155b6112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e390613800565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b5f61132161131a611856565b8484611a20565b6001905092915050565b6010602052805f5260405f205f915054906101000a900460ff1681565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611388611856565b73ffffffffffffffffffffffffffffffffffffffff1614806113fd575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e5611856565b73ffffffffffffffffffffffffffffffffffffffff16145b611405575f80fd5b5f61140f30610c35565b905061141a81612467565b50565b611425611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890613489565b60405180910390fd5b5f5b8383905081101561154c578160055f8686858181106114d5576114d46134a7565b5b90506020020160208101906114ea919061323c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061154490613501565b9150506114b3565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6115dc611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165f90613489565b60405180910390fd5b5f8111611673575f80fd5b60648164e8d4a510006116869190613548565b61169091906135b6565b60178190555050565b6116a1611856565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461172d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172490613489565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361179b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117929061388e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c29061391c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611930906139aa565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a139190613177565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8590613a38565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af390613ac6565b60405180910390fd5b5f8111611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3590613b54565b60405180910390fd5b611b46610f5f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bb45750611b84610f5f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f8d57601560149054906101000a900460ff16611c4357611bd5610f5f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3990613be2565b60405180910390fd5b5b601654811115611c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7f90613c4a565b60405180910390fd5b60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611d26575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c90613cd8565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e115760175481611dc684610c35565b611dd09190613cf6565b10611e10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0790613d99565b60405180910390fd5b5b5f611e1b30610c35565b90505f60185482101590506016548210611e355760165491505b808015611e4d575060158054906101000a900460ff16155b8015611ea6575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ebe5750601560169054906101000a900460ff165b8015611f11575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611f64575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f8a57611f7282612467565b5f4790505f811115611f8857611f87476122e2565b5b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061202d575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806120de575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120dd575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120eb575f905061226e565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612194575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121ac57600854600c81905550600954600d819055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612255575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561226d57600a54600c81905550600b54600d819055505b5b61227a848484846126d0565b50505050565b5f8383111582906122c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122be9190613030565b60405180910390fd5b505f83856122d59190613db7565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61234460056123366003866126fd90919063ffffffff16565b61277490919063ffffffff16565b90811502906040515f60405180830381858888f1935050505015801561236c573d5f803e3d5ffd5b5060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123cf60056123c16002866126fd90919063ffffffff16565b61277490919063ffffffff16565b90811502906040515f60405180830381858888f193505050501580156123f7573d5f803e3d5ffd5b5050565b5f600654821115612441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243890613e5a565b60405180910390fd5b5f61244a6127bd565b905061245f818461277490919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561249d5761249c612dd9565b5b6040519080825280602002602001820160405280156124cb5781602001602082028036833780820191505090505b50905030815f815181106124e2576124e16134a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612586573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125aa9190613e8c565b816001815181106125be576125bd6134a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126243060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461185d565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612686959493929190613fa7565b5f604051808303815f87803b15801561269d575f80fd5b505af11580156126af573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b806126de576126dd6127e6565b5b6126e984848461281f565b806126f7576126f66129df565b5b50505050565b5f80830361270d575f905061276e565b5f828461271a9190613548565b905082848261272991906135b6565b14612769576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127609061406f565b60405180910390fd5b809150505b92915050565b5f6127b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129f3565b905092915050565b5f805f6127c8612a54565b915091506127df818361277490919063ffffffff16565b9250505090565b5f600c541480156127f857505f600d54145b61281d57600c54600e81905550600d54600f819055505f600c819055505f600d819055505b565b5f805f805f8061282e87612aa7565b95509550955095509550955061288a8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b0790919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061291b8560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b5090919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061296581612bad565b61296f8483612c64565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516129cc9190613177565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b5f8083118290612a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a309190613030565b60405180910390fd5b505f8385612a4791906135b6565b9050809150509392505050565b5f805f60065490505f64e8d4a510009050612a7f64e8d4a5100060065461277490919063ffffffff16565b821015612a9a5760065464e8d4a51000935093505050612aa3565b81819350935050505b9091565b5f805f805f805f805f612abf8a600c54600d54612c9e565b9250925092505f612ace6127bd565b90505f805f612adf8e878787612d30565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612b4883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612280565b905092915050565b5f808284612b5e9190613cf6565b905083811015612ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9a906140d7565b60405180910390fd5b8091505092915050565b5f612bb66127bd565b90505f612bcc82846126fd90919063ffffffff16565b9050612c1e8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b5090919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612c7982600654612b0790919063ffffffff16565b600681905550612c9481600754612b5090919063ffffffff16565b6007819055505050565b5f805f80612cc86064612cba888a6126fd90919063ffffffff16565b61277490919063ffffffff16565b90505f612cf16064612ce3888b6126fd90919063ffffffff16565b61277490919063ffffffff16565b90505f612d1982612d0b858c612b0790919063ffffffff16565b612b0790919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612d4785896126fd90919063ffffffff16565b90505f612d5d86896126fd90919063ffffffff16565b90505f612d7387896126fd90919063ffffffff16565b90505f612d9b82612d8d8587612b0790919063ffffffff16565b612b0790919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612e0f82612dc9565b810181811067ffffffffffffffff82111715612e2e57612e2d612dd9565b5b80604052505050565b5f612e40612db4565b9050612e4c8282612e06565b919050565b5f67ffffffffffffffff821115612e6b57612e6a612dd9565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612ea982612e80565b9050919050565b612eb981612e9f565b8114612ec3575f80fd5b50565b5f81359050612ed481612eb0565b92915050565b5f612eec612ee784612e51565b612e37565b90508083825260208201905060208402830185811115612f0f57612f0e612e7c565b5b835b81811015612f385780612f248882612ec6565b845260208401935050602081019050612f11565b5050509392505050565b5f82601f830112612f5657612f55612dc5565b5b8135612f66848260208601612eda565b91505092915050565b5f60208284031215612f8457612f83612dbd565b5b5f82013567ffffffffffffffff811115612fa157612fa0612dc1565b5b612fad84828501612f42565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612fed578082015181840152602081019050612fd2565b5f8484015250505050565b5f61300282612fb6565b61300c8185612fc0565b935061301c818560208601612fd0565b61302581612dc9565b840191505092915050565b5f6020820190508181035f8301526130488184612ff8565b905092915050565b5f819050919050565b61306281613050565b811461306c575f80fd5b50565b5f8135905061307d81613059565b92915050565b5f806040838503121561309957613098612dbd565b5b5f6130a685828601612ec6565b92505060206130b78582860161306f565b9150509250929050565b5f8115159050919050565b6130d5816130c1565b82525050565b5f6020820190506130ee5f8301846130cc565b92915050565b5f819050919050565b5f61311761311261310d84612e80565b6130f4565b612e80565b9050919050565b5f613128826130fd565b9050919050565b5f6131398261311e565b9050919050565b6131498161312f565b82525050565b5f6020820190506131625f830184613140565b92915050565b61317181613050565b82525050565b5f60208201905061318a5f830184613168565b92915050565b5f805f606084860312156131a7576131a6612dbd565b5b5f6131b486828701612ec6565b93505060206131c586828701612ec6565b92505060406131d68682870161306f565b9150509250925092565b5f60ff82169050919050565b6131f5816131e0565b82525050565b5f60208201905061320e5f8301846131ec565b92915050565b61321d81612e9f565b82525050565b5f6020820190506132365f830184613214565b92915050565b5f6020828403121561325157613250612dbd565b5b5f61325e84828501612ec6565b91505092915050565b613270816130c1565b811461327a575f80fd5b50565b5f8135905061328b81613267565b92915050565b5f602082840312156132a6576132a5612dbd565b5b5f6132b38482850161327d565b91505092915050565b5f602082840312156132d1576132d0612dbd565b5b5f6132de8482850161306f565b91505092915050565b5f805f80608085870312156132ff576132fe612dbd565b5b5f61330c8782880161306f565b945050602061331d8782880161306f565b935050604061332e8782880161306f565b925050606061333f8782880161306f565b91505092959194509250565b5f80fd5b5f8083601f84011261336457613363612dc5565b5b8235905067ffffffffffffffff8111156133815761338061334b565b5b60208301915083602082028301111561339d5761339c612e7c565b5b9250929050565b5f805f604084860312156133bb576133ba612dbd565b5b5f84013567ffffffffffffffff8111156133d8576133d7612dc1565b5b6133e48682870161334f565b935093505060206133f78682870161327d565b9150509250925092565b5f806040838503121561341757613416612dbd565b5b5f61342485828601612ec6565b925050602061343585828601612ec6565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613473602083612fc0565b915061347e8261343f565b602082019050919050565b5f6020820190508181035f8301526134a081613467565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61350b82613050565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361353d5761353c6134d4565b5b600182019050919050565b5f61355282613050565b915061355d83613050565b925082820261356b81613050565b91508282048414831517613582576135816134d4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6135c082613050565b91506135cb83613050565b9250826135db576135da613589565b5b828204905092915050565b7f4275792072657761726473206d757374206265206265747765656e20302520615f8201527f6e64203525000000000000000000000000000000000000000000000000000000602082015250565b5f613640602583612fc0565b915061364b826135e6565b604082019050919050565b5f6020820190508181035f83015261366d81613634565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e6420355f8201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136ce602283612fc0565b91506136d982613674565b604082019050919050565b5f6020820190508181035f8301526136fb816136c2565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e203025205f8201527f616e642035250000000000000000000000000000000000000000000000000000602082015250565b5f61375c602683612fc0565b915061376782613702565b604082019050919050565b5f6020820190508181035f83015261378981613750565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e64205f8201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b5f6137ea602383612fc0565b91506137f582613790565b604082019050919050565b5f6020820190508181035f830152613817816137de565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613878602683612fc0565b91506138838261381e565b604082019050919050565b5f6020820190508181035f8301526138a58161386c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613906602483612fc0565b9150613911826138ac565b604082019050919050565b5f6020820190508181035f830152613933816138fa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613994602283612fc0565b915061399f8261393a565b604082019050919050565b5f6020820190508181035f8301526139c181613988565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a22602583612fc0565b9150613a2d826139c8565b604082019050919050565b5f6020820190508181035f830152613a4f81613a16565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613ab0602383612fc0565b9150613abb82613a56565b604082019050919050565b5f6020820190508181035f830152613add81613aa4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613b3e602983612fc0565b9150613b4982613ae4565b604082019050919050565b5f6020820190508181035f830152613b6b81613b32565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f613bcc603f83612fc0565b9150613bd782613b72565b604082019050919050565b5f6020820190508181035f830152613bf981613bc0565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613c34601c83612fc0565b9150613c3f82613c00565b602082019050919050565b5f6020820190508181035f830152613c6181613c28565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c6973745f8201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b5f613cc2602383612fc0565b9150613ccd82613c68565b604082019050919050565b5f6020820190508181035f830152613cef81613cb6565b9050919050565b5f613d0082613050565b9150613d0b83613050565b9250828201905080821115613d2357613d226134d4565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613d83602383612fc0565b9150613d8e82613d29565b604082019050919050565b5f6020820190508181035f830152613db081613d77565b9050919050565b5f613dc182613050565b9150613dcc83613050565b9250828203905081811115613de457613de36134d4565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613e44602a83612fc0565b9150613e4f82613dea565b604082019050919050565b5f6020820190508181035f830152613e7181613e38565b9050919050565b5f81519050613e8681612eb0565b92915050565b5f60208284031215613ea157613ea0612dbd565b5b5f613eae84828501613e78565b91505092915050565b5f819050919050565b5f613eda613ed5613ed084613eb7565b6130f4565b613050565b9050919050565b613eea81613ec0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613f2281612e9f565b82525050565b5f613f338383613f19565b60208301905092915050565b5f602082019050919050565b5f613f5582613ef0565b613f5f8185613efa565b9350613f6a83613f0a565b805f5b83811015613f9a578151613f818882613f28565b9750613f8c83613f3f565b925050600181019050613f6d565b5085935050505092915050565b5f60a082019050613fba5f830188613168565b613fc76020830187613ee1565b8181036040830152613fd98186613f4b565b9050613fe86060830185613214565b613ff56080830184613168565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614059602183612fc0565b915061406482613fff565b604082019050919050565b5f6020820190508181035f8301526140868161404d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6140c1601b83612fc0565b91506140cc8261408d565b602082019050919050565b5f6020820190508181035f8301526140ee816140b5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e962e46287507def620ea37a0cb96fc608d3cf84a477fe9f78a3f57d7b879a9e64736f6c63430008140033