60806040525f60065f6101000a81548160ff0219169083151502179055506017600755600760085560016009556002600a556001600b556003600c556001600d555f600e556009600a62000054919062000606565b62021b1062000064919062000656565b600f556009600a62000077919062000606565b62021b1062000087919062000656565b6010556009600a6200009a919062000606565b5f620000a7919062000656565b6011556009600a620000ba919062000606565b62021b10620000ca919062000656565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055503480156200010d575f80fd5b505f6200011f6200044660201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cb6200044660201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021b919062000606565b629896806200022b919062000656565b60015f6200023e6200044660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002906200044d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003bb6200044660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000419919062000606565b6298968062000429919062000656565b604051620004389190620006b1565b60405180910390a3620006cc565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004fe57808604811115620004d657620004d562000474565b5b6001851615620004e65780820291505b8081029050620004f685620004a1565b9450620004b6565b94509492505050565b5f82620005185760019050620005ea565b8162000527575f9050620005ea565b81600181146200054057600281146200054b5762000581565b6001915050620005ea565b60ff84111562000560576200055f62000474565b5b8360020a9150848211156200057a576200057962000474565b5b50620005ea565b5060208310610133831016604e8410600b8410161715620005bb5782820a905083811115620005b557620005b462000474565b5b620005ea565b620005ca8484846001620004ad565b92509050818404811115620005e457620005e362000474565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061282620005f1565b91506200061f83620005fa565b92506200064e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000507565b905092915050565b5f6200066282620005f1565b91506200066f83620005f1565b92508282026200067f81620005f1565b9150828204841483151762000699576200069862000474565b5b5092915050565b620006ab81620005f1565b82525050565b5f602082019050620006c65f830184620006a0565b92915050565b61327980620006da5f395ff3fe608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612391565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612442565b610487565b60405161017f919061249a565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a991906124c2565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d391906124c2565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd91906124db565b6104cc565b60405161020f919061249a565b60405180910390f35b348015610223575f80fd5b5061022c6105a0565b6040516102399190612546565b60405180910390f35b34801561024d575f80fd5b506102566105a8565b005b348015610263575f80fd5b5061027e6004803603810190610279919061255f565b610640565b60405161028b91906124c2565b60405180910390f35b34801561029f575f80fd5b506102a8610686565b005b3480156102b5575f80fd5b506102be6107d4565b005b3480156102cb575f80fd5b506102d4610919565b6040516102e191906124c2565b60405180910390f35b3480156102f5575f80fd5b506102fe61091f565b60405161030b9190612599565b60405180910390f35b34801561031f575f80fd5b50610328610946565b60405161033591906124c2565b60405180910390f35b348015610349575f80fd5b5061035261094c565b60405161035f9190612391565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190612442565b610989565b60405161039b919061249a565b60405180910390f35b3480156103af575f80fd5b506103b86109a6565b6040516103c591906124c2565b60405180910390f35b3480156103d9575f80fd5b506103e26109ac565b6040516103ef919061249a565b60405180910390f35b348015610403575f80fd5b5061040c6109be565b005b348015610419575f80fd5b50610434600480360381019061042f91906125b2565b61107c565b60405161044191906124c2565b60405180910390f35b60606040518060400160405280600581526020017f47726f6b79000000000000000000000000000000000000000000000000000000815250905090565b5f61049a6104936110fe565b8484611105565b6001905092915050565b60125481565b5f6009600a6104b9919061274c565b629896806104c79190612796565b905090565b5f6104d88484846112c8565b610595846104e46110fe565b6105908560405180606001604052806028815260200161321c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105476110fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dc59092919063ffffffff16565b611105565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e96110fe565b73ffffffffffffffffffffffffffffffffffffffff1614610608575f80fd5b5f61061230610640565b90505f8111156106265761062581611e27565b5b5f4790505f81111561063c5761063b816120ae565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61068e6110fe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071190612821565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107dc6110fe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085f90612821565b60405180910390fd5b6009600a610876919061274c565b629896806108849190612796565b600f819055506009600a610898919061274c565b629896806108a69190612796565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108f4919061274c565b629896806109029190612796565b60405161090f91906124c2565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f47726f6b79000000000000000000000000000000000000000000000000000000815250905090565b5f61099c6109956110fe565b84846112c8565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109c66110fe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4990612821565b60405180910390fd5b60148054906101000a900460ff1615610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9790612889565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b28919061274c565b62989680610b369190612796565b611105565b5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bca91906128bb565b90508073ffffffffffffffffffffffffffffffffffffffff1663e6a439053060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7791906128bb565b6040518363ffffffff1660e01b8152600401610c949291906128e6565b602060405180830381865afa158015610caf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd391906128bb565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610eae578073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ded573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1191906128bb565b6040518363ffffffff1660e01b8152600401610e2e9291906128e6565b6020604051808303815f875af1158015610e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6e91906128bb565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ef630610640565b5f80610f0061091f565b426040518863ffffffff1660e01b8152600401610f229695949392919061294f565b60606040518083038185885af1158015610f3e573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f6391906129c2565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611003929190612a12565b6020604051808303815f875af115801561101f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110439190612a63565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff02191690831515021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116a90612afe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d890612b8c565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112bb91906124c2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132d90612c1a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612ca8565b60405180910390fd5b5f81116113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90612d36565b60405180910390fd5b5f80600190506113f461091f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611462575061143261091f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b14576114a8606461149a60148054906101000a900460ff166114895760075461148b565b5f5b8661211790919063ffffffff16565b61218e90919063ffffffff16565b915060065f9054906101000a900460ff16156116305760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611568575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561162f574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106115ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e390612dc4565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156116d9575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561172c575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561188557600f54831115611776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176d90612e2c565b60405180910390fd5b6010548361178386610640565b61178d9190612e4a565b11156117ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c590612ec7565b60405180910390fd5b600d54600e5410156117ed576117e3846121d7565b156117ec575f80fd5b5b600e5f8154809291906117ff90612ee5565b91905055504260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118826064611874600b54600e541161186157600754611865565b6009545b8661211790919063ffffffff16565b61218e90919063ffffffff16565b91505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561190d57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a2657600f54831115611957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194e90612e2c565b60405180910390fd5b6119936064611985600c54600e541161197257600854611976565b600a545b8661211790919063ffffffff16565b61218e90919063ffffffff16565b91504260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541480611a1c57505f60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b15611a25575f90505b5b5f611a3030610640565b9050601460159054906101000a900460ff16158015611a9b575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015611ab35750601460169054906101000a900460ff165b8015611ac0575060115481115b8015611acf5750600d54600e54115b8015611ad85750815b15611b1257611afa611af585611af0846012546121e8565b6121e8565b611e27565b5f4790505f811115611b1057611b0f476120ae565b5b505b505b5f821115611c1357611b6c8260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220090919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c0a91906124c2565b60405180910390a35b611c638360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225d90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d06611cba838561225d90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611da9858761225d90919063ffffffff16565b604051611db691906124c2565b60405180910390a35050505050565b5f838311158290611e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e039190612391565b60405180910390fd5b505f8385611e1a9190612f2c565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156120915760148054906101000a900460ff1615612091575f600267ffffffffffffffff811115611e7957611e78612f5f565b5b604051908082528060200260200182016040528015611ea75781602001602082028036833780820191505090505b50905030815f81518110611ebe57611ebd612f8c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8691906128bb565b81600181518110611f9a57611f99612f8c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120003060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611105565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612062959493929190613070565b5f604051808303815f87803b158015612079575f80fd5b505af115801561208b573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612113573d5f803e3d5ffd5b5050565b5f808303612127575f9050612188565b5f82846121349190612796565b905082848261214391906130f5565b14612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a90613195565b60405180910390fd5b809150505b92915050565b5f6121cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122a6565b905092915050565b5f80823b90505f8111915050919050565b5f8183116121f657826121f8565b815b905092915050565b5f80828461220e9190612e4a565b905083811015612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a906131fd565b60405180910390fd5b8091505092915050565b5f61229e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dc5565b905092915050565b5f80831182906122ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e39190612391565b60405180910390fd5b505f83856122fa91906130f5565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561233e578082015181840152602081019050612323565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61236382612307565b61236d8185612311565b935061237d818560208601612321565b61238681612349565b840191505092915050565b5f6020820190508181035f8301526123a98184612359565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123de826123b5565b9050919050565b6123ee816123d4565b81146123f8575f80fd5b50565b5f81359050612409816123e5565b92915050565b5f819050919050565b6124218161240f565b811461242b575f80fd5b50565b5f8135905061243c81612418565b92915050565b5f8060408385031215612458576124576123b1565b5b5f612465858286016123fb565b92505060206124768582860161242e565b9150509250929050565b5f8115159050919050565b61249481612480565b82525050565b5f6020820190506124ad5f83018461248b565b92915050565b6124bc8161240f565b82525050565b5f6020820190506124d55f8301846124b3565b92915050565b5f805f606084860312156124f2576124f16123b1565b5b5f6124ff868287016123fb565b9350506020612510868287016123fb565b92505060406125218682870161242e565b9150509250925092565b5f60ff82169050919050565b6125408161252b565b82525050565b5f6020820190506125595f830184612537565b92915050565b5f60208284031215612574576125736123b1565b5b5f612581848285016123fb565b91505092915050565b612593816123d4565b82525050565b5f6020820190506125ac5f83018461258a565b92915050565b5f80604083850312156125c8576125c76123b1565b5b5f6125d5858286016123fb565b92505060206125e6858286016123fb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126725780860481111561264e5761264d6125f0565b5b600185161561265d5780820291505b808102905061266b8561261d565b9450612632565b94509492505050565b5f8261268a5760019050612745565b81612697575f9050612745565b81600181146126ad57600281146126b7576126e6565b6001915050612745565b60ff8411156126c9576126c86125f0565b5b8360020a9150848211156126e0576126df6125f0565b5b50612745565b5060208310610133831016604e8410600b841016171561271b5782820a905083811115612716576127156125f0565b5b612745565b6127288484846001612629565b9250905081840481111561273f5761273e6125f0565b5b81810290505b9392505050565b5f6127568261240f565b91506127618361252b565b925061278e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461267b565b905092915050565b5f6127a08261240f565b91506127ab8361240f565b92508282026127b98161240f565b915082820484148315176127d0576127cf6125f0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61280b602083612311565b9150612816826127d7565b602082019050919050565b5f6020820190508181035f830152612838816127ff565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612873601783612311565b915061287e8261283f565b602082019050919050565b5f6020820190508181035f8301526128a081612867565b9050919050565b5f815190506128b5816123e5565b92915050565b5f602082840312156128d0576128cf6123b1565b5b5f6128dd848285016128a7565b91505092915050565b5f6040820190506128f95f83018561258a565b612906602083018461258a565b9392505050565b5f819050919050565b5f819050919050565b5f61293961293461292f8461290d565b612916565b61240f565b9050919050565b6129498161291f565b82525050565b5f60c0820190506129625f83018961258a565b61296f60208301886124b3565b61297c6040830187612940565b6129896060830186612940565b612996608083018561258a565b6129a360a08301846124b3565b979650505050505050565b5f815190506129bc81612418565b92915050565b5f805f606084860312156129d9576129d86123b1565b5b5f6129e6868287016129ae565b93505060206129f7868287016129ae565b9250506040612a08868287016129ae565b9150509250925092565b5f604082019050612a255f83018561258a565b612a3260208301846124b3565b9392505050565b612a4281612480565b8114612a4c575f80fd5b50565b5f81519050612a5d81612a39565b92915050565b5f60208284031215612a7857612a776123b1565b5b5f612a8584828501612a4f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ae8602483612311565b9150612af382612a8e565b604082019050919050565b5f6020820190508181035f830152612b1581612adc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b76602283612311565b9150612b8182612b1c565b604082019050919050565b5f6020820190508181035f830152612ba381612b6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c04602583612311565b9150612c0f82612baa565b604082019050919050565b5f6020820190508181035f830152612c3181612bf8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c92602383612311565b9150612c9d82612c38565b604082019050919050565b5f6020820190508181035f830152612cbf81612c86565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d20602983612311565b9150612d2b82612cc6565b604082019050919050565b5f6020820190508181035f830152612d4d81612d14565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f612dae602483612311565b9150612db982612d54565b604082019050919050565b5f6020820190508181035f830152612ddb81612da2565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e16601983612311565b9150612e2182612de2565b602082019050919050565b5f6020820190508181035f830152612e4381612e0a565b9050919050565b5f612e548261240f565b9150612e5f8361240f565b9250828201905080821115612e7757612e766125f0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612eb1601a83612311565b9150612ebc82612e7d565b602082019050919050565b5f6020820190508181035f830152612ede81612ea5565b9050919050565b5f612eef8261240f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f2157612f206125f0565b5b600182019050919050565b5f612f368261240f565b9150612f418361240f565b9250828203905081811115612f5957612f586125f0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612feb816123d4565b82525050565b5f612ffc8383612fe2565b60208301905092915050565b5f602082019050919050565b5f61301e82612fb9565b6130288185612fc3565b935061303383612fd3565b805f5b8381101561306357815161304a8882612ff1565b975061305583613008565b925050600181019050613036565b5085935050505092915050565b5f60a0820190506130835f8301886124b3565b6130906020830187612940565b81810360408301526130a28186613014565b90506130b1606083018561258a565b6130be60808301846124b3565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130ff8261240f565b915061310a8361240f565b92508261311a576131196130c8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61317f602183612311565b915061318a82613125565b604082019050919050565b5f6020820190508181035f8301526131ac81613173565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131e7601b83612311565b91506131f2826131b3565b602082019050919050565b5f6020820190508181035f830152613214816131db565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d45541e015e3298f607e1a01953dcfd673400cfcf83007d97e4507e183b9824e64736f6c63430008140033