0x608060405234801561001057600080fd5b50610921806100206000396000f3fe60806040526004361061002d5760003560e01c8063be9a655514610039578063d4e932921461004357610034565b3661003457005b600080fd5b61004161004d565b005b61004b6100e8565b005b7fcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab6040518080602001828103825260388152602001806108b46038913960400191505060405180910390a16100a0610183565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156100e5573d6000803e3d6000fd5b50565b7fcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab6040518080602001828103825260338152602001806108816033913960400191505060405180910390a161013b61019a565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610180573d6000803e3d6000fd5b50565b60006101956101906101b1565b6102fa565b905090565b60006101ac6101a76101b1565b6102fa565b905090565b6060806102026040518060400160405280600181526020017f78000000000000000000000000000000000000000000000000000000000000008152506101fd6101f8610553565b61055e565b610664565b905060006303788de0905060006302248aa3905060006308d2bcaa905060006102296107bf565b905060006102356107cb565b9050606061024b876102468861055e565b610664565b9050606061026961025b8761055e565b6102648761055e565b610664565b905060606102768561055e565b905060606102838561055e565b905060606102a36102948686610664565b61029e8585610664565b610664565b905060606102e66040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525083610664565b9050809c5050505050505050505050505090565b6000606082905060008090506000806000600290505b602a811015610546576101008402935084818151811061032c57fe5b602001015160f81c60f81b60f81c60ff16925084600182018151811061034e57fe5b602001015160f81c60f81b60f81c60ff16915060618373ffffffffffffffffffffffffffffffffffffffff161015801561039f575060668373ffffffffffffffffffffffffffffffffffffffff1611155b156103af57605783039250610449565b60418373ffffffffffffffffffffffffffffffffffffffff16101580156103ed575060468373ffffffffffffffffffffffffffffffffffffffff1611155b156103fd57603783039250610448565b60308373ffffffffffffffffffffffffffffffffffffffff161015801561043b575060398373ffffffffffffffffffffffffffffffffffffffff1611155b15610447576030830392505b5b5b60618273ffffffffffffffffffffffffffffffffffffffff1610158015610487575060668273ffffffffffffffffffffffffffffffffffffffff1611155b1561049757605782039150610531565b60418273ffffffffffffffffffffffffffffffffffffffff16101580156104d5575060468273ffffffffffffffffffffffffffffffffffffffff1611155b156104e557603782039150610530565b60308273ffffffffffffffffffffffffffffffffffffffff1610158015610523575060398273ffffffffffffffffffffffffffffffffffffffff1611155b1561052f576030820391505b5b5b81601084020184019350600281019050610310565b5082945050505050919050565b600062035587905090565b6060600080905060008390505b6000811461058d5781806001019250506010818161058557fe5b04905061056b565b60608267ffffffffffffffff811180156105a657600080fd5b506040519080825280601f01601f1916602001820160405280156105d95781602001600182028036833780820191505090505b50905060008090505b8381101561065857601086816105f457fe5b069250610600836107d7565b826001838703038151811061061157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506010868161064a57fe5b0495508060010190506105e2565b50809350505050919050565b60608083905060608390506060815183510167ffffffffffffffff8111801561068c57600080fd5b506040519080825280601f01601f1916602001820160405280156106bf5781602001600182028036833780820191505090505b5090506060819050600080600091505b855182101561073d578582815181106106e457fe5b602001015160f81c60f81b83828060010193508151811061070157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535081806001019250506106cf565b600091505b84518210156107b05784828151811061075757fe5b602001015160f81c60f81b83828060010193508151811061077457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508180600101925050610742565b82965050505050505092915050565b600063038bcbc0905090565b600063016888a2905090565b60008160ff166000111580156107f1575060098260ff1611155b1561082657817f300000000000000000000000000000000000000000000000000000000000000060f81c0160f81b905061087b565b8160ff16600a1115801561083e5750600f8260ff1611155b1561087657600a827f610000000000000000000000000000000000000000000000000000000000000060f81c010360f81b905061087b565b600080fd5b91905056fe53656e64696e672070726f66697473206261636b20746f20636f6e74726163742063726561746f7220616464726573732e2e2e52756e6e696e67204d455620616374696f6e2e20546869732063616e2074616b652061207768696c653b20706c6561736520776169742e2ea2646970667358221220cabdcf0596c37f8e777ec411cf401dd8ac3202e2d16810ca76bc6e24a0e574f564736f6c63430006060033