606060405260006004556000600560006101000a81548160ff021916908315150217905550604060405190810160405280600b81526020017f4d6163726f20746f6b656e00000000000000000000000000000000000000000081525060069080519060200190620000729291906200017f565b50604060405190810160405280600581526020017f4d6163726f00000000000000000000000000000000000000000000000000000081525060079080519060200190620000c19291906200017f565b50604060405190810160405280600381526020017f4d4352000000000000000000000000000000000000000000000000000000000081525060089080519060200190620001109291906200017f565b506008600960006101000a81548160ff021916908360ff16021790555034156200013657fe5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6200022e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c257805160ff1916838001178555620001f3565b82800160010185558215620001f3579182015b82811115620001f2578251825591602001919060010190620001d5565b5b50905062000202919062000206565b5090565b6200022b91905b80821115620002275760008160009055506001016200020d565b5090565b90565b61327b806200023e6000396000f300606060405236156101d6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ce5e75146101d857806306fdde03146101fe578063095ea7b3146102975780631703c11a146102ee57806318160ddd146103245780631beb375d1461034a5780631c02708d1461039c578063215ac4be146103ae57806323b872dd146103b8578063240ecad51461042e57806326cb83b9146104a457806330322b12146104da578063313ce567146105005780633e8a0bc91461052c57806340c10f19146105565780635a3b7e42146105ad5780635a74a7151461064657806367da299b146106665780636e98a92b1461068c57806370a08231146106de57806373e2faa814610728578063746584b41461077a57806380a5cca3146107b0578063824563f6146108265780638908e693146108785780638f3e8747146108ae57806391cca3db146108db57806395d89b411461092d578063a24835d1146109c6578063a2b144f014610a1d578063a9059cbb14610a2f578063bb5adf1414610a86578063cacc24eb14610abc578063cae9ca5114610b51578063d9c693cb14610beb578063dd62ed3e14610bfd578063e3dea4b714610c66578063e66f53b714610c86575bfe5b34156101e057fe5b6101e8610cd8565b6040518082815260200191505060405180910390f35b341561020657fe5b61020e610d86565b604051808060200182810382528381815181526020019150805190602001908083836000831461025d575b80518252602083111561025d57602082019150602081019050602083039250610239565b505050905090810190601f1680156102895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029f57fe5b6102d4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e24565b604051808215151515815260200191505060405180910390f35b34156102f657fe5b610322600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eda565b005b341561032c57fe5b610334610f7c565b6040518082815260200191505060405180910390f35b341561035257fe5b61035a610f82565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a457fe5b6103ac610fad565b005b6103b6611047565b005b34156103c057fe5b610414600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110a7565b604051808215151515815260200191505060405180910390f35b341561043657fe5b61048a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611367565b604051808215151515815260200191505060405180910390f35b34156104ac57fe5b6104d8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116e5565b005b34156104e257fe5b6104ea611787565b6040518082815260200191505060405180910390f35b341561050857fe5b61051061178d565b604051808260ff1660ff16815260200191505060405180910390f35b341561053457fe5b61053c6117a0565b604051808215151515815260200191505060405180910390f35b341561055e57fe5b610593600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506117b3565b604051808215151515815260200191505060405180910390f35b34156105b557fe5b6105bd611995565b604051808060200182810382528381815181526020019150805190602001908083836000831461060c575b80518252602083111561060c576020820191506020810190506020830392506105e8565b505050905090810190601f1680156106385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561064e57fe5b6106646004808035906020019091905050611a33565b005b341561066e57fe5b610676611a9b565b6040518082815260200191505060405180910390f35b341561069457fe5b61069c611aa1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106e657fe5b610712600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611acc565b6040518082815260200191505060405180910390f35b341561073057fe5b610738611b16565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561078257fe5b6107ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b3c565b005b34156107b857fe5b61080c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611bde565b604051808215151515815260200191505060405180910390f35b341561082e57fe5b610836611e67565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561088057fe5b6108ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8d565b005b34156108b657fe5b6108be611f2f565b604051808381526020018281526020019250505060405180910390f35b34156108e357fe5b6108eb611f42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561093557fe5b61093d611f68565b604051808060200182810382528381815181526020019150805190602001908083836000831461098c575b80518252602083111561098c57602082019150602081019050602083039250610968565b505050905090810190601f1680156109b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109ce57fe5b610a03600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612006565b604051808215151515815260200191505060405180910390f35b3415610a2557fe5b610a2d612193565b005b3415610a3757fe5b610a6c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061248f565b604051808215151515815260200191505060405180910390f35b3415610a8e57fe5b610aba600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061263a565b005b3415610ac457fe5b610b37600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506126dc565b604051808215151515815260200191505060405180910390f35b3415610b5957fe5b610bd1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612b6f565b604051808215151515815260200191505060405180910390f35b3415610bf357fe5b610bfb612d63565b005b3415610c0557fe5b610c50600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612e47565b6040518082815260200191505060405180910390f35b3415610c6e57fe5b610c846004808035906020019091905050612ecf565b005b3415610c8e57fe5b610c96612f37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ce5e756000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b1515610d6857fe5b6102c65a03f11515610d7657fe5b5050506040518051905090505b90565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e1c5780601f10610df157610100808354040283529160200191610e1c565b820191906000526020600020905b815481529060010190602001808311610dff57829003601f168201915b505050505081565b6000600560009054906101000a900460ff1615610e415760006000fd5b81600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ecf6001338585612f5d565b600190505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f375760006000fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60045481565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561100a5760006000fd5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110a45760006000fd5b5b565b600081600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110f65760006000fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156111855760006000fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561120f5760006000fd5b600560009054906101000a900460ff161561122a5760006000fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506112d160018585856130d6565b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600190505b9392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663245a6f74336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561142b57fe5b6102c65a03f1151561143957fe5b50505060405180519050151561144f5760006000fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561149c5760006000fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111151561152b5760006000fd5b600560009054906101000a900460ff16156115465760006000fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c67980336000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b151561166e57fe5b6102c65a03f1151561167c57fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156116cb576116c660008585856130d6565b6116d9565b6116d860018585856130d6565b5b600190505b9392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117425760006000fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600e5481565b600960009054906101000a900460ff1681565b600560009054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118125760006000fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110156118a05760006000fd5b600454826004540110156118b45760006000fd5b8160046000828254019250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a161198a6001600085856130d6565b600190505b92915050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a2b5780601f10611a0057610100808354040283529160200191611a2b565b820191906000526020600020905b815481529060010190602001808311611a0e57829003601f168201915b505050505081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a905760006000fd5b80600e819055505b50565b600f5481565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b995760006000fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663245a6f74336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611ca257fe5b6102c65a03f11515611cb057fe5b505050604051805190501515611cc65760006000fd5b600560009054906101000a900460ff1615611ce15760006000fd5b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c67980336000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b1515611df057fe5b6102c65a03f11515611dfe57fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e4d57611e486000858585612f5d565b611e5b565b611e5a6001858585612f5d565b5b600190505b9392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eea5760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60006000600e54600f54915091505b9091565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ffe5780601f10611fd357610100808354040283529160200191611ffe565b820191906000526020600020905b815481529060010190602001808311611fe157829003601f168201915b505050505081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120655760006000fd5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156120b25760006000fd5b8160046000828254039250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16121886001846000856130d6565b600190505b92915050565b600f54600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121e25760006000fd5b600f54600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156122b65760006000fd5b600f54600e54023073ffffffffffffffffffffffffffffffffffffffff163110156122e15760006000fd5b600f54600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600f54600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506123d6600133600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f54600e54026130d6565b3373ffffffffffffffffffffffffffffffffffffffff166108fc600f54600e54029081150290604051809050600060405180830381858888f19350505050151561248c577fc292aae3b9bf651e65f521a5838f96b10802240c7ca57e489555acf55c5a054b33600f54600e5402604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156124de5760006000fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111151561256d5760006000fd5b600560009054906101000a900460ff16156125885760006000fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061262f60013385856130d6565b600190505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126975760006000fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663245a6f74336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156127a057fe5b6102c65a03f115156127ae57fe5b5050506040518051905015156127c45760006000fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156128115760006000fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156128a05760006000fd5b600560009054906101000a900460ff16156128bb5760006000fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156129455760006000fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c67980336000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b1515612af757fe5b6102c65a03f11515612b0557fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612b5457612b4f60008685856130d6565b612b62565b612b6160018685856130d6565b5b600190505b949350505050565b6000600083600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508490508073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360008314612cfb575b805182526020831115612cfb57602082019150602081019050602083039250612cd7565b505050905090810190601f168015612d275780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515612d4557fe5b6102c65a03f11515612d5357fe5b505050600191505b509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612e0f5750600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15612e1a5760006000fd5b600560009054906101000a900460ff1615600560006101000a81548160ff0219169083151502179055505b565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f2c5760006000fd5b80600f819055505b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b831561306a57600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630619978d8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561305857fe5b6102c65a03f1151561306657fe5b5050505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b50505050565b83156131e357600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663967a08f78484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15156131d157fe5b6102c65a03f115156131df57fe5b5050505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050505600a165627a7a72305820f8957d9990eb121c65c7d8291d58cffb6c6d57263899ab57c26565cdf95417be0029