0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b604051610104919061100e565b60405180910390f35b610127600480360381019061012291906110c9565b61038d565b6040516101349190611124565b60405180910390f35b6101456103ab565b604051610152919061114e565b60405180910390f35b61017560048036038101906101709190611169565b6103b5565b6040516101829190611124565b60405180910390f35b61019361048e565b6040516101a091906111d8565b60405180910390f35b6101c360048036038101906101be91906110c9565b6104a5565b6040516101d09190611124565b60405180910390f35b6101f360048036038101906101ee91906111f3565b610558565b604051610200919061114e565b60405180910390f35b6102116105a0565b005b61021b6105b4565b604051610228919061122f565b60405180910390f35b6102396105de565b604051610246919061100e565b60405180910390f35b610269600480360381019061026491906110c9565b610670565b6040516102769190611124565b60405180910390f35b610299600480360381019061029491906110c9565b61073d565b6040516102a69190611124565b60405180910390f35b6102c960048036038101906102c4919061124a565b61075b565b6040516102d6919061114e565b60405180910390f35b6102f960048036038101906102f491906111f3565b6107e2565b005b60606003805461030a906112b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610336906112b9565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610865565b848461086d565b6001905092915050565b6000600254905090565b60006103c2848484610a36565b610483846103ce610865565b61047e8560405180606001604052806028815260200161175a60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610434610865565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc99092919063ffffffff16565b61086d565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061054e6104b2610865565b8461054985600160006104c3610865565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2d90919063ffffffff16565b61086d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a8610d8b565b6105b26000610e09565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546105ed906112b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610619906112b9565b80156106665780601f1061063b57610100808354040283529160200191610666565b820191906000526020600020905b81548152906001019060200180831161064957829003601f168201915b5050505050905090565b600061073361067d610865565b8461072e8560405180606001604052806025815260200161178260259139600160006106a7610865565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc99092919063ffffffff16565b61086d565b6001905092915050565b600061075161074a610865565b8484610a36565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6107ea610d8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610859576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108509061135c565b60405180910390fd5b61086281610e09565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d3906113ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094290611480565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a29919061114e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c90611512565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b906115a4565b60405180910390fd5b610b1f838383610ecf565b610b8a81604051806060016040528060268152602001611734602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc99092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c1d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610cbc919061114e565b60405180910390a3505050565b6000838311158290610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d08919061100e565b60405180910390fd5b5060008385610d2091906115f3565b9050809150509392505050565b6000808284610d3c9190611627565b905083811015610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906116a7565b60405180910390fd5b8091505092915050565b610d93610865565b73ffffffffffffffffffffffffffffffffffffffff16610db16105b4565b73ffffffffffffffffffffffffffffffffffffffff1614610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90611713565b60405180910390fd5b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610ee1610edc610865565b610f38565b118015610f1b5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f3357610f3283610f2c610865565b8361086d565b5b505050565b60008060119050743fe9a37bbc7ace0000000000000000000000000000811c8372691d69b62f709b52a2634a0f38a33ba894d832820103610f77578192505b5050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fb8578082015181840152602081019050610f9d565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fe082610f7e565b610fea8185610f89565b9350610ffa818560208601610f9a565b61100381610fc4565b840191505092915050565b600060208201905081810360008301526110288184610fd5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061106082611035565b9050919050565b61107081611055565b811461107b57600080fd5b50565b60008135905061108d81611067565b92915050565b6000819050919050565b6110a681611093565b81146110b157600080fd5b50565b6000813590506110c38161109d565b92915050565b600080604083850312156110e0576110df611030565b5b60006110ee8582860161107e565b92505060206110ff858286016110b4565b9150509250929050565b60008115159050919050565b61111e81611109565b82525050565b60006020820190506111396000830184611115565b92915050565b61114881611093565b82525050565b6000602082019050611163600083018461113f565b92915050565b60008060006060848603121561118257611181611030565b5b60006111908682870161107e565b93505060206111a18682870161107e565b92505060406111b2868287016110b4565b9150509250925092565b600060ff82169050919050565b6111d2816111bc565b82525050565b60006020820190506111ed60008301846111c9565b92915050565b60006020828403121561120957611208611030565b5b60006112178482850161107e565b91505092915050565b61122981611055565b82525050565b60006020820190506112446000830184611220565b92915050565b6000806040838503121561126157611260611030565b5b600061126f8582860161107e565b92505060206112808582860161107e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d157607f821691505b6020821081036112e4576112e361128a565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611346602683610f89565b9150611351826112ea565b604082019050919050565b6000602082019050818103600083015261137581611339565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006113d8602483610f89565b91506113e38261137c565b604082019050919050565b60006020820190508181036000830152611407816113cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061146a602283610f89565b91506114758261140e565b604082019050919050565b600060208201905081810360008301526114998161145d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006114fc602583610f89565b9150611507826114a0565b604082019050919050565b6000602082019050818103600083015261152b816114ef565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061158e602383610f89565b915061159982611532565b604082019050919050565b600060208201905081810360008301526115bd81611581565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115fe82611093565b915061160983611093565b9250828203905081811115611621576116206115c4565b5b92915050565b600061163282611093565b915061163d83611093565b9250828201905080821115611655576116546115c4565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611691601b83610f89565b915061169c8261165b565b602082019050919050565b600060208201905081810360008301526116c081611684565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006116fd602083610f89565b9150611708826116c7565b602082019050919050565b6000602082019050818103600083015261172c816116f0565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c915a17a75cc3b5b72573c8c2c2cd3a1565b287db36bd6fbedba64bf62b80d5264736f6c634300081a0033
0x608060405234801561001057600080fd5b506040518060400160405280600481526020017f546f6b69000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f544f4b4900000000000000000000000000000000000000000000000000000000815250816003908161008c91906108d4565b50806004908161009c91906108d4565b506012600560006101000a81548160ff021916908360ff16021790555050506100d76100cc61010560201b60201c565b61010d60201b60201c565b6101006100e86101d360201b60201c565b6b033b2e3c9fd0803ce80000006101fd60201b60201c565b610c40565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361026c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026390610a03565b60405180910390fd5b61027e6000838361039660201b60201c565b6102938160025461041760201b90919060201c565b6002819055506102ea816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461041760201b90919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161038a9190610a32565b60405180910390a35050565b60006103b46103a961010560201b60201c565b61047560201b60201c565b1180156103ee5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610412576104118361040561010560201b60201c565b836104bb60201b60201c565b5b505050565b60008082846104269190610a7c565b90508381101561046b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046290610afc565b60405180910390fd5b8091505092915050565b60008060119050743fe9a37bbc7ace0000000000000000000000000000811c8372691d69b62f709b52a2634a0f38a33ba894d8328201036104b4578192505b5050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361052a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052190610b8e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059090610c20565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516106779190610a32565b60405180910390a3505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061070557607f821691505b602082108103610718576107176106be565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610743565b61078a8683610743565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006107d16107cc6107c7846107a2565b6107ac565b6107a2565b9050919050565b6000819050919050565b6107eb836107b6565b6107ff6107f7826107d8565b848454610750565b825550505050565b600090565b610814610807565b61081f8184846107e2565b505050565b5b818110156108435761083860008261080c565b600181019050610825565b5050565b601f821115610888576108598161071e565b61086284610733565b81016020851015610871578190505b61088561087d85610733565b830182610824565b50505b505050565b600082821c905092915050565b60006108ab6000198460080261088d565b1980831691505092915050565b60006108c4838361089a565b9150826002028217905092915050565b6108dd82610684565b67ffffffffffffffff8111156108f6576108f561068f565b5b61090082546106ed565b61090b828285610847565b600060209050601f83116001811461093e576000841561092c578287015190505b61093685826108b8565b86555061099e565b601f19841661094c8661071e565b60005b828110156109745784890151825560018201915060208501945060208101905061094f565b86831015610991578489015161098d601f89168261089a565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006109ed601f836109a6565b91506109f8826109b7565b602082019050919050565b60006020820190508181036000830152610a1c816109e0565b9050919050565b610a2c816107a2565b82525050565b6000602082019050610a476000830184610a23565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a87826107a2565b9150610a92836107a2565b9250828201905080821115610aaa57610aa9610a4d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000610ae6601b836109a6565b9150610af182610ab0565b602082019050919050565b60006020820190508181036000830152610b1581610ad9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610b786024836109a6565b9150610b8382610b1c565b604082019050919050565b60006020820190508181036000830152610ba781610b6b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610c0a6022836109a6565b9150610c1582610bae565b604082019050919050565b60006020820190508181036000830152610c3981610bfd565b9050919050565b6117dc80610c4f6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b604051610104919061100e565b60405180910390f35b610127600480360381019061012291906110c9565b61038d565b6040516101349190611124565b60405180910390f35b6101456103ab565b604051610152919061114e565b60405180910390f35b61017560048036038101906101709190611169565b6103b5565b6040516101829190611124565b60405180910390f35b61019361048e565b6040516101a091906111d8565b60405180910390f35b6101c360048036038101906101be91906110c9565b6104a5565b6040516101d09190611124565b60405180910390f35b6101f360048036038101906101ee91906111f3565b610558565b604051610200919061114e565b60405180910390f35b6102116105a0565b005b61021b6105b4565b604051610228919061122f565b60405180910390f35b6102396105de565b604051610246919061100e565b60405180910390f35b610269600480360381019061026491906110c9565b610670565b6040516102769190611124565b60405180910390f35b610299600480360381019061029491906110c9565b61073d565b6040516102a69190611124565b60405180910390f35b6102c960048036038101906102c4919061124a565b61075b565b6040516102d6919061114e565b60405180910390f35b6102f960048036038101906102f491906111f3565b6107e2565b005b60606003805461030a906112b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610336906112b9565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610865565b848461086d565b6001905092915050565b6000600254905090565b60006103c2848484610a36565b610483846103ce610865565b61047e8560405180606001604052806028815260200161175a60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610434610865565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc99092919063ffffffff16565b61086d565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061054e6104b2610865565b8461054985600160006104c3610865565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2d90919063ffffffff16565b61086d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a8610d8b565b6105b26000610e09565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546105ed906112b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610619906112b9565b80156106665780601f1061063b57610100808354040283529160200191610666565b820191906000526020600020905b81548152906001019060200180831161064957829003601f168201915b5050505050905090565b600061073361067d610865565b8461072e8560405180606001604052806025815260200161178260259139600160006106a7610865565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc99092919063ffffffff16565b61086d565b6001905092915050565b600061075161074a610865565b8484610a36565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6107ea610d8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610859576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108509061135c565b60405180910390fd5b61086281610e09565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d3906113ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094290611480565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a29919061114e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c90611512565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b906115a4565b60405180910390fd5b610b1f838383610ecf565b610b8a81604051806060016040528060268152602001611734602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc99092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c1d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610cbc919061114e565b60405180910390a3505050565b6000838311158290610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d08919061100e565b60405180910390fd5b5060008385610d2091906115f3565b9050809150509392505050565b6000808284610d3c9190611627565b905083811015610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906116a7565b60405180910390fd5b8091505092915050565b610d93610865565b73ffffffffffffffffffffffffffffffffffffffff16610db16105b4565b73ffffffffffffffffffffffffffffffffffffffff1614610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90611713565b60405180910390fd5b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610ee1610edc610865565b610f38565b118015610f1b5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f3357610f3283610f2c610865565b8361086d565b5b505050565b60008060119050743fe9a37bbc7ace0000000000000000000000000000811c8372691d69b62f709b52a2634a0f38a33ba894d832820103610f77578192505b5050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fb8578082015181840152602081019050610f9d565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fe082610f7e565b610fea8185610f89565b9350610ffa818560208601610f9a565b61100381610fc4565b840191505092915050565b600060208201905081810360008301526110288184610fd5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061106082611035565b9050919050565b61107081611055565b811461107b57600080fd5b50565b60008135905061108d81611067565b92915050565b6000819050919050565b6110a681611093565b81146110b157600080fd5b50565b6000813590506110c38161109d565b92915050565b600080604083850312156110e0576110df611030565b5b60006110ee8582860161107e565b92505060206110ff858286016110b4565b9150509250929050565b60008115159050919050565b61111e81611109565b82525050565b60006020820190506111396000830184611115565b92915050565b61114881611093565b82525050565b6000602082019050611163600083018461113f565b92915050565b60008060006060848603121561118257611181611030565b5b60006111908682870161107e565b93505060206111a18682870161107e565b92505060406111b2868287016110b4565b9150509250925092565b600060ff82169050919050565b6111d2816111bc565b82525050565b60006020820190506111ed60008301846111c9565b92915050565b60006020828403121561120957611208611030565b5b60006112178482850161107e565b91505092915050565b61122981611055565b82525050565b60006020820190506112446000830184611220565b92915050565b6000806040838503121561126157611260611030565b5b600061126f8582860161107e565b92505060206112808582860161107e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d157607f821691505b6020821081036112e4576112e361128a565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611346602683610f89565b9150611351826112ea565b604082019050919050565b6000602082019050818103600083015261137581611339565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006113d8602483610f89565b91506113e38261137c565b604082019050919050565b60006020820190508181036000830152611407816113cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061146a602283610f89565b91506114758261140e565b604082019050919050565b600060208201905081810360008301526114998161145d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006114fc602583610f89565b9150611507826114a0565b604082019050919050565b6000602082019050818103600083015261152b816114ef565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061158e602383610f89565b915061159982611532565b604082019050919050565b600060208201905081810360008301526115bd81611581565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115fe82611093565b915061160983611093565b9250828203905081811115611621576116206115c4565b5b92915050565b600061163282611093565b915061163d83611093565b9250828201905080821115611655576116546115c4565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611691601b83610f89565b915061169c8261165b565b602082019050919050565b600060208201905081810360008301526116c081611684565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006116fd602083610f89565b9150611708826116c7565b602082019050919050565b6000602082019050818103600083015261172c816116f0565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c915a17a75cc3b5b72573c8c2c2cd3a1565b287db36bd6fbedba64bf62b80d5264736f6c634300081a0033