60806040525f60065f6101000a81548160ff0219169083151502179055506014600755601460085560016009556001600a556014600b556014600c55601e600d555f600e556008600a6200005491906200061b565b6507a6fd8f6a006200006791906200066b565b600f556008600a6200007a91906200061b565b6507a6fd8f6a006200008d91906200066b565b6010556008600a620000a091906200061b565b5f620000ad91906200066b565b6011556008600a620000c091906200061b565b65030f989fc400620000d391906200066b565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015553480156200011a575f80fd5b505f6200012c6200045b60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d86200045b60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a6200022891906200061b565b66017e9d8602b4006200023c91906200066b565b60015f6200024f6200045b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002a16200046260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003cc6200045b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200042a91906200061b565b66017e9d8602b4006200043e91906200066b565b6040516200044d9190620006c6565b60405180910390a3620006e1565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200051357808604811115620004eb57620004ea62000489565b5b6001851615620004fb5780820291505b80810290506200050b85620004b6565b9450620004cb565b94509492505050565b5f826200052d5760019050620005ff565b816200053c575f9050620005ff565b8160018114620005555760028114620005605762000596565b6001915050620005ff565b60ff84111562000575576200057462000489565b5b8360020a9150848211156200058f576200058e62000489565b5b50620005ff565b5060208310610133831016604e8410600b8410161715620005d05782820a905083811115620005ca57620005c962000489565b5b620005ff565b620005df8484846001620004c2565b92509050818404811115620005f957620005f862000489565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006278262000606565b915062000634836200060f565b9250620006637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200051c565b905092915050565b5f620006778262000606565b9150620006848362000606565b9250828202620006948162000606565b91508282048414831517620006ae57620006ad62000489565b5b5092915050565b620006c08162000606565b82525050565b5f602082019050620006db5f830184620006b5565b92915050565b61319c80620006ef5f395ff3fe608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612312565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d91906123c3565b610487565b60405161017f919061241b565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a99190612443565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d39190612443565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd919061245c565b6104d0565b60405161020f919061241b565b60405180910390f35b348015610223575f80fd5b5061022c6105a4565b60405161023991906124c7565b60405180910390f35b34801561024d575f80fd5b506102566105ac565b005b348015610263575f80fd5b5061027e600480360381019061027991906124e0565b610644565b60405161028b9190612443565b60405180910390f35b34801561029f575f80fd5b506102a861068a565b005b3480156102b5575f80fd5b506102be6107d8565b005b3480156102cb575f80fd5b506102d4610929565b6040516102e19190612443565b60405180910390f35b3480156102f5575f80fd5b506102fe61092f565b60405161030b919061251a565b60405180910390f35b34801561031f575f80fd5b50610328610956565b6040516103359190612443565b60405180910390f35b348015610349575f80fd5b5061035261095c565b60405161035f9190612312565b60405180910390f35b348015610373575f80fd5b5061038e600480360381019061038991906123c3565b610999565b60405161039b919061241b565b60405180910390f35b3480156103af575f80fd5b506103b86109b6565b6040516103c59190612443565b60405180910390f35b3480156103d9575f80fd5b506103e26109bc565b6040516103ef919061241b565b60405180910390f35b348015610403575f80fd5b5061040c6109ce565b005b348015610419575f80fd5b50610434600480360381019061042f9190612533565b610ef0565b6040516104419190612443565b60405180910390f35b60606040518060400160405280600e81526020017f544553544552204c455354455233000000000000000000000000000000000000815250905090565b5f61049a610493610f72565b8484610f79565b6001905092915050565b60125481565b5f6008600a6104b991906126cd565b66017e9d8602b4006104cb9190612717565b905090565b5f6104dc84848461113c565b610599846104e8610f72565b6105948560405180606001604052806028815260200161313f6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61054b610f72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b3c9092919063ffffffff16565b610f79565b600190509392505050565b5f6008905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105ed610f72565b73ffffffffffffffffffffffffffffffffffffffff161461060c575f80fd5b5f61061630610644565b90505f81111561062a5761062981611b9e565b5b5f4790505f8111156106405761063f81611e09565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610692610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906127a2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107e0610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610863906127a2565b60405180910390fd5b6008600a61087a91906126cd565b66017e9d8602b40061088c9190612717565b600f819055506008600a6108a091906126cd565b66017e9d8602b4006108b29190612717565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a61090091906126cd565b66017e9d8602b4006109129190612717565b60405161091f9190612443565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600781526020017f4c45535445523300000000000000000000000000000000000000000000000000815250905090565b5f6109ac6109a5610f72565b848461113c565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109d6610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a59906127a2565b60405180910390fd5b60148054906101000a900460ff1615610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa79061280a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b4f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610b3891906126cd565b66017e9d8602b400610b4a9190612717565b610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdd919061283c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c87919061283c565b6040518363ffffffff1660e01b8152600401610ca4929190612867565b6020604051808303815f875af1158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce4919061283c565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6b30610644565b5f80610d7561092f565b426040518863ffffffff1660e01b8152600401610d97969594939291906128d0565b60606040518083038185885af1158015610db3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd89190612943565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e78929190612993565b6020604051808303815f875af1158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb891906129e4565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde90612a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c90612b0d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161112f9190612443565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190612b9b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f90612c29565b60405180910390fd5b5f811161125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612cb7565b60405180910390fd5b5f61126361092f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112d157506112a161092f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561198b5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611374575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61137c575f80fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611425575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611478575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561157457600f548211156114c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b990612d1f565b60405180910390fd5b601054826114cf85610644565b6114d99190612d3d565b111561151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612dba565b60405180910390fd5b600e5f81548092919061152c90612dd8565b919050555061156d606461155f600b54600e541161154c57600754611550565b6009545b85611e7290919063ffffffff16565b611ee990919063ffffffff16565b90506118a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115fc57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118a55760155f81548092919061161390612dd8565b91905055505f600a6015546116289190612e4c565b0361176f576116546064611646606385611e7290919063ffffffff16565b611ee990919063ffffffff16565b90506116a68160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117449190612443565b60405180910390a361176a817385f6d08c5e6f9006af7828313e332f5edfd6097d611f8f565b6118a4565b6117ab606461179d600c54600e541161178a5760085461178e565b600a545b85611e7290919063ffffffff16565b611ee990919063ffffffff16565b90506117fd8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161189b9190612443565b60405180910390a35b5b5b5f6118b030610644565b9050601460159054906101000a900460ff1615801561191b575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119335750601460169054906101000a900460ff165b8015611940575060115481115b801561194f5750600d54600e54115b156119895761197161196c84611967846012546121c6565b6121c6565b611b9e565b5f4790505f8111156119875761198681611e09565b5b505b505b6119db8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121de90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a7e611a3282846121de90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b2184866121de90919063ffffffff16565b604051611b2e9190612443565b60405180910390a350505050565b5f838311158290611b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7a9190612312565b60405180910390fd5b505f8385611b919190612e7c565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611bd557611bd4612eaf565b5b604051908082528060200260200182016040528015611c035781602001602082028036833780820191505090505b50905030815f81518110611c1a57611c19612edc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cbe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ce2919061283c565b81600181518110611cf657611cf5612edc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d5c3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dbe959493929190612fc0565b5f604051808303815f87803b158015611dd5575f80fd5b505af1158015611de7573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e6e573d5f803e3d5ffd5b5050565b5f808303611e82575f9050611ee3565b5f8284611e8f9190612717565b9050828482611e9e9190613018565b14611ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed5906130b8565b60405180910390fd5b809150505b92915050565b5f611f2a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612227565b905092915050565b5f808284611f409190612d3d565b905083811015611f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7c90613120565b60405180910390fd5b8091505092915050565b5f600267ffffffffffffffff811115611fab57611faa612eaf565b5b604051908082528060200260200182016040528015611fd95781602001602082028036833780820191505090505b50905030815f81518110611ff057611fef612edc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612094573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b8919061283c565b816001815181106120cc576120cb612edc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121323060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486426040518663ffffffff1660e01b8152600401612194959493929190612fc0565b5f604051808303815f87803b1580156121ab575f80fd5b505af11580156121bd573d5f803e3d5ffd5b50505050505050565b5f8183116121d457826121d6565b815b905092915050565b5f61221f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b3c565b905092915050565b5f808311829061226d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122649190612312565b60405180910390fd5b505f838561227b9190613018565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122bf5780820151818401526020810190506122a4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122e482612288565b6122ee8185612292565b93506122fe8185602086016122a2565b612307816122ca565b840191505092915050565b5f6020820190508181035f83015261232a81846122da565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61235f82612336565b9050919050565b61236f81612355565b8114612379575f80fd5b50565b5f8135905061238a81612366565b92915050565b5f819050919050565b6123a281612390565b81146123ac575f80fd5b50565b5f813590506123bd81612399565b92915050565b5f80604083850312156123d9576123d8612332565b5b5f6123e68582860161237c565b92505060206123f7858286016123af565b9150509250929050565b5f8115159050919050565b61241581612401565b82525050565b5f60208201905061242e5f83018461240c565b92915050565b61243d81612390565b82525050565b5f6020820190506124565f830184612434565b92915050565b5f805f6060848603121561247357612472612332565b5b5f6124808682870161237c565b93505060206124918682870161237c565b92505060406124a2868287016123af565b9150509250925092565b5f60ff82169050919050565b6124c1816124ac565b82525050565b5f6020820190506124da5f8301846124b8565b92915050565b5f602082840312156124f5576124f4612332565b5b5f6125028482850161237c565b91505092915050565b61251481612355565b82525050565b5f60208201905061252d5f83018461250b565b92915050565b5f806040838503121561254957612548612332565b5b5f6125568582860161237c565b92505060206125678582860161237c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125f3578086048111156125cf576125ce612571565b5b60018516156125de5780820291505b80810290506125ec8561259e565b94506125b3565b94509492505050565b5f8261260b57600190506126c6565b81612618575f90506126c6565b816001811461262e576002811461263857612667565b60019150506126c6565b60ff84111561264a57612649612571565b5b8360020a91508482111561266157612660612571565b5b506126c6565b5060208310610133831016604e8410600b841016171561269c5782820a90508381111561269757612696612571565b5b6126c6565b6126a984848460016125aa565b925090508184048111156126c0576126bf612571565b5b81810290505b9392505050565b5f6126d782612390565b91506126e2836124ac565b925061270f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125fc565b905092915050565b5f61272182612390565b915061272c83612390565b925082820261273a81612390565b9150828204841483151761275157612750612571565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61278c602083612292565b915061279782612758565b602082019050919050565b5f6020820190508181035f8301526127b981612780565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127f4601783612292565b91506127ff826127c0565b602082019050919050565b5f6020820190508181035f830152612821816127e8565b9050919050565b5f8151905061283681612366565b92915050565b5f6020828403121561285157612850612332565b5b5f61285e84828501612828565b91505092915050565b5f60408201905061287a5f83018561250b565b612887602083018461250b565b9392505050565b5f819050919050565b5f819050919050565b5f6128ba6128b56128b08461288e565b612897565b612390565b9050919050565b6128ca816128a0565b82525050565b5f60c0820190506128e35f83018961250b565b6128f06020830188612434565b6128fd60408301876128c1565b61290a60608301866128c1565b612917608083018561250b565b61292460a0830184612434565b979650505050505050565b5f8151905061293d81612399565b92915050565b5f805f6060848603121561295a57612959612332565b5b5f6129678682870161292f565b93505060206129788682870161292f565b92505060406129898682870161292f565b9150509250925092565b5f6040820190506129a65f83018561250b565b6129b36020830184612434565b9392505050565b6129c381612401565b81146129cd575f80fd5b50565b5f815190506129de816129ba565b92915050565b5f602082840312156129f9576129f8612332565b5b5f612a06848285016129d0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a69602483612292565b9150612a7482612a0f565b604082019050919050565b5f6020820190508181035f830152612a9681612a5d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612af7602283612292565b9150612b0282612a9d565b604082019050919050565b5f6020820190508181035f830152612b2481612aeb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b85602583612292565b9150612b9082612b2b565b604082019050919050565b5f6020820190508181035f830152612bb281612b79565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c13602383612292565b9150612c1e82612bb9565b604082019050919050565b5f6020820190508181035f830152612c4081612c07565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ca1602983612292565b9150612cac82612c47565b604082019050919050565b5f6020820190508181035f830152612cce81612c95565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d09601983612292565b9150612d1482612cd5565b602082019050919050565b5f6020820190508181035f830152612d3681612cfd565b9050919050565b5f612d4782612390565b9150612d5283612390565b9250828201905080821115612d6a57612d69612571565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612da4601a83612292565b9150612daf82612d70565b602082019050919050565b5f6020820190508181035f830152612dd181612d98565b9050919050565b5f612de282612390565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e1457612e13612571565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e5682612390565b9150612e6183612390565b925082612e7157612e70612e1f565b5b828206905092915050565b5f612e8682612390565b9150612e9183612390565b9250828203905081811115612ea957612ea8612571565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f3b81612355565b82525050565b5f612f4c8383612f32565b60208301905092915050565b5f602082019050919050565b5f612f6e82612f09565b612f788185612f13565b9350612f8383612f23565b805f5b83811015612fb3578151612f9a8882612f41565b9750612fa583612f58565b925050600181019050612f86565b5085935050505092915050565b5f60a082019050612fd35f830188612434565b612fe060208301876128c1565b8181036040830152612ff28186612f64565b9050613001606083018561250b565b61300e6080830184612434565b9695505050505050565b5f61302282612390565b915061302d83612390565b92508261303d5761303c612e1f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a2602183612292565b91506130ad82613048565b604082019050919050565b5f6020820190508181035f8301526130cf81613096565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61310a601b83612292565b9150613115826130d6565b602082019050919050565b5f6020820190508181035f830152613137816130fe565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e360bd08bdf29f10e00bae9012ee2929ed80cf9ec19384e2ca3d8a259704ac1964736f6c63430008140033