6080604052600160065f6101000a81548160ff021916908315150217905550600f60075560196008555f6009555f600a55600a600b556014600c55600f600d555f600e556009600a62000053919062000629565b635241210062000064919062000679565b600f556009600a62000077919062000629565b635241210062000088919062000679565b6010556009600a6200009b919062000629565b6329209080620000ac919062000679565b6011556009600a620000bf919062000629565b6329209080620000d0919062000679565b6012555f60135f6101000a81548160ff0219169083151502179055505f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055503480156200012c575f80fd5b505f6200013e6200046960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001ea6200046960201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200023a919062000629565b641010b872006200024c919062000679565b60015f6200025f6200046960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002b16200047060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003dc6200046960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200043a919062000629565b641010b872006200044c919062000679565b6040516200045b9190620006d4565b60405180910390a3620006ef565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200052157808604811115620004f957620004f862000497565b5b6001851615620005095780820291505b80810290506200051985620004c4565b9450620004d9565b94509492505050565b5f826200053b57600190506200060d565b816200054a575f90506200060d565b81600181146200056357600281146200056e57620005a4565b60019150506200060d565b60ff84111562000583576200058262000497565b5b8360020a9150848211156200059d576200059c62000497565b5b506200060d565b5060208310610133831016604e8410600b8410161715620005de5782820a905083811115620005d857620005d762000497565b5b6200060d565b620005ed8484846001620004d0565b9250905081840481111562000607576200060662000497565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006358262000614565b915062000642836200061d565b9250620006717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200052a565b905092915050565b5f620006858262000614565b9150620006928362000614565b9250828202620006a28162000614565b91508282048414831517620006bc57620006bb62000497565b5b5092915050565b620006ce8162000614565b82525050565b5f602082019050620006e95f830184620006c3565b92915050565b6136cc80620006fd5f395ff3fe608060405260043610610169575f3560e01c80637d1db4a5116100d0578063bf474bed11610089578063d34628cc11610063578063d34628cc146104ee578063dbb859c814610516578063dd62ed3e1461052c578063f42938901461056857610170565b8063bf474bed14610484578063c876d0b9146104ae578063c9567bf9146104d857610170565b80637d1db4a514610376578063802f3caf146103a05780638da5cb5b146103ca5780638f9a55c0146103f457806395d89b411461041e578063a9059cbb1461044857610170565b806331c2d8471161012257806331c2d847146102945780633bbac579146102bc5780635d14aa42146102f85780635e4ae81b1461030e57806370a0823114610324578063715018a61461036057610170565b806306fdde0314610174578063095ea7b31461019e5780630faee56f146101da57806318160ddd1461020457806323b872dd1461022e578063313ce5671461026a57610170565b3661017057005b5f80fd5b34801561017f575f80fd5b5061018861057e565b60405161019591906125ef565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf91906126ad565b6105bb565b6040516101d19190612705565b60405180910390f35b3480156101e5575f80fd5b506101ee6105d8565b6040516101fb919061272d565b60405180910390f35b34801561020f575f80fd5b506102186105de565b604051610225919061272d565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190612746565b610602565b6040516102619190612705565b60405180910390f35b348015610275575f80fd5b5061027e6106d6565b60405161028b91906127b1565b60405180910390f35b34801561029f575f80fd5b506102ba60048036038101906102b5919061290a565b6106de565b005b3480156102c7575f80fd5b506102e260048036038101906102dd9190612951565b610802565b6040516102ef9190612705565b60405180910390f35b348015610303575f80fd5b5061030c610854565b005b348015610319575f80fd5b506103226108ec565b005b34801561032f575f80fd5b5061034a60048036038101906103459190612951565b610a51565b604051610357919061272d565b60405180910390f35b34801561036b575f80fd5b50610374610a97565b005b348015610381575f80fd5b5061038a610be5565b604051610397919061272d565b60405180910390f35b3480156103ab575f80fd5b506103b4610beb565b6040516103c19190612705565b60405180910390f35b3480156103d5575f80fd5b506103de610bfd565b6040516103eb919061298b565b60405180910390f35b3480156103ff575f80fd5b50610408610c24565b604051610415919061272d565b60405180910390f35b348015610429575f80fd5b50610432610c2a565b60405161043f91906125ef565b60405180910390f35b348015610453575f80fd5b5061046e600480360381019061046991906126ad565b610c67565b60405161047b9190612705565b60405180910390f35b34801561048f575f80fd5b50610498610c84565b6040516104a5919061272d565b60405180910390f35b3480156104b9575f80fd5b506104c2610c8a565b6040516104cf9190612705565b60405180910390f35b3480156104e3575f80fd5b506104ec610c9c565b005b3480156104f9575f80fd5b50610514600480360381019061050f919061290a565b6111c2565b005b348015610521575f80fd5b5061052a6112e7565b005b348015610537575f80fd5b50610552600480360381019061054d91906129a4565b6113cf565b60405161055f919061272d565b60405180910390f35b348015610573575f80fd5b5061057c611451565b005b60606040518060400160405280601581526020017f4379626572747275636b204f6d666720446563616c0000000000000000000000815250905090565b5f6105ce6105c76114f5565b84846114fc565b6001905092915050565b60125481565b5f6009600a6105ed9190612b3e565b641010b872006105fd9190612b88565b905090565b5f61060e8484846116bf565b6106cb8461061a6114f5565b6106c68560405180606001604052806028815260200161366f6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61067d6114f5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204d9092919063ffffffff16565b6114fc565b600190509392505050565b5f6009905090565b6106e66114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076990612c13565b60405180910390fd5b5f5b81518110156107fe575f60045f84848151811061079457610793612c31565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806107f690612c5e565b915050610774565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108956114f5565b73ffffffffffffffffffffffffffffffffffffffff16146108b4575f80fd5b5f6108be30610a51565b90505f8111156108d2576108d1816120af565b5b5f4790505f8111156108e8576108e78161231d565b5b5050565b6108f46114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097790612c13565b60405180910390fd5b6009600a61098e9190612b3e565b641010b8720061099e9190612b88565b600f819055506009600a6109b29190612b3e565b641010b872006109c29190612b88565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a109190612b3e565b641010b87200610a209190612b88565b604051610a2d919061272d565b60405180910390a1600160135f6101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a9f6114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2290612c13565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60135f9054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f444543414c000000000000000000000000000000000000000000000000000000815250905090565b5f610c7a610c736114f5565b84846116bf565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610ca46114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790612c13565b60405180910390fd5b60148054906101000a900460ff1615610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590612cef565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e1d30601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e089190612b3e565b641010b87200610e189190612b88565b6114fc565b601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eac9190612d21565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190612d21565b6040518363ffffffff1660e01b8152600401610f74929190612d4c565b6020604051808303815f875af1158015610f90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb49190612d21565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061103c30610a51565b5f80611046610bfd565b426040518863ffffffff1660e01b815260040161106896959493929190612db5565b60606040518083038185885af1158015611084573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110a99190612e28565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161114a929190612e78565b6020604051808303815f875af1158015611166573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118a9190612ec9565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6111ca6114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124d90612c13565b60405180910390fd5b5f5b81518110156112e357600160045f84848151811061127957611278612c31565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806112db90612c5e565b915050611258565b5050565b5f4711611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132090612f3e565b60405180910390fd5b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661136a6114f5565b73ffffffffffffffffffffffffffffffffffffffff1614611389575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156113cc573d5f803e3d5ffd5b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6114596114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114dc90612c13565b60405180910390fd5b5f4790506114f28161231d565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361156a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156190612fcc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf9061305a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116b2919061272d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361172d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611724906130e8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290613176565b60405180910390fd5b5f81116117dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d490613204565b60405180910390fd5b5f6117e6610bfd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118545750611824610bfd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d9d5761189d606461188f60135f9054906101000a900460ff1661187c57600754611880565b6009545b8561238690919063ffffffff16565b6123fd90919063ffffffff16565b905060065f9054906101000a900460ff1615611a2657601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561195e575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a25574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106119e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d9906132b8565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ad05750601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b23575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611bdd57600f54821115611b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6490613320565b60405180910390fd5b60105482611b7a85610a51565b611b84919061333e565b1115611bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbc906133bb565b60405180910390fd5b600e5f815480929190611bd790612c5e565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c6557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cb157611cae6064611ca060135f9054906101000a900460ff16611c8d57600854611c91565b600a545b8561238690919063ffffffff16565b6123fd90919063ffffffff16565b90505b5f611cbb30610a51565b9050601460159054906101000a900460ff16158015611d26575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d3e5750601460169054906101000a900460ff165b8015611d4b575060115481115b8015611d5a5750600d54600e54115b15611d9b57611d7c611d7784611d7284601254612446565b612446565b6120af565b5f47905066b1a2bc2ec50000811115611d9957611d984761231d565b5b505b505b5f811115611e9c57611df58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461245e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e93919061272d565b60405180910390a35b611eec8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124bb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f8f611f4382846124bb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461245e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61203284866124bb90919063ffffffff16565b60405161203f919061272d565b60405180910390a350505050565b5f838311158290612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b91906125ef565b60405180910390fd5b505f83856120a291906133d9565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156120e6576120e56127ce565b5b6040519080825280602002602001820160405280156121145781602001602082028036833780820191505090505b50905030815f8151811061212b5761212a612c31565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f49190612d21565b8160018151811061220857612207612c31565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061226f30601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114fc565b601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016122d29594939291906134c3565b5f604051808303815f87803b1580156122e9575f80fd5b505af11580156122fb573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612382573d5f803e3d5ffd5b5050565b5f808303612396575f90506123f7565b5f82846123a39190612b88565b90508284826123b29190613548565b146123f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e9906135e8565b60405180910390fd5b809150505b92915050565b5f61243e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612504565b905092915050565b5f8183116124545782612456565b815b905092915050565b5f80828461246c919061333e565b9050838110156124b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a890613650565b60405180910390fd5b8091505092915050565b5f6124fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061204d565b905092915050565b5f808311829061254a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254191906125ef565b60405180910390fd5b505f83856125589190613548565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561259c578082015181840152602081019050612581565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6125c182612565565b6125cb818561256f565b93506125db81856020860161257f565b6125e4816125a7565b840191505092915050565b5f6020820190508181035f83015261260781846125b7565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61264982612620565b9050919050565b6126598161263f565b8114612663575f80fd5b50565b5f8135905061267481612650565b92915050565b5f819050919050565b61268c8161267a565b8114612696575f80fd5b50565b5f813590506126a781612683565b92915050565b5f80604083850312156126c3576126c2612618565b5b5f6126d085828601612666565b92505060206126e185828601612699565b9150509250929050565b5f8115159050919050565b6126ff816126eb565b82525050565b5f6020820190506127185f8301846126f6565b92915050565b6127278161267a565b82525050565b5f6020820190506127405f83018461271e565b92915050565b5f805f6060848603121561275d5761275c612618565b5b5f61276a86828701612666565b935050602061277b86828701612666565b925050604061278c86828701612699565b9150509250925092565b5f60ff82169050919050565b6127ab81612796565b82525050565b5f6020820190506127c45f8301846127a2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612804826125a7565b810181811067ffffffffffffffff82111715612823576128226127ce565b5b80604052505050565b5f61283561260f565b905061284182826127fb565b919050565b5f67ffffffffffffffff8211156128605761285f6127ce565b5b602082029050602081019050919050565b5f80fd5b5f61288761288284612846565b61282c565b905080838252602082019050602084028301858111156128aa576128a9612871565b5b835b818110156128d357806128bf8882612666565b8452602084019350506020810190506128ac565b5050509392505050565b5f82601f8301126128f1576128f06127ca565b5b8135612901848260208601612875565b91505092915050565b5f6020828403121561291f5761291e612618565b5b5f82013567ffffffffffffffff81111561293c5761293b61261c565b5b612948848285016128dd565b91505092915050565b5f6020828403121561296657612965612618565b5b5f61297384828501612666565b91505092915050565b6129858161263f565b82525050565b5f60208201905061299e5f83018461297c565b92915050565b5f80604083850312156129ba576129b9612618565b5b5f6129c785828601612666565b92505060206129d885828601612666565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612a6457808604811115612a4057612a3f6129e2565b5b6001851615612a4f5780820291505b8081029050612a5d85612a0f565b9450612a24565b94509492505050565b5f82612a7c5760019050612b37565b81612a89575f9050612b37565b8160018114612a9f5760028114612aa957612ad8565b6001915050612b37565b60ff841115612abb57612aba6129e2565b5b8360020a915084821115612ad257612ad16129e2565b5b50612b37565b5060208310610133831016604e8410600b8410161715612b0d5782820a905083811115612b0857612b076129e2565b5b612b37565b612b1a8484846001612a1b565b92509050818404811115612b3157612b306129e2565b5b81810290505b9392505050565b5f612b488261267a565b9150612b5383612796565b9250612b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a6d565b905092915050565b5f612b928261267a565b9150612b9d8361267a565b9250828202612bab8161267a565b91508282048414831517612bc257612bc16129e2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612bfd60208361256f565b9150612c0882612bc9565b602082019050919050565b5f6020820190508181035f830152612c2a81612bf1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612c688261267a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c9a57612c996129e2565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612cd960178361256f565b9150612ce482612ca5565b602082019050919050565b5f6020820190508181035f830152612d0681612ccd565b9050919050565b5f81519050612d1b81612650565b92915050565b5f60208284031215612d3657612d35612618565b5b5f612d4384828501612d0d565b91505092915050565b5f604082019050612d5f5f83018561297c565b612d6c602083018461297c565b9392505050565b5f819050919050565b5f819050919050565b5f612d9f612d9a612d9584612d73565b612d7c565b61267a565b9050919050565b612daf81612d85565b82525050565b5f60c082019050612dc85f83018961297c565b612dd5602083018861271e565b612de26040830187612da6565b612def6060830186612da6565b612dfc608083018561297c565b612e0960a083018461271e565b979650505050505050565b5f81519050612e2281612683565b92915050565b5f805f60608486031215612e3f57612e3e612618565b5b5f612e4c86828701612e14565b9350506020612e5d86828701612e14565b9250506040612e6e86828701612e14565b9150509250925092565b5f604082019050612e8b5f83018561297c565b612e98602083018461271e565b9392505050565b612ea8816126eb565b8114612eb2575f80fd5b50565b5f81519050612ec381612e9f565b92915050565b5f60208284031215612ede57612edd612618565b5b5f612eeb84828501612eb5565b91505092915050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612f2860168361256f565b9150612f3382612ef4565b602082019050919050565b5f6020820190508181035f830152612f5581612f1c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612fb660248361256f565b9150612fc182612f5c565b604082019050919050565b5f6020820190508181035f830152612fe381612faa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61304460228361256f565b915061304f82612fea565b604082019050919050565b5f6020820190508181035f83015261307181613038565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130d260258361256f565b91506130dd82613078565b604082019050919050565b5f6020820190508181035f8301526130ff816130c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61316060238361256f565b915061316b82613106565b604082019050919050565b5f6020820190508181035f83015261318d81613154565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6131ee60298361256f565b91506131f982613194565b604082019050919050565b5f6020820190508181035f83015261321b816131e2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6132a260498361256f565b91506132ad82613222565b606082019050919050565b5f6020820190508181035f8301526132cf81613296565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61330a60198361256f565b9150613315826132d6565b602082019050919050565b5f6020820190508181035f830152613337816132fe565b9050919050565b5f6133488261267a565b91506133538361267a565b925082820190508082111561336b5761336a6129e2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6133a5601a8361256f565b91506133b082613371565b602082019050919050565b5f6020820190508181035f8301526133d281613399565b9050919050565b5f6133e38261267a565b91506133ee8361267a565b9250828203905081811115613406576134056129e2565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61343e8161263f565b82525050565b5f61344f8383613435565b60208301905092915050565b5f602082019050919050565b5f6134718261340c565b61347b8185613416565b935061348683613426565b805f5b838110156134b657815161349d8882613444565b97506134a88361345b565b925050600181019050613489565b5085935050505092915050565b5f60a0820190506134d65f83018861271e565b6134e36020830187612da6565b81810360408301526134f58186613467565b9050613504606083018561297c565b613511608083018461271e565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6135528261267a565b915061355d8361267a565b92508261356d5761356c61351b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135d260218361256f565b91506135dd82613578565b604082019050919050565b5f6020820190508181035f8301526135ff816135c6565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61363a601b8361256f565b915061364582613606565b602082019050919050565b5f6020820190508181035f8301526136678161362e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122005c0c8674ff7f432fad0ca85f34403e0ab245e8021deeb61944ced6014dd843664736f6c63430008150033