60806040525f60065f6101000a81548160ff021916908315150217905550601460075560146008555f6009555f600a556032600b556037600c556014600d555f600e556008600a620000529190620005e7565b637735940062000063919062000637565b600f556008600a620000769190620005e7565b637735940062000087919062000637565b6010556008600a6200009a9190620005e7565b5f620000a7919062000637565b6011555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff021916908315150217905550348015620000ea575f80fd5b505f620000fc6200042760201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001a86200042760201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a620001f89190620005e7565b64174876e8006200020a919062000637565b60015f6200021d6200042760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200026f6200042e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200039a6200042760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a620003f89190620005e7565b64174876e8006200040a919062000637565b60405162000419919062000692565b60405180910390a3620006ad565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004df57808604811115620004b757620004b662000455565b5b6001851615620004c75780820291505b8081029050620004d78562000482565b945062000497565b94509492505050565b5f82620004f95760019050620005cb565b8162000508575f9050620005cb565b81600181146200052157600281146200052c5762000562565b6001915050620005cb565b60ff84111562000541576200054062000455565b5b8360020a9150848211156200055b576200055a62000455565b5b50620005cb565b5060208310610133831016604e8410600b84101617156200059c5782820a90508381111562000596576200059562000455565b5b620005cb565b620005ab84848460016200048e565b92509050818404811115620005c557620005c462000455565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005f382620005d2565b91506200060083620005db565b92506200062f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004e8565b905092915050565b5f6200064382620005d2565b91506200065083620005d2565b92508282026200066081620005d2565b915082820484148315176200067a576200067962000455565b5b5092915050565b6200068c81620005d2565b82525050565b5f602082019050620006a75f83018462000681565b92915050565b61363d80620006bb5f395ff3fe608060405260043610610138575f3560e01c806372333356116100aa57806395d89b411161006e57806395d89b41146103eb578063a9059cbb14610415578063bf474bed14610451578063c876d0b91461047b578063c9567bf9146104a5578063dd62ed3e146104bb5761013f565b8063723333561461032f578063751039fc146103575780637d1db4a51461036d5780638da5cb5b146103975780638f9a55c0146103c15761013f565b80633bbac579116100fc5780633bbac5791461023957806351bc3c8514610275578063553193ca1461028b5780636de7bcbd146102b557806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f7565b60405161016491906125b0565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e919061266e565b610534565b6040516101a091906126c6565b60405180910390f35b3480156101b4575f80fd5b506101bd610551565b6040516101ca91906126ee565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f49190612707565b610575565b60405161020691906126c6565b60405180910390f35b34801561021a575f80fd5b50610223610649565b6040516102309190612772565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a919061278b565b610651565b60405161026c91906126c6565b60405180910390f35b348015610280575f80fd5b506102896106a3565b005b348015610296575f80fd5b5061029f61073b565b6040516102ac91906126ee565b60405180910390f35b3480156102c0575f80fd5b506102db60048036038101906102d691906128f6565b610741565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061278b565b610866565b60405161031091906126ee565b60405180910390f35b348015610324575f80fd5b5061032d6108ac565b005b34801561033a575f80fd5b506103556004803603810190610350919061293d565b6109fa565b005b348015610362575f80fd5b5061036b610aa0565b005b348015610378575f80fd5b50610381610beb565b60405161038e91906126ee565b60405180910390f35b3480156103a2575f80fd5b506103ab610bf1565b6040516103b8919061298a565b60405180910390f35b3480156103cc575f80fd5b506103d5610c18565b6040516103e291906126ee565b60405180910390f35b3480156103f6575f80fd5b506103ff610c1e565b60405161040c91906125b0565b60405180910390f35b348015610420575f80fd5b5061043b6004803603810190610436919061266e565b610c5b565b60405161044891906126c6565b60405180910390f35b34801561045c575f80fd5b50610465610c78565b60405161047291906126ee565b60405180910390f35b348015610486575f80fd5b5061048f610c7e565b60405161049c91906126c6565b60405180910390f35b3480156104b0575f80fd5b506104b9610c90565b005b3480156104c6575f80fd5b506104e160048036038101906104dc91906129a3565b6111b7565b6040516104ee91906126ee565b60405180910390f35b60606040518060400160405280601981526020017f4f6e6c7920506f737369626c65204f6e204d656d65636f696e00000000000000815250905090565b5f610547610540611239565b8484611240565b6001905092915050565b5f6008600a6105609190612b3d565b64174876e8006105709190612b87565b905090565b5f610581848484611403565b61063e8461058d611239565b610639856040518060600160405280602881526020016135e06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105f0611239565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe49092919063ffffffff16565b611240565b600190509392505050565b5f6008905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106e4611239565b73ffffffffffffffffffffffffffffffffffffffff1614610703575f80fd5b5f61070d30610866565b90505f8111156107215761072081612046565b5b5f4790505f81111561073757610736816122cd565b5b5050565b60125481565b610749611239565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90612c12565b60405180910390fd5b5f5b815181101561086257600160045f8484815181106107f8576107f7612c30565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061085a90612c5d565b9150506107d7565b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108b4611239565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790612c12565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a02611239565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8590612c12565b60405180910390fd5b8160098190555080600a819055505050565b610aa8611239565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90612c12565b60405180910390fd5b6008600a610b429190612b3d565b64174876e800610b529190612b87565b600f819055506008600a610b669190612b3d565b64174876e800610b769190612b87565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610bc49190612b3d565b64174876e800610bd49190612b87565b604051610be191906126ee565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f4f504f4d00000000000000000000000000000000000000000000000000000000815250905090565b5f610c6e610c67611239565b8484611403565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610c98611239565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612c12565b60405180910390fd5b60148054906101000a900460ff1615610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612cee565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e0f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610dfa9190612b3d565b64174876e800610e0a9190612b87565b611240565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9d9190612d20565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f479190612d20565b6040518363ffffffff1660e01b8152600401610f64929190612d4b565b6020604051808303815f875af1158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa49190612d20565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102b30610866565b5f80611035610bf1565b426040518863ffffffff1660e01b815260040161105796959493929190612db4565b60606040518083038185885af1158015611073573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110989190612e27565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611138929190612e77565b6020604051808303815f875af1158015611154573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111789190612ec8565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff02191690831515021790555043601281905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a590612f63565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131390612ff1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113f691906126ee565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114689061307f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d69061310d565b60405180910390fd5b5f8111611521576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115189061319b565b60405180910390fd5b5f61152a610bf1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115985750611568610bf1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c1b5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561163b575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611643575f80fd5b60065f9054906101000a900460ff16156117c95760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611701575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c8574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90613229565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611872575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118c5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561199e57600f5482111561190f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190690613291565b60405180910390fd5b6010548261191c85610866565b61192691906132af565b1115611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e9061332c565b60405180910390fd5b600d54600e5410156119865761197c83612336565b15611985575f80fd5b5b600e5f81548092919061199890612c5d565b91905055505b6119da60646119cc600b54600e54116119b9576007546119bd565b6009545b8561234790919063ffffffff16565b6123be90919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a6457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611aed57600f54821115611aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa590613291565b60405180910390fd5b611aea6064611adc600c54600e5411611ac957600854611acd565b600a545b8561234790919063ffffffff16565b6123be90919063ffffffff16565b90505b435f60ff16601254611aff91906132af565b10611b2e57611b2b6064611b1d60638561234790919063ffffffff16565b6123be90919063ffffffff16565b90505b5f611b3830610866565b9050601460159054906101000a900460ff16158015611ba3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bbb5750601460169054906101000a900460ff165b8015611bc8575060115481115b8015611bd75750600d54600e54115b15611c1957611c01611bfc611bf660038661234790919063ffffffff16565b83612407565b612046565b5f4790505f811115611c1757611c16476122cd565b5b505b505b5f811115611e3357435f60ff16601254611c3591906132af565b10611d3b57611c8c8160015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461241f90919063ffffffff16565b60015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d2e91906126ee565b60405180910390a3611e32565b611d8b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461241f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e2991906126ee565b60405180910390a35b5b611e838260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461247c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f26611eda828461247c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461241f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611fc9848661247c90919063ffffffff16565b604051611fd691906126ee565b60405180910390a350505050565b5f83831115829061202b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202291906125b0565b60405180910390fd5b505f8385612039919061334a565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156122b05760148054906101000a900460ff16156122b0575f600267ffffffffffffffff811115612098576120976127ba565b5b6040519080825280602002602001820160405280156120c65781602001602082028036833780820191505090505b50905030815f815181106120dd576120dc612c30565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612181573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121a59190612d20565b816001815181106121b9576121b8612c30565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061221f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611240565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612281959493929190613434565b5f604051808303815f87803b158015612298575f80fd5b505af11580156122aa573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612332573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f808303612357575f90506123b8565b5f82846123649190612b87565b905082848261237391906134b9565b146123b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123aa90613559565b60405180910390fd5b809150505b92915050565b5f6123ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c5565b905092915050565b5f8183116124155782612417565b815b905092915050565b5f80828461242d91906132af565b905083811015612472576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612469906135c1565b60405180910390fd5b8091505092915050565b5f6124bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe4565b905092915050565b5f808311829061250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250291906125b0565b60405180910390fd5b505f838561251991906134b9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561255d578082015181840152602081019050612542565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61258282612526565b61258c8185612530565b935061259c818560208601612540565b6125a581612568565b840191505092915050565b5f6020820190508181035f8301526125c88184612578565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61260a826125e1565b9050919050565b61261a81612600565b8114612624575f80fd5b50565b5f8135905061263581612611565b92915050565b5f819050919050565b61264d8161263b565b8114612657575f80fd5b50565b5f8135905061266881612644565b92915050565b5f8060408385031215612684576126836125d9565b5b5f61269185828601612627565b92505060206126a28582860161265a565b9150509250929050565b5f8115159050919050565b6126c0816126ac565b82525050565b5f6020820190506126d95f8301846126b7565b92915050565b6126e88161263b565b82525050565b5f6020820190506127015f8301846126df565b92915050565b5f805f6060848603121561271e5761271d6125d9565b5b5f61272b86828701612627565b935050602061273c86828701612627565b925050604061274d8682870161265a565b9150509250925092565b5f60ff82169050919050565b61276c81612757565b82525050565b5f6020820190506127855f830184612763565b92915050565b5f602082840312156127a05761279f6125d9565b5b5f6127ad84828501612627565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6127f082612568565b810181811067ffffffffffffffff8211171561280f5761280e6127ba565b5b80604052505050565b5f6128216125d0565b905061282d82826127e7565b919050565b5f67ffffffffffffffff82111561284c5761284b6127ba565b5b602082029050602081019050919050565b5f80fd5b5f61287361286e84612832565b612818565b905080838252602082019050602084028301858111156128965761289561285d565b5b835b818110156128bf57806128ab8882612627565b845260208401935050602081019050612898565b5050509392505050565b5f82601f8301126128dd576128dc6127b6565b5b81356128ed848260208601612861565b91505092915050565b5f6020828403121561290b5761290a6125d9565b5b5f82013567ffffffffffffffff811115612928576129276125dd565b5b612934848285016128c9565b91505092915050565b5f8060408385031215612953576129526125d9565b5b5f6129608582860161265a565b92505060206129718582860161265a565b9150509250929050565b61298481612600565b82525050565b5f60208201905061299d5f83018461297b565b92915050565b5f80604083850312156129b9576129b86125d9565b5b5f6129c685828601612627565b92505060206129d785828601612627565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612a6357808604811115612a3f57612a3e6129e1565b5b6001851615612a4e5780820291505b8081029050612a5c85612a0e565b9450612a23565b94509492505050565b5f82612a7b5760019050612b36565b81612a88575f9050612b36565b8160018114612a9e5760028114612aa857612ad7565b6001915050612b36565b60ff841115612aba57612ab96129e1565b5b8360020a915084821115612ad157612ad06129e1565b5b50612b36565b5060208310610133831016604e8410600b8410161715612b0c5782820a905083811115612b0757612b066129e1565b5b612b36565b612b198484846001612a1a565b92509050818404811115612b3057612b2f6129e1565b5b81810290505b9392505050565b5f612b478261263b565b9150612b5283612757565b9250612b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a6c565b905092915050565b5f612b918261263b565b9150612b9c8361263b565b9250828202612baa8161263b565b91508282048414831517612bc157612bc06129e1565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612bfc602083612530565b9150612c0782612bc8565b602082019050919050565b5f6020820190508181035f830152612c2981612bf0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612c678261263b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c9957612c986129e1565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612cd8601783612530565b9150612ce382612ca4565b602082019050919050565b5f6020820190508181035f830152612d0581612ccc565b9050919050565b5f81519050612d1a81612611565b92915050565b5f60208284031215612d3557612d346125d9565b5b5f612d4284828501612d0c565b91505092915050565b5f604082019050612d5e5f83018561297b565b612d6b602083018461297b565b9392505050565b5f819050919050565b5f819050919050565b5f612d9e612d99612d9484612d72565b612d7b565b61263b565b9050919050565b612dae81612d84565b82525050565b5f60c082019050612dc75f83018961297b565b612dd460208301886126df565b612de16040830187612da5565b612dee6060830186612da5565b612dfb608083018561297b565b612e0860a08301846126df565b979650505050505050565b5f81519050612e2181612644565b92915050565b5f805f60608486031215612e3e57612e3d6125d9565b5b5f612e4b86828701612e13565b9350506020612e5c86828701612e13565b9250506040612e6d86828701612e13565b9150509250925092565b5f604082019050612e8a5f83018561297b565b612e9760208301846126df565b9392505050565b612ea7816126ac565b8114612eb1575f80fd5b50565b5f81519050612ec281612e9e565b92915050565b5f60208284031215612edd57612edc6125d9565b5b5f612eea84828501612eb4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f4d602483612530565b9150612f5882612ef3565b604082019050919050565b5f6020820190508181035f830152612f7a81612f41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fdb602283612530565b9150612fe682612f81565b604082019050919050565b5f6020820190508181035f83015261300881612fcf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613069602583612530565b91506130748261300f565b604082019050919050565b5f6020820190508181035f8301526130968161305d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130f7602383612530565b91506131028261309d565b604082019050919050565b5f6020820190508181035f830152613124816130eb565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613185602983612530565b91506131908261312b565b604082019050919050565b5f6020820190508181035f8301526131b281613179565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613213602483612530565b915061321e826131b9565b604082019050919050565b5f6020820190508181035f83015261324081613207565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61327b601983612530565b915061328682613247565b602082019050919050565b5f6020820190508181035f8301526132a88161326f565b9050919050565b5f6132b98261263b565b91506132c48361263b565b92508282019050808211156132dc576132db6129e1565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613316601a83612530565b9150613321826132e2565b602082019050919050565b5f6020820190508181035f8301526133438161330a565b9050919050565b5f6133548261263b565b915061335f8361263b565b9250828203905081811115613377576133766129e1565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6133af81612600565b82525050565b5f6133c083836133a6565b60208301905092915050565b5f602082019050919050565b5f6133e28261337d565b6133ec8185613387565b93506133f783613397565b805f5b8381101561342757815161340e88826133b5565b9750613419836133cc565b9250506001810190506133fa565b5085935050505092915050565b5f60a0820190506134475f8301886126df565b6134546020830187612da5565b818103604083015261346681866133d8565b9050613475606083018561297b565b61348260808301846126df565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6134c38261263b565b91506134ce8361263b565b9250826134de576134dd61348c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613543602183612530565b915061354e826134e9565b604082019050919050565b5f6020820190508181035f83015261357081613537565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6135ab601b83612530565b91506135b682613577565b602082019050919050565b5f6020820190508181035f8301526135d88161359f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a874768e7664b7f02b796343188ad5e11abb7eb51f82e30ff11b8f5eb351649a64736f6c63430008140033