0x60806040526000601560146101000a81548160ff02191690831515021790555034801561002b57600080fd5b50613e128061003b6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063893d20e8116100ad578063bba8d2af11610071578063bba8d2af146102f8578063d662657814610314578063dd62ed3e14610330578063e05ee18a14610360578063f2fde38b1461037c57610121565b8063893d20e81461025457806395d89b41146102725780639dc29fac14610290578063a571fdd7146102ac578063a9059cbb146102c857610121565b806325e679c7116100f457806325e679c7146101c2578063313ce567146101e0578063635aedd5146101fe57806370a082311461021a578063715018a61461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e610398565b60405161013b9190613290565b60405180910390f35b61015e60048036038101906101599190612da2565b61042a565b60405161016b9190613275565b60405180910390f35b61017c610448565b60405161018991906133d2565b60405180910390f35b6101ac60048036038101906101a79190612d0f565b610452565b6040516101b99190613275565b60405180910390f35b6101ca61052b565b6040516101d79190613231565b60405180910390f35b6101e8610555565b6040516101f5919061341d565b60405180910390f35b61021860048036038101906102139190612ea3565b61056c565b005b610234600480360381019061022f9190612c75565b610db4565b60405161024191906133d2565b60405180910390f35b610252610dfd565b005b61025c610e9e565b6040516102699190613231565b60405180910390f35b61027a610ec7565b6040516102879190613290565b60405180910390f35b6102aa60048036038101906102a59190612da2565b610f59565b005b6102c660048036038101906102c19190612fcf565b610fc8565b005b6102e260048036038101906102dd9190612da2565b611033565b6040516102ef9190613275565b60405180910390f35b610312600480360381019061030d9190612de2565b611051565b005b61032e60048036038101906103299190612d62565b6113c2565b005b61034a60048036038101906103459190612ccf565b6114b2565b60405161035791906133d2565b60405180910390f35b61037a60048036038101906103759190612c75565b611539565b005b61039660048036038101906103919190612c75565b6115f5565b005b6060600480546103a7906138ed565b80601f01602080910402602001604051908101604052809291908181526020018280546103d3906138ed565b80156104205780601f106103f557610100808354040283529160200191610420565b820191906000526020600020905b81548152906001019060200180831161040357829003601f168201915b5050505050905090565b600061043e610437611706565b848461170e565b6001905092915050565b6000600154905090565b600061045f8484846118a2565b6105208461046b611706565b61051b85604051806060016040528060288152602001613db560289139600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d1611706565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127569092919063ffffffff16565b61170e565b600190509392505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900460ff16905090565b601560149054906101000a900460ff161561058657600080fd5b6001601560146101000a81548160ff0219169083151502179055506105a9611706565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508a600490805190602001906105fe9291906129a8565b5089600390805190602001906106159291906129a8565b5086600260006101000a81548160ff021916908360ff16021790555088600260009054906101000a900460ff16600a61064e91906136aa565b600161065a91906137c8565b61066491906137c8565b60018190555087600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600f60146101000a81548160ff021916908360ff1602179055508560058190555081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661077d919061353b565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661082c919061353b565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555030601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c65396601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016109c892919061324c565b602060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a9190612ca2565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6007600154610a6b91906137c8565b610a7591906135db565b60076000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a6003600154610aeb91906137c8565b610af591906135db565b60076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060001960086000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d1d610dfd565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600154604051610d9f91906133d2565b60405180910390a35050505050505050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e05611706565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8990613332565b60405180910390fd5b610e9c60006127ab565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610ed6906138ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610f02906138ed565b8015610f4f5780601f10610f2457610100808354040283529160200191610f4f565b820191906000526020600020905b815481529060010190602001808311610f3257829003601f168201915b5050505050905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f9a611706565b73ffffffffffffffffffffffffffffffffffffffff1614610fba57600080fd5b610fc4828261286f565b5050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611009611706565b73ffffffffffffffffffffffffffffffffffffffff161461102957600080fd5b8060058190555050565b6000611047611040611706565b84846118a2565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611092611706565b73ffffffffffffffffffffffffffffffffffffffff16146110b257600080fd5b60005b825181101561127b57606460015460026110cf91906137c8565b6110d991906135db565b60086000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085848151811061114f5761114e613a26565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111f6600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168483815181106111ce576111cd613a26565b5b6020026020010151606460015460026111e791906137c8565b6111f191906135db565b6118a2565b6001600c600085848151811061120f5761120e613a26565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061127390613950565b9150506110b5565b5060005b81518110156113bd576103e860015461129891906135db565b60086000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084848151811061130e5761130d613a26565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113aa600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811061138d5761138c613a26565b5b60200260200101516103e86001546113a591906135db565b6118a2565b80806113b590613950565b91505061127f565b505050565b6113ca611706565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144e90613332565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157a611706565b73ffffffffffffffffffffffffffffffffffffffff161461159a57600080fd5b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6115fd611706565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613332565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f1906132f2565b60405180910390fd5b611703816127ab565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117785750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906133b2565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161189591906133d2565b60405180910390a3505050565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118f957600080fd5b6000600267ffffffffffffffff81111561191657611915613a55565b5b6040519080825280602002602001820160405280156119445781602001602082028036833780820191505090505b509050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119ee5750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80611a9c5750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a9b5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e2057600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b455750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7b906132b2565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611bbb57611bba613a26565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611c2c57611c2b613a26565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f00ca7484846040518363ffffffff1660e01b8152600401611cc59291906133ed565b60006040518083038186803b158015611cdd57600080fd5b505afa158015611cf1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611d1a9190612e5a565b600081518110611d2d57611d2c613a26565b5b6020026020010151905080600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d869190613585565b925050819055506000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611e1a5743600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5061246a565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661246957600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f155750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4b90613372565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ffb5750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b806120a95750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156120a85750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b5b1561246857600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561213b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213290613392565b60405180910390fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160008151811061217257612171613a26565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106121e3576121e2613a26565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84846040518363ffffffff1660e01b815260040161227c9291906133ed565b60006040518083038186803b15801561229457600080fd5b505afa1580156122a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906122d19190612e5a565b6001815181106122e4576122e3613a26565b5b602002602001015190506005546002600f60149054906101000a900460ff1661230d9190613822565b60ff16600a61231c919061365f565b600161232891906137c8565b61233291906137c8565b811115612374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236b90613312565b60405180910390fd5b600a600c600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c291906137c8565b6123cc91906135db565b81111561240e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240590613312565b60405180910390fd5b6001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505b5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156125155750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156125a757600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259d906132d2565b60405180910390fd5b5b61261382604051806060016040528060268152602001613d8f60269139600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127569092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299290919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161274891906133d2565b60405180910390a350505050565b600083831115829061279e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127959190613290565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128d690613352565b60405180910390fd5b61294b81604051806060016040528060228152602001613d6d60229139600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127569092919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600081836129a09190613585565b905092915050565b8280546129b4906138ed565b90600052602060002090601f0160209004810192826129d65760008555612a1d565b82601f106129ef57805160ff1916838001178555612a1d565b82800160010185558215612a1d579182015b82811115612a1c578251825591602001919060010190612a01565b5b509050612a2a9190612a2e565b5090565b5b80821115612a47576000816000905550600101612a2f565b5090565b6000612a5e612a598461345d565b613438565b90508083825260208201905082856020860282011115612a8157612a80613a89565b5b60005b85811015612ab15781612a978882612b6d565b845260208401935060208301925050600181019050612a84565b5050509392505050565b6000612ace612ac984613489565b613438565b90508083825260208201905082856020860282011115612af157612af0613a89565b5b60005b85811015612b215781612b078882612c4b565b845260208401935060208301925050600181019050612af4565b5050509392505050565b6000612b3e612b39846134b5565b613438565b905082815260208101848484011115612b5a57612b59613a8e565b5b612b658482856138ab565b509392505050565b600081359050612b7c81613d10565b92915050565b600081519050612b9181613d10565b92915050565b600082601f830112612bac57612bab613a84565b5b8135612bbc848260208601612a4b565b91505092915050565b600082601f830112612bda57612bd9613a84565b5b8151612bea848260208601612abb565b91505092915050565b600081359050612c0281613d27565b92915050565b600082601f830112612c1d57612c1c613a84565b5b8135612c2d848260208601612b2b565b91505092915050565b600081359050612c4581613d3e565b92915050565b600081519050612c5a81613d3e565b92915050565b600081359050612c6f81613d55565b92915050565b600060208284031215612c8b57612c8a613a98565b5b6000612c9984828501612b6d565b91505092915050565b600060208284031215612cb857612cb7613a98565b5b6000612cc684828501612b82565b91505092915050565b60008060408385031215612ce657612ce5613a98565b5b6000612cf485828601612b6d565b9250506020612d0585828601612b6d565b9150509250929050565b600080600060608486031215612d2857612d27613a98565b5b6000612d3686828701612b6d565b9350506020612d4786828701612b6d565b9250506040612d5886828701612c36565b9150509250925092565b60008060408385031215612d7957612d78613a98565b5b6000612d8785828601612b6d565b9250506020612d9885828601612bf3565b9150509250929050565b60008060408385031215612db957612db8613a98565b5b6000612dc785828601612b6d565b9250506020612dd885828601612c36565b9150509250929050565b60008060408385031215612df957612df8613a98565b5b600083013567ffffffffffffffff811115612e1757612e16613a93565b5b612e2385828601612b97565b925050602083013567ffffffffffffffff811115612e4457612e43613a93565b5b612e5085828601612b97565b9150509250929050565b600060208284031215612e7057612e6f613a98565b5b600082015167ffffffffffffffff811115612e8e57612e8d613a93565b5b612e9a84828501612bc5565b91505092915050565b60008060008060008060008060008060006101608c8e031215612ec957612ec8613a98565b5b60008c013567ffffffffffffffff811115612ee757612ee6613a93565b5b612ef38e828f01612c08565b9b505060208c013567ffffffffffffffff811115612f1457612f13613a93565b5b612f208e828f01612c08565b9a50506040612f318e828f01612c36565b9950506060612f428e828f01612b6d565b9850506080612f538e828f01612c60565b97505060a0612f648e828f01612c36565b96505060c0612f758e828f01612b6d565b95505060e0612f868e828f01612b6d565b945050610100612f988e828f01612b6d565b935050610120612faa8e828f01612b6d565b925050610140612fbc8e828f01612b6d565b9150509295989b509295989b9093969950565b600060208284031215612fe557612fe4613a98565b5b6000612ff384828501612c36565b91505092915050565b60006130088383613014565b60208301905092915050565b61301d81613856565b82525050565b61302c81613856565b82525050565b600061303d826134f6565b6130478185613519565b9350613052836134e6565b8060005b8381101561308357815161306a8882612ffc565b97506130758361350c565b925050600181019050613056565b5085935050505092915050565b61309981613868565b82525050565b60006130aa82613501565b6130b4818561352a565b93506130c48185602086016138ba565b6130cd81613a9d565b840191505092915050565b60006130e5602c8361352a565b91506130f082613abb565b604082019050919050565b600061310860098361352a565b915061311382613b0a565b602082019050919050565b600061312b60268361352a565b915061313682613b33565b604082019050919050565b600061314e60268361352a565b915061315982613b82565b604082019050919050565b600061317160208361352a565b915061317c82613bd1565b602082019050919050565b600061319460218361352a565b915061319f82613bfa565b604082019050919050565b60006131b760258361352a565b91506131c282613c49565b604082019050919050565b60006131da60208361352a565b91506131e582613c98565b602082019050919050565b60006131fd60278361352a565b915061320882613cc1565b604082019050919050565b61321c81613894565b82525050565b61322b8161389e565b82525050565b60006020820190506132466000830184613023565b92915050565b60006040820190506132616000830185613023565b61326e6020830184613023565b9392505050565b600060208201905061328a6000830184613090565b92915050565b600060208201905081810360008301526132aa818461309f565b905092915050565b600060208201905081810360008301526132cb816130d8565b9050919050565b600060208201905081810360008301526132eb816130fb565b9050919050565b6000602082019050818103600083015261330b8161311e565b9050919050565b6000602082019050818103600083015261332b81613141565b9050919050565b6000602082019050818103600083015261334b81613164565b9050919050565b6000602082019050818103600083015261336b81613187565b9050919050565b6000602082019050818103600083015261338b816131aa565b9050919050565b600060208201905081810360008301526133ab816131cd565b9050919050565b600060208201905081810360008301526133cb816131f0565b9050919050565b60006020820190506133e76000830184613213565b92915050565b60006040820190506134026000830185613213565b81810360208301526134148184613032565b90509392505050565b60006020820190506134326000830184613222565b92915050565b6000613442613453565b905061344e828261391f565b919050565b6000604051905090565b600067ffffffffffffffff82111561347857613477613a55565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156134a4576134a3613a55565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156134d0576134cf613a55565b5b6134d982613a9d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061354682613874565b915061355183613874565b92508273ffffffffffffffffffffffffffffffffffffffff0382111561357a57613579613999565b5b828201905092915050565b600061359082613894565b915061359b83613894565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135d0576135cf613999565b5b828201905092915050565b60006135e682613894565b91506135f183613894565b925082613601576136006139c8565b5b828204905092915050565b6000808291508390505b60018511156136565780860481111561363257613631613999565b5b60018516156136415780820291505b808102905061364f85613aae565b9450613616565b94509492505050565b600061366a82613894565b915061367583613894565b92506136a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846136f5565b905092915050565b60006136b582613894565b91506136c08361389e565b92506136ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846136f5565b905092915050565b60008261370557600190506137c1565b8161371357600090506137c1565b8160018114613729576002811461373357613762565b60019150506137c1565b60ff84111561374557613744613999565b5b8360020a91508482111561375c5761375b613999565b5b506137c1565b5060208310610133831016604e8410600b84101617156137975782820a90508381111561379257613791613999565b5b6137c1565b6137a4848484600161360c565b925090508184048111156137bb576137ba613999565b5b81810290505b9392505050565b60006137d382613894565b91506137de83613894565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561381757613816613999565b5b828202905092915050565b600061382d8261389e565b91506138388361389e565b92508282101561384b5761384a613999565b5b828203905092915050565b600061386182613874565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156138d85780820151818401526020810190506138bd565b838111156138e7576000848401525b50505050565b6000600282049050600182168061390557607f821691505b60208210811415613919576139186139f7565b5b50919050565b61392882613a9d565b810181811067ffffffffffffffff8211171561394757613946613a55565b5b80604052505050565b600061395b82613894565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561398e5761398d613999565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e736665722066726f6d2074686520626c61636b6c6960008201527f7374656420616464726573730000000000000000000000000000000000000000602082015250565b7f7374682077726f6e670000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e73666572206973207374696c6c2070656e64696e67600082015250565b7f45524332303a20617070726f76652066726f6d2f746f20746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b613d1981613856565b8114613d2457600080fd5b50565b613d3081613868565b8114613d3b57600080fd5b50565b613d4781613894565b8114613d5257600080fd5b50565b613d5e8161389e565b8114613d6957600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b234fb2c18d5063954e77e844098adde0ffb0add040358c2bea5c0b294e8430964736f6c63430008070033