60806040526000600755600060085560006009556000600b556000602755600060285560006029556000602a556000602b556040518060400160405280600a81526020017f4d65746120546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f6d657461000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000b592919062000220565b508060049080519060200190620000ce92919062000220565b505050620000f1620000e56200015260201b60201c565b6200015a60201b60201c565b600060275414156200014c5760276000815480929190620001129062000309565b9190505550602e6000602754815260200190815260200160002060008154809291906200013f9062000309565b9190505550426029819055505b620003bc565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200022e9062000386565b90600052602060002090601f0160209004810192826200025257600085556200029e565b82601f106200026d57805160ff19168380011785556200029e565b828001600101855582156200029e579182015b828111156200029d57825182559160200191906001019062000280565b5b509050620002ad9190620002b1565b5090565b5b80821115620002cc576000816000905550600101620002b2565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006200031682620002ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200034c576200034b620002d0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200039f57607f821691505b60208210811415620003b657620003b562000357565b5b50919050565b615fc780620003cc6000396000f3fe6080604052600436106103855760003560e01c8063715018a6116101d1578063a888c2cd11610102578063dd62ed3e116100a0578063f2c298be1161006f578063f2c298be14610cc9578063f2fde38b14610ce5578063f851a44014610d0e578063fe2c619814610d395761038c565b8063dd62ed3e14610c2c578063e6fcc84b14610c69578063e7657e1514610c94578063ea8a1af014610cbf5761038c565b8063af640d0f116100dc578063af640d0f14610b9e578063b6a46b3b14610bc9578063b79fc2ce14610be5578063c557b98514610c015761038c565b8063a888c2cd14610af9578063a9059cbb14610b36578063abeb258614610b735761038c565b80638da5cb5b1161016f57806396032702116101495780639603270214610a3857806399151d1214610a75578063a28d57d814610a91578063a457c2d714610abc5761038c565b80638da5cb5b146109a557806392502030146109d057806395d89b4114610a0d5761038c565b80637f1b2baa116101ab5780637f1b2baa146109175780638035f0ce1461094257806382a4809e1461094c5780638ab1a5d4146109895761038c565b8063715018a6146108bb57806375e36616146108d25780637bfc7bdb146108fb5761038c565b80632a307261116102b65780634d8778d01161025457806362718f251161022357806362718f251461080957806364c7dcf614610825578063704b6c021461086257806370a082311461087e5761038c565b80634d8778d01461077b5780634e71d92d146107975780635aa28742146107a15780635bcb2fc6146107de5761038c565b8063313ce56711610290578063313ce567146106ab57806339509351146106d65780633fd4b2bb146107135780634707b748146107505761038c565b80632a307261146106065780632b66d72e146106435780632e94420f146106805761038c565b8063188cdb371161032357806323075a4d116102fd57806323075a4d1461052457806323b872dd1461056157806327e7e21e1461059e578063298842fb146105c95761038c565b8063188cdb37146104e55780631ecfd4c31461051057806321df0da71461051a5761038c565b8063095ea7b31161035f578063095ea7b3146104365780630982abc9146104735780630ee3443f1461048f57806318160ddd146104ba5761038c565b8063049a22691461039157806306fdde03146103ce5780630765c782146103f95761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103b860048036038101906103b39190614cbd565b610d76565b6040516103c59190614cf9565b60405180910390f35b3480156103da57600080fd5b506103e3610d93565b6040516103f09190614dad565b60405180910390f35b34801561040557600080fd5b50610420600480360381019061041b9190614cbd565b610e25565b60405161042d9190614e6f565b60405180910390f35b34801561044257600080fd5b5061045d60048036038101906104589190614eef565b610fe7565b60405161046a9190614f4a565b60405180910390f35b61048d6004803603810190610488919061509a565b61100a565b005b34801561049b57600080fd5b506104a46110f9565b6040516104b19190614cf9565b60405180910390f35b3480156104c657600080fd5b506104cf6110ff565b6040516104dc9190614cf9565b60405180910390f35b3480156104f157600080fd5b506104fa611109565b6040516105079190614cf9565b60405180910390f35b61051861110f565b005b610522611167565b005b34801561053057600080fd5b5061054b600480360381019061054691906150e3565b6111bf565b6040516105589190615174565b60405180910390f35b34801561056d57600080fd5b506105886004803603810190610583919061518f565b61121c565b6040516105959190614f4a565b60405180910390f35b3480156105aa57600080fd5b506105b361124b565b6040516105c09190614cf9565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190614cbd565b611251565b6040516105fd91906151f1565b60405180910390f35b34801561061257600080fd5b5061062d6004803603810190610628919061509a565b6112b5565b60405161063a9190614f4a565b60405180910390f35b34801561064f57600080fd5b5061066a6004803603810190610665919061509a565b611313565b6040516106779190614f4a565b60405180910390f35b34801561068c57600080fd5b50610695611382565b6040516106a29190614dad565b60405180910390f35b3480156106b757600080fd5b506106c061142c565b6040516106cd9190614cf9565b60405180910390f35b3480156106e257600080fd5b506106fd60048036038101906106f89190614eef565b611435565b60405161070a9190614f4a565b60405180910390f35b34801561071f57600080fd5b5061073a6004803603810190610735919061520c565b61146c565b6040516107479190614dad565b60405180910390f35b34801561075c57600080fd5b5061076561153d565b6040516107729190614cf9565b60405180910390f35b61079560048036038101906107909190615265565b61154f565b005b61079f61163f565b005b3480156107ad57600080fd5b506107c860048036038101906107c39190614cbd565b611717565b6040516107d591906152d0565b60405180910390f35b3480156107ea57600080fd5b506107f361175c565b604051610800919061535d565b60405180910390f35b610823600480360381019061081e91906153ab565b611915565b005b34801561083157600080fd5b5061084c600480360381019061084791906153ab565b611a8b565b604051610859919061535d565b60405180910390f35b61087c6004803603810190610877919061520c565b611be2565b005b34801561088a57600080fd5b506108a560048036038101906108a0919061520c565b611c2e565b6040516108b29190614cf9565b60405180910390f35b3480156108c757600080fd5b506108d0611c76565b005b3480156108de57600080fd5b506108f960048036038101906108f491906153ab565b611c8a565b005b6109156004803603810190610910919061509a565b611d54565b005b34801561092357600080fd5b5061092c611ee4565b6040516109399190614cf9565b60405180910390f35b61094a611eea565b005b34801561095857600080fd5b50610973600480360381019061096e9190614cbd565b611fca565b6040516109809190614f4a565b60405180910390f35b6109a3600480360381019061099e91906153d8565b61201b565b005b3480156109b157600080fd5b506109ba61212a565b6040516109c791906152d0565b60405180910390f35b3480156109dc57600080fd5b506109f760048036038101906109f29190614cbd565b612154565b604051610a0491906154bb565b60405180910390f35b348015610a1957600080fd5b50610a226122cd565b604051610a2f9190614dad565b60405180910390f35b348015610a4457600080fd5b50610a5f6004803603810190610a5a9190614cbd565b61235f565b604051610a6c9190614dad565b60405180910390f35b610a8f6004803603810190610a8a91906154dd565b6124a4565b005b348015610a9d57600080fd5b50610aa66127b7565b604051610ab39190614cf9565b60405180910390f35b348015610ac857600080fd5b50610ae36004803603810190610ade9190614eef565b6127bd565b604051610af09190614f4a565b60405180910390f35b348015610b0557600080fd5b50610b206004803603810190610b1b9190614cbd565b612834565b604051610b2d9190614f4a565b60405180910390f35b348015610b4257600080fd5b50610b5d6004803603810190610b589190614eef565b612876565b604051610b6a9190614f4a565b60405180910390f35b348015610b7f57600080fd5b50610b88612899565b604051610b959190614cf9565b60405180910390f35b348015610baa57600080fd5b50610bb361289f565b604051610bc09190614cf9565b60405180910390f35b610be36004803603810190610bde919061509a565b6128e6565b005b610bff6004803603810190610bfa9190615265565b612b47565b005b348015610c0d57600080fd5b50610c16612d37565b604051610c239190614dad565b60405180910390f35b348015610c3857600080fd5b50610c536004803603810190610c4e919061554c565b612de1565b604051610c609190614cf9565b60405180910390f35b348015610c7557600080fd5b50610c7e612e68565b604051610c8b9190614dad565b60405180910390f35b348015610ca057600080fd5b50610ca9612f1d565b604051610cb69190614cf9565b60405180910390f35b610cc7612f23565b005b610ce36004803603810190610cde919061509a565b612fd6565b005b348015610cf157600080fd5b50610d0c6004803603810190610d07919061520c565b6131be565b005b348015610d1a57600080fd5b50610d23613242565b604051610d3091906152d0565b60405180910390f35b348015610d4557600080fd5b50610d606004803603810190610d5b919061509a565b613274565b604051610d6d9190614cf9565b60405180910390f35b6000602e6000838152602001908152602001600020549050919050565b606060038054610da2906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610dce906155bb565b8015610e1b5780601f10610df057610100808354040283529160200191610e1b565b820191906000526020600020905b815481529060010190602001808311610dfe57829003601f168201915b5050505050905090565b610e2d614a91565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ebd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb490615639565b60405180910390fd5b60156000610eca846132ce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610fe2576000601660008481526020019081526020016000205490506040518060400160405280828152602001601760008481526020019081526020016000208054610f5d906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610f89906155bb565b8015610fd65780601f10610fab57610100808354040283529160200191610fd6565b820191906000526020600020905b815481529060010190602001808311610fb957829003601f168201915b50505050508152509150505b919050565b600080610ff261330b565b9050610fff818585613313565b600191505092915050565b600061101461289f565b905061102033836134de565b611029336135dc565b61103a670de0b6b3a7640000611fca565b506301cd6d00601b6000838152602001908152602001600020544261105f9190615688565b106110c35742601b60008381526020019081526020016000208190555081601a600083815260200190815260200160002090805190602001906110a3929190614aae565b506110be336110b061212a565b670de0b6b3a7640000613662565b6110f5565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b602a5481565b6000600254905090565b60075481565b6111176138da565b61111f61212a565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611164573d6000803e3d6000fd5b50565b61116f6138da565b61117761212a565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156111bc573d6000803e3d6000fd5b50565b6111c7614b34565b602f600084815260200190815260200160002060008381526020019081526020016000206040518060600160405290816000820154815260200160018201548152602001600282015481525050905092915050565b60008061122761330b565b9050611234858285613958565b61123f858585613662565b60019150509392505050565b602b5481565b600061125b6138da565b600060126000848152602001908152602001600020549050600c600082815260200190815260200160002060009054906101000a900460ff166112af57601260008481526020019081526020016000205491505b50919050565b6000806018836040516112c891906156f8565b90815260200160405180910390205490506021600082815260200190815260200160002060009054906101000a900460ff1615611308576001915061130d565b600091505b50919050565b6000602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061135f846139e4565b815260200190815260200160002060009054906101000a900460ff169050919050565b606060176000611390613a0c565b815260200190815260200160002080546113a9906155bb565b80601f01602080910402602001604051908101604052809291908181526020018280546113d5906155bb565b80156114225780601f106113f757610100808354040283529160200191611422565b820191906000526020600020905b81548152906001019060200180831161140557829003601f168201915b5050505050905090565b60006012905090565b60008061144061330b565b90506114618185856114528589612de1565b61145c919061570f565b613313565b600191505092915050565b6060601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080546114b8906155bb565b80601f01602080910402602001604051908101604052809291908181526020018280546114e4906155bb565b80156115315780601f1061150657610100808354040283529160200191611531565b820191906000526020600020905b81548152906001019060200180831161151457829003601f168201915b50505050509050919050565b60006115476138da565b600854905090565b600061155a836139e4565b90506000611567826132ce565b9050611572816135dc565b61157b81613a2e565b61158482613a97565b61158d846112b5565b156115c4576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006115cf83613af1565b90506115da81611fca565b506115f8336115e761212a565b6115f3846103e8613b0e565b613662565b6116193383611609846103e8613b0e565b846116149190615688565b613662565b831561162d5761162883613b24565b611638565b6116378386613c4b565b5b5050505050565b611648336135dc565b6b0295be96e640669720000000602a5410156116e35762015180602954426116709190615688565b106116d5576027546028819055506027600081548092919061169190615765565b9190505550602e6000602754815260200190815260200160002060008154809291906116bc90615765565b9190505550426029819055506116d0614022565b6116de565b6116dd614022565b5b611715565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60006117216138da565b602d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611764614b55565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119125760116000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054611879906155bb565b80601f01602080910402602001604051908101604052809291908181526020018280546118a5906155bb565b80156118f25780601f106118c7576101008083540402835291602001916118f2565b820191906000526020600020905b8154815290600101906020018083116118d557829003601f168201915b505050505081526020016002820154815260200160038201548152505090505b90565b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611999576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601660006119a561289f565b815260200190815260200160002054811415611a5657600160146119c7611382565b6040516119d491906156f8565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a88565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b611a93614b55565b611a9b6138da565b600c600083815260200190815260200160002060009054906101000a900460ff16611bdd57601160008381526020019081526020016000206040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054611b44906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611b70906155bb565b8015611bbd5780601f10611b9257610100808354040283529160200191611bbd565b820191906000526020600020905b815481529060010190602001808311611ba057829003601f168201915b505050505081526020016002820154815260200160038201548152505090505b919050565b611bea6138da565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611c7e6138da565b611c886000614164565b565b611c926138da565b6000611c9d82611a8b565b90506001600c600084815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600d6000836000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d508160000151611d3c836000015161146c565b83602001518460400151856060015161422a565b5050565b6000611d5f826139e4565b90506000611d6c826132ce565b9050611d77816135dc565b611d8081613a2e565b611d89836112b5565b8015611d9b5750611d9983611313565b155b15611ead57611db4611dac83613af1565b6103e8613b0e565b3410611e7657611dc261212a565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611e07573d6000803e3d6000fd5b506001602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff021916908315150217905550611ea8565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611edf565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60275481565b6000611ef461289f565b9050611eff81613a97565b611f10670de0b6b3a7640000611fca565b506022600082815260200190815260200160002060009054906101000a900460ff16158015611f455750611f438161432e565b155b15611f9557611f6433611f5661212a565b670de0b6b3a7640000613662565b60016022600083815260200190815260200160002060006101000a81548160ff021916908315150217905550611fc7565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b600081611fd633611c2e565b101561201257600090506040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019050919050565b600061202561289f565b905061203861203333614358565b6143a1565b600084146120f25781156120735760016023600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60018314156120a95760016021600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60016024600083815260200190815260200160002060006101000a81548160ff021916908315150217905550836025600083815260200190815260200160002081905550612124565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61215c614b93565b601060008381526020019081526020016000206040518060c001604052908160008201548152602001600182018054612194906155bb565b80601f01602080910402602001604051908101604052809291908181526020018280546121c0906155bb565b801561220d5780601f106121e25761010080835404028352916020019161220d565b820191906000526020600020905b8154815290600101906020018083116121f057829003601f168201915b50505050508152602001600282018054612226906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054612252906155bb565b801561229f5780601f106122745761010080835404028352916020019161229f565b820191906000526020600020905b81548152906001019060200180831161228257829003601f168201915b5050505050815260200160038201548152602001600482015481526020016005820154815250509050919050565b6060600480546122dc906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054612308906155bb565b80156123555780601f1061232a57610100808354040283529160200191612355565b820191906000526020600020905b81548152906001019060200180831161233857829003601f168201915b5050505050905090565b60606024600083815260200190815260200160002060009054906101000a900460ff161561249f576123908261432e565b1561243857601a600083815260200190815260200160002080546123b3906155bb565b80601f01602080910402602001604051908101604052809291908181526020018280546123df906155bb565b801561242c5780601f106124015761010080835404028352916020019161242c565b820191906000526020600020905b81548152906001019060200180831161240f57829003601f168201915b5050505050905061249e565b6022600083815260200190815260200160002060009054906101000a900460ff161561249d5761249a601c600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661146c565b90505b5b5b919050565b6124ae33846134de565b6124bf6124ba33614358565b6143a1565b60008061037883141561256857600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612550576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83905080600954612561919061570f565b9150612588565b600f3461257591906157dd565b905080600954612585919061570f565b91505b6b024306c4097859c43c00000082600b546125a3919061570f565b101561277e5760006a52b7d2dcc80cd2e4000000600b5410156125d257620186a0826125cf919061580e565b90505b6a52b7d2dcc80cd2e4000000600b54101580156125fb57506aa56fa5b99019a5c8000000600b54105b156126115761c3508261260e919061580e565b90505b6aa56fa5b99019a5c8000000600b541015801561263a57506af8277896582678ac000000600b54105b15612650576127108261264d919061580e565b90505b6af8277896582678ac000000600b541015801561267a57506b014adf4b7320334b90000000600b54105b15612690576113888261268d919061580e565b90505b6b014adf4b7320334b90000000600b54101580156126bb57506b019d971e4fe8401e74000000600b54105b156126d1576103e8826126ce919061580e565b90505b6b019d971e4fe8401e74000000600b54101580156126fc57506b01f04ef12cb04cf158000000600b54105b15612712576101f48261270f919061580e565b90505b6b01f04ef12cb04cf158000000600b541015801561273d57506b024306c4097859c43c000000600b54105b156127525760648261274f919061580e565b90505b61037884141561276c5761276786868361440b565b612778565b6127778683836145fd565b5b506127b0565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b60095481565b6000806127c861330b565b905060006127d68286612de1565b90508381101561281b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612812906158da565b60405180910390fd5b6128288286868403613313565b60019250505092915050565b600060306000612842613a0c565b8152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff169050919050565b60008061288161330b565b905061288e818585613662565b600191505092915050565b600b5481565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60006128f061289f565b90506128fc33836134de565b612905336135dc565b612916670de0b6b3a7640000611fca565b50600061292283614664565b9050601f600083815260200190815260200160002060009054906101000a900460ff161561297c576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601e600082815260200190815260200160002060009054906101000a900460ff16156129d4576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260196129df611382565b6040516129ec91906156f8565b90815260200160405180910390209080519060200190612a0d929190614aae565b5082601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190612a61929190614aae565b5080602060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601e600083815260200190815260200160002060006101000a81548160ff021916908315150217905550816018612add612e68565b604051612aea91906156f8565b9081526020016040518091039020819055506001601f600084815260200190815260200160002060006101000a81548160ff021916908315150217905550612b4233612b3461212a565b670de0b6b3a7640000613662565b505050565b6000612b52836139e4565b90506000612b5f826132ce565b9050612b6a816135dc565b612b7381613a2e565b612b7c82613a97565b612b85846112b5565b8015612b965750612b9584611313565b5b15612cff5734612bb0612ba884613af1565b6103e8613b0e565b612bb984613af1565b612bc39190615688565b11612cc8578073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015612c0e573d6000803e3d6000fd5b5060006021600084815260200190815260200160002060006101000a81548160ff0219169083151502179055508215612c4f57612c4a82613b24565b612c5a565b612c598285613c4b565b5b6000602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff021916908315150217905550612cfa565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612d31565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6060601a6000612d4561289f565b81526020019081526020016000208054612d5e906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054612d8a906155bb565b8015612dd75780601f10612dac57610100808354040283529160200191612dd7565b820191906000526020600020905b815481529060010190602001808311612dba57829003601f168201915b5050505050905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60606019612e74611382565b604051612e8191906156f8565b90815260200160405180910390208054612e9a906155bb565b80601f0160208091040260200160405190810160405280929190818152602001828054612ec6906155bb565b8015612f135780601f10612ee857610100808354040283529160200191612f13565b820191906000526020600020905b815481529060010190602001808311612ef657829003601f168201915b5050505050905090565b600a5481565b6000612f2d61289f565b9050612f3881613a97565b612f48662386f26fc10000611fca565b50612f6233612f5561212a565b662386f26fc10000613662565b60006024600083815260200190815260200160002060006101000a81548160ff0219169083151502179055506000602560008381526020019081526020016000208190555060006022600083815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b612fe033826134de565b6000612fea61289f565b148015613020575060148160405161300291906156f8565b908152602001604051809103902060009054906101000a900460ff16155b1561318957600a600081548092919061303890615765565b9190505550600a54601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000613093600a54338442614694565b90506000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508060166000600a548152602001908152602001600020819055508160176000838152602001908152602001600020908051906020019061312e929190614aae565b5033601c6000600a54815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506131bb565b6040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6131c66138da565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161322d9061596c565b60405180910390fd5b61323f81614164565b50565b600061324c6138da565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061328033836134de565b600061328b836139e4565b90506024600082815260200190815260200160002060009054906101000a900460ff16156132c3576132bc81613af1565b91506132c8565b600091505b50919050565b6000601c600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161337a906159fe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156133f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133ea90615a90565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516134d19190614cf9565b60405180910390a3505050565b600082826040516020016134f3929190615ab0565b60405160208183030381529060405280519060200120905060008360405160200161351e91906152d0565b6040516020818303038152906040528051906020012090506000846040516020016135499190615b06565b6040516020818303038152906040528051906020012090508183141561359b576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808314156135d5576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b601560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661365f576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156136d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136c990615ba6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161373990615c38565b60405180910390fd5b61374d8383836146cd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156137d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137ca90615cca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138c19190614cf9565b60405180910390a36138d48484846146d2565b50505050565b6138e261330b565b73ffffffffffffffffffffffffffffffffffffffff1661390061212a565b73ffffffffffffffffffffffffffffffffffffffff1614613956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161394d90615d36565b60405180910390fd5b565b60006139648484612de1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146139de57818110156139d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139c790615da2565b60405180910390fd5b6139dd8484848403613313565b5b50505050565b60006018826040516139f691906156f8565b9081526020016040518091039020549050919050565b600060166000613a1a61289f565b815260200190815260200160002054905090565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415613a94576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6024600082815260200190815260200160002060009054906101000a900460ff16613aee576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b600060256000838152602001908152602001600020549050919050565b60008183613b1c91906157dd565b905092915050565b6000613b2e61289f565b9050601a6000838152602001908152602001600020601a6000838152602001908152602001600020908054613b62906155bb565b613b6d929190614bc9565b5042601b6000838152602001908152602001600020819055506000601b60008481526020019081526020016000208190555060405180602001604052806000815250601a60008481526020019081526020016000209080519060200190613bd5929190614aae565b5060006023600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060006024600083815260200190815260200160002060006101000a81548160ff021916908315150217905550600060256000838152602001908152602001600020819055505050565b6000613c5561289f565b90506000613c6233614358565b90506000601660008681526020019081526020016000205490506000613c87866132ce565b90506000613c9482614358565b9050856019613ca1611382565b604051613cae91906156f8565b90815260200160405180910390209080519060200190613ccf929190614aae565b506000601e600086815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e600083815260200190815260200160002060006101000a81548160ff02191690831515021790555080602060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190613dbf929190614aae565b5084601887604051613dd191906156f8565b9081526020016040518091039020819055506001601f600087815260200190815260200160002060006101000a81548160ff02191690831515021790555060006022600087815260200190815260200160002060006101000a81548160ff02191690831515021790555060006024600087815260200190815260200160002060006101000a81548160ff0219169083151502179055506000602560008781526020019081526020016000208190555060405180602001604052806000815250601960176000868152602001908152602001600020604051613eb29190615e56565b90815260200160405180910390209080519060200190613ed3929190614aae565b506000602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060405180602001604052806000815250601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190613f7b929190614aae565b506000601f600089815260200190815260200160002060006101000a81548160ff02191690831515021790555060006022600089815260200190815260200160002060006101000a81548160ff02191690831515021790555060006024600089815260200190815260200160002060006101000a81548160ff0219169083151502179055506000602560008981526020019081526020016000208190555050505050505050565b61402d602754612834565b15614064576040517f38df767700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6aa56fa5b99019a5c8000000602a5410156140a7576301312d0060c861408b602754610d76565b614095919061580e565b10156140a6576140a560c86146d7565b5b5b6aa56fa5b99019a5c8000000602a54101580156140d157506b019d971e4fe8401e74000000602a54105b15614104576301c9c38060966140e8602754610d76565b6140f2919061580e565b10156141035761410260966146d7565b5b5b6b019d971e4fe8401e74000000602a541015801561412f57506b0295be96e640669720000000602a54105b15614162576301c9c3806064614146602754610d76565b614150919061580e565b10156141615761416060646146d7565b5b5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6007600081548092919061423d90615765565b91905055508160096000828254614254919061570f565b925050819055506040518060c001604052806007548152602001858152602001848152602001838152602001828152602001428152506010600060075481526020019081526020016000206000820151816000015560208201518160010190805190602001906142c5929190614aae565b5060408201518160020190805190602001906142e2929190614aae565b50606082015181600301556080820151816004015560a0820151816005015590505080600b6000828254614316919061570f565b9250508190555061432785826148e9565b5050505050565b60006023600083815260200190815260200160002060009054906101000a900460ff169050919050565b6000602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60011515601e600083815260200190815260200160002060009054906101000a900460ff16151514614408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016143ff90615eb9565b60405180910390fd5b50565b6008600081548092919061441e90615765565b9190505550600060405180608001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381525090506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006144c182614a61565b905080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816011600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908051906020019061457e929190614aae565b5060408201518160020155606082015181600301559050508060126000600854815260200190815260200160002081905550600854600f6000838152602001908152602001600020819055506000600c600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050565b61460561212a565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561464a573d6000803e3d6000fd5b5061465f33614657612e68565b85858561422a565b505050565b6000816040516020016146779190614dad565b604051602081830303815290604052805190602001209050919050565b6000848484846040516020016146ad9493929190615ed9565b604051602081830303815290604052805190602001209050949350505050565b505050565b505050565b80602a60008282546146e9919061570f565b925050819055506000602e60006027548152602001908152602001600020600081548092919061471890615765565b919050559050604051806060016040528061473161289f565b815260200183815260200142815250602f6000602754815260200190815260200160002060008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506000602c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561488257602b60008154809291906147e290615765565b9190505550602b54602c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033602d6000602b54815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61489f33670de0b6b3a76400008461489a919061580e565b6148e9565b6001603060006148ad613a0c565b81526020019081526020016000206000602754815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161495090615f71565b60405180910390fd5b614965600083836146cd565b6b06c9144c1c690d4cb400000081600254614980919061570f565b116149eb578060026000828254614997919061570f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051614a499190614cf9565b60405180910390a3614a5d600083836146d2565b5050565b600081604051602001614a74919061535d565b604051602081830303815290604052805190602001209050919050565b604051806040016040528060008019168152602001606081525090565b828054614aba906155bb565b90600052602060002090601f016020900481019282614adc5760008555614b23565b82601f10614af557805160ff1916838001178555614b23565b82800160010185558215614b23579182015b82811115614b22578251825591602001919060010190614b07565b5b509050614b309190614c56565b5090565b60405180606001604052806000815260200160008152602001600081525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600081525090565b6040518060c001604052806000815260200160608152602001606081526020016000815260200160008152602001600081525090565b828054614bd5906155bb565b90600052602060002090601f016020900481019282614bf75760008555614c45565b82601f10614c085780548555614c45565b82800160010185558215614c4557600052602060002091601f016020900482015b82811115614c44578254825591600101919060010190614c29565b5b509050614c529190614c56565b5090565b5b80821115614c6f576000816000905550600101614c57565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b614c9a81614c87565b8114614ca557600080fd5b50565b600081359050614cb781614c91565b92915050565b600060208284031215614cd357614cd2614c7d565b5b6000614ce184828501614ca8565b91505092915050565b614cf381614c87565b82525050565b6000602082019050614d0e6000830184614cea565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614d4e578082015181840152602081019050614d33565b83811115614d5d576000848401525b50505050565b6000601f19601f8301169050919050565b6000614d7f82614d14565b614d898185614d1f565b9350614d99818560208601614d30565b614da281614d63565b840191505092915050565b60006020820190508181036000830152614dc78184614d74565b905092915050565b6000819050919050565b614de281614dcf565b82525050565b600082825260208201905092915050565b6000614e0482614d14565b614e0e8185614de8565b9350614e1e818560208601614d30565b614e2781614d63565b840191505092915050565b6000604083016000830151614e4a6000860182614dd9565b5060208301518482036020860152614e628282614df9565b9150508091505092915050565b60006020820190508181036000830152614e898184614e32565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614ebc82614e91565b9050919050565b614ecc81614eb1565b8114614ed757600080fd5b50565b600081359050614ee981614ec3565b92915050565b60008060408385031215614f0657614f05614c7d565b5b6000614f1485828601614eda565b9250506020614f2585828601614ca8565b9150509250929050565b60008115159050919050565b614f4481614f2f565b82525050565b6000602082019050614f5f6000830184614f3b565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614fa782614d63565b810181811067ffffffffffffffff82111715614fc657614fc5614f6f565b5b80604052505050565b6000614fd9614c73565b9050614fe58282614f9e565b919050565b600067ffffffffffffffff82111561500557615004614f6f565b5b61500e82614d63565b9050602081019050919050565b82818337600083830152505050565b600061503d61503884614fea565b614fcf565b90508281526020810184848401111561505957615058614f6a565b5b61506484828561501b565b509392505050565b600082601f83011261508157615080614f65565b5b813561509184826020860161502a565b91505092915050565b6000602082840312156150b0576150af614c7d565b5b600082013567ffffffffffffffff8111156150ce576150cd614c82565b5b6150da8482850161506c565b91505092915050565b600080604083850312156150fa576150f9614c7d565b5b600061510885828601614ca8565b925050602061511985828601614ca8565b9150509250929050565b61512c81614c87565b82525050565b6060820160008201516151486000850182615123565b50602082015161515b6020850182615123565b50604082015161516e6040850182615123565b50505050565b60006060820190506151896000830184615132565b92915050565b6000806000606084860312156151a8576151a7614c7d565b5b60006151b686828701614eda565b93505060206151c786828701614eda565b92505060406151d886828701614ca8565b9150509250925092565b6151eb81614dcf565b82525050565b600060208201905061520660008301846151e2565b92915050565b60006020828403121561522257615221614c7d565b5b600061523084828501614eda565b91505092915050565b61524281614f2f565b811461524d57600080fd5b50565b60008135905061525f81615239565b92915050565b6000806040838503121561527c5761527b614c7d565b5b600083013567ffffffffffffffff81111561529a57615299614c82565b5b6152a68582860161506c565b92505060206152b785828601615250565b9150509250929050565b6152ca81614eb1565b82525050565b60006020820190506152e560008301846152c1565b92915050565b6152f481614eb1565b82525050565b600060808301600083015161531260008601826152eb565b506020830151848203602086015261532a8282614df9565b915050604083015161533f6040860182615123565b5060608301516153526060860182615123565b508091505092915050565b6000602082019050818103600083015261537781846152fa565b905092915050565b61538881614dcf565b811461539357600080fd5b50565b6000813590506153a58161537f565b92915050565b6000602082840312156153c1576153c0614c7d565b5b60006153cf84828501615396565b91505092915050565b6000806000606084860312156153f1576153f0614c7d565b5b60006153ff86828701614ca8565b935050602061541086828701614ca8565b925050604061542186828701615250565b9150509250925092565b600060c0830160008301516154436000860182615123565b506020830151848203602086015261545b8282614df9565b915050604083015184820360408601526154758282614df9565b915050606083015161548a6060860182615123565b50608083015161549d6080860182615123565b5060a08301516154b060a0860182615123565b508091505092915050565b600060208201905081810360008301526154d5818461542b565b905092915050565b6000806000606084860312156154f6576154f5614c7d565b5b600084013567ffffffffffffffff81111561551457615513614c82565b5b6155208682870161506c565b935050602061553186828701614ca8565b925050604061554286828701614ca8565b9150509250925092565b6000806040838503121561556357615562614c7d565b5b600061557185828601614eda565b925050602061558285828601614eda565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806155d357607f821691505b602082108114156155e7576155e661558c565b5b50919050565b7f6d616e616765723a2063616c6c6572206973206e6f74207468652061646d696e600082015250565b6000615623602083614d1f565b915061562e826155ed565b602082019050919050565b6000602082019050818103600083015261565281615616565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061569382614c87565b915061569e83614c87565b9250828210156156b1576156b0615659565b5b828203905092915050565b600081905092915050565b60006156d282614d14565b6156dc81856156bc565b93506156ec818560208601614d30565b80840191505092915050565b600061570482846156c7565b915081905092915050565b600061571a82614c87565b915061572583614c87565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561575a57615759615659565b5b828201905092915050565b600061577082614c87565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156157a3576157a2615659565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006157e882614c87565b91506157f383614c87565b925082615803576158026157ae565b5b828204905092915050565b600061581982614c87565b915061582483614c87565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561585d5761585c615659565b5b828202905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006158c4602583614d1f565b91506158cf82615868565b604082019050919050565b600060208201905081810360008301526158f3816158b7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615956602683614d1f565b9150615961826158fa565b604082019050919050565b6000602082019050818103600083015261598581615949565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006159e8602483614d1f565b91506159f38261598c565b604082019050919050565b60006020820190508181036000830152615a17816159db565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000615a7a602283614d1f565b9150615a8582615a1e565b604082019050919050565b60006020820190508181036000830152615aa981615a6d565b9050919050565b6000604082019050615ac560008301856152c1565b8181036020830152615ad78184614d74565b90509392505050565b50565b6000615af0600083614d1f565b9150615afb82615ae0565b600082019050919050565b6000604082019050615b1b60008301846152c1565b8181036020830152615b2c81615ae3565b905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615b90602583614d1f565b9150615b9b82615b34565b604082019050919050565b60006020820190508181036000830152615bbf81615b83565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000615c22602383614d1f565b9150615c2d82615bc6565b604082019050919050565b60006020820190508181036000830152615c5181615c15565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000615cb4602683614d1f565b9150615cbf82615c58565b604082019050919050565b60006020820190508181036000830152615ce381615ca7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615d20602083614d1f565b9150615d2b82615cea565b602082019050919050565b60006020820190508181036000830152615d4f81615d13565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000615d8c601d83614d1f565b9150615d9782615d56565b602082019050919050565b60006020820190508181036000830152615dbb81615d7f565b9050919050565b60008190508160005260206000209050919050565b60008154615de4816155bb565b615dee81866156bc565b94506001821660008114615e095760018114615e1a57615e4d565b60ff19831686528186019350615e4d565b615e2385615dc2565b60005b83811015615e4557815481890152600182019150602081019050615e26565b838801955050505b50505092915050565b6000615e628284615dd7565b915081905092915050565b7f646964206e6f7420657869737400000000000000000000000000000000000000600082015250565b6000615ea3600d83614d1f565b9150615eae82615e6d565b602082019050919050565b60006020820190508181036000830152615ed281615e96565b9050919050565b6000608082019050615eee6000830187614cea565b615efb60208301866152c1565b8181036040830152615f0d8185614d74565b9050615f1c6060830184614cea565b95945050505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000615f5b601f83614d1f565b9150615f6682615f25565b602082019050919050565b60006020820190508181036000830152615f8a81615f4e565b905091905056fea264697066735822122047939c068dba3916446e26234cc8b793626b815d71a697fafa19bce702b3cb7764736f6c634300080a0033