0x60806040526004805460ff60a01b19908116909155600a805461ffff19169055611f40600b55610fa0600c55600d8054909116905534801561004057600080fd5b5061004a33610053565b600180556100a3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6132e380620000b36000396000f3fe6080604052600436106102e75760003560e01c806372756b6111610184578063bb485b88116100d6578063d99a7d7f1161008a578063f2873ea811610064578063f2873ea8146107d0578063f2fde38b146107f0578063fbfa77cf1461081057600080fd5b8063d99a7d7f14610779578063e39b531c1461079a578063e93a7b17146107ba57600080fd5b8063d002f28a116100bb578063d002f28a14610726578063d0685a3814610746578063d372d50d1461075957600080fd5b8063bb485b88146106fb578063c4ae31681461071157600080fd5b806392cbf98d116101385780639ee347fc116101125780639ee347fc146106b3578063a0712d68146106c8578063bafb2d06146106db57600080fd5b806392cbf98d146106515780639abc8320146106715780639d9425971461069357600080fd5b806384017e521161016957806384017e52146105fd5780638da5cb5b1461061d5780639139f7511461063b57600080fd5b806372756b61146105b057806379c31217146105d057600080fd5b806330f54e141161023d57806358178168116101f15780635f8a958c116101cb5780635f8a958c1461056157806370a082311461057b578063715018a61461059b57600080fd5b80635817816814610500578063598963661461052b5780635c975abb1461054057600080fd5b8063421cbe9c11610222578063421cbe9c146104aa57806351605e6c146104c05780635165b240146104e057600080fd5b806330f54e141461045a578063372c12b11461047a57600080fd5b806317d70f7c1161029f578063287930841161027957806328793084146103f857806328bfb406146104185780632fbba1151461044757600080fd5b806317d70f7c1461038a5780631cf02276146103a05780632153d8d0146103c057600080fd5b80630983040f116102d05780630983040f1461032157806313966db514610341578063153e93461461036a57600080fd5b806302e001ef146102ec57806306d7e72414610301575b600080fd5b6102ff6102fa366004612bbd565b610830565b005b34801561030d57600080fd5b506102ff61031c366004612bbd565b610b60565b34801561032d57600080fd5b506102ff61033c366004612bbd565b610bad565b34801561034d57600080fd5b5061035760035481565b6040519081526020015b60405180910390f35b34801561037657600080fd5b506102ff610385366004612d35565b610e5a565b34801561039657600080fd5b5061035760055481565b3480156103ac57600080fd5b506102ff6103bb366004612d99565b610fac565b3480156103cc57600080fd5b50600d546103e0906001600160a01b031681565b6040516001600160a01b039091168152602001610361565b34801561040457600080fd5b506102ff610413366004612dbd565b611016565b34801561042457600080fd5b50600a5461043790610100900460ff1681565b6040519015158152602001610361565b6102ff610455366004612bbd565b61109a565b34801561046657600080fd5b506102ff610475366004612df2565b6112ac565b34801561048657600080fd5b50610437610495366004612d99565b60076020526000908152604090205460ff1681565b3480156104b657600080fd5b5061035760095481565b3480156104cc57600080fd5b506002546103e0906001600160a01b031681565b3480156104ec57600080fd5b506102ff6104fb366004612d99565b611489565b34801561050c57600080fd5b506103e061051b366004612bbd565b506002546001600160a01b031690565b34801561053757600080fd5b506102ff611503565b34801561054c57600080fd5b5060045461043790600160a01b900460ff1681565b34801561056d57600080fd5b50600a546104379060ff1681565b34801561058757600080fd5b50610357610596366004612d99565b6115ce565b3480156105a757600080fd5b506102ff611652565b3480156105bc57600080fd5b506102ff6105cb366004612ed6565b6116a6565b3480156105dc57600080fd5b506103576105eb366004612d99565b600f6020526000908152604090205481565b34801561060957600080fd5b506102ff610618366004612bbd565b611752565b34801561062957600080fd5b506000546001600160a01b03166103e0565b34801561064757600080fd5b50610357600c5481565b34801561065d57600080fd5b506102ff61066c366004612bbd565b6117d6565b34801561067d57600080fd5b50610686611856565b6040516103619190612f67565b34801561069f57600080fd5b506102ff6106ae366004612ed6565b6118e4565b3480156106bf57600080fd5b506102ff611ac7565b6102ff6106d6366004612bbd565b611add565b3480156106e757600080fd5b506102ff6106f6366004612bbd565b611d1e565b34801561070757600080fd5b50610357600b5481565b34801561071d57600080fd5b506102ff611d6b565b34801561073257600080fd5b506010546103e0906001600160a01b031681565b6102ff610754366004612bbd565b611e19565b34801561076557600080fd5b506102ff610774366004612d35565b61224f565b34801561078557600080fd5b50600d5461043790600160a01b900460ff1681565b3480156107a657600080fd5b506102ff6107b5366004612f88565b612413565b3480156107c657600080fd5b5061035760085481565b3480156107dc57600080fd5b506102ff6107eb366004612fa5565b612479565b3480156107fc57600080fd5b506102ff61080b366004612d99565b6124e5565b34801561081c57600080fd5b506004546103e0906001600160a01b031681565b600260015414156108885760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600155600454600160a01b900460ff16156108e75760405162461bcd60e51b815260206004820152601760248201527f4572723a20436f6e747261637420697320706175736564000000000000000000604482015260640161087f565b600b546005541061093a5760405162461bcd60e51b815260206004820181905260248201527f6572723a20616c6c207075626c69632073616c65204e465473206d696e746564604482015260640161087f565b60095481111561098c5760405162461bcd60e51b815260206004820152601e60248201527f6572723a2072657175657374656420616d6f756e7420746f6f20686967680000604482015260640161087f565b600a54610100900460ff166109e35760405162461bcd60e51b815260206004820152601e60248201527f6572723a207768697465206c697374206d696e7420697320636c6f7365640000604482015260640161087f565b6008546109f09082612ff4565b341015610a3f5760405162461bcd60e51b815260206004820152601a60248201527f6572723a206e6f7420656e6f7567682066756e64732073656e74000000000000604482015260640161087f565b3360009081526007602052604090205460ff16610a9e5760405162461bcd60e51b815260206004820152601a60248201527f6572723a206e6f74206f6e20746865207768697465206c697374000000000000604482015260640161087f565b6000600c5411610af05760405162461bcd60e51b815260206004820152601f60248201527f6572723a206e6f206d6f72652077686974656c6973744d696e74734c65667400604482015260640161087f565b600c8054906000610b0083613013565b9091555050336000908152600760205260409020805460ff19169055600454610b32906001600160a01b0316346125b5565b60005b81811015610b5857610b46336126d3565b80610b508161302a565b915050610b35565b505060018055565b6000546001600160a01b03163314610ba85760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600c55565b6000546001600160a01b03163314610bf55760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600254604051634f558e7960e01b8152600481018390526001600160a01b0390911690634f558e7990602401602060405180830381600087803b158015610c3b57600080fd5b505af1158015610c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190613045565b15610cc05760405162461bcd60e51b815260206004820152601960248201527f6572723a20746f6b656e20616c72656164792065786973747300000000000000604482015260640161087f565b60025460405163ddd838df60e01b815260048101839052602481018390526001600160a01b039091169063ddd838df90604401600060405180830381600087803b158015610d0d57600080fd5b505af1158015610d21573d6000803e3d6000fd5b50506002546001600160a01b0316915063bba25b7b9050826006610d44826128f1565b604051602001610d559291906130b9565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d81929190613160565b600060405180830381600087803b158015610d9b57600080fd5b505af1158015610daf573d6000803e3d6000fd5b505050507f5388e5304907434c979387c4b001c2bfd9bfaa91d7a8448bfc5c8f4d2228e16781604051610de491815260200190565b60405180910390a1600254604051632142170760e11b8152306004820152336024820152604481018390526001600160a01b03909116906342842e0e906064015b600060405180830381600087803b158015610e3f57600080fd5b505af1158015610e53573d6000803e3d6000fd5b5050505050565b6000546001600160a01b03163314610ea25760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b8051825114610ef35760405162461bcd60e51b815260206004820152601a60248201527f6572723a206172726179206c656e677468206d69736d61746368000000000000604482015260640161087f565b60005b8251811015610f6e57818181518110610f1157610f11613179565b6020026020010151600f6000858481518110610f2f57610f2f613179565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055508080610f669061302a565b915050610ef6565b507fb0b924edc914a8330e3bb61909b4eefd24d63cdf1f53d7dcfc076fa32b7701558282604051610fa092919061318f565b60405180910390a15050565b6000546001600160a01b03163314610ff45760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461105e5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b60005b815181101561109657336000908152600760205260409020805460ff191660011790558061108e8161302a565b915050611061565b5050565b600260015414156110ed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161087f565b6002600155600454600160a01b900460ff161561114c5760405162461bcd60e51b815260206004820152601760248201527f4572723a20436f6e747261637420697320706175736564000000000000000000604482015260640161087f565b6127106005541061119f5760405162461bcd60e51b815260206004820152601b60248201527f6572723a20616c6c2070726964652070756e6b73206d696e7465640000000000604482015260640161087f565b336000908152600f60205260409020546111fb5760405162461bcd60e51b815260206004820152601e60248201527f6572723a204164647265737320686173206e6f20616c6c6f636174696f6e0000604482015260640161087f565b336000908152600f602052604090205481111561125a5760405162461bcd60e51b815260206004820152601e60248201527f6572723a2072657175657374656420616d6f756e7420746f6f20686967680000604482015260640161087f565b336000908152600f6020526040902054611275908290613213565b336000908152600f60205260408120919091555b81811015610b585761129a336126d3565b806112a48161302a565b915050611289565b6000546001600160a01b031633146112f45760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600280546001600160a01b0319166001600160a01b0385161790556003879055600886905560098590558351611331906006906020870190612b24565b50600480546001600160a01b0319166001600160a01b03848116919091178255600254604051638e0273bb60e01b815230938101939093521690638e0273bb90602401600060405180830381600087803b15801561138e57600080fd5b505af11580156113a2573d6000803e3d6000fd5b5050601080546001600160a01b0319166001600160a01b038581169190911790915560028054604080516318160ddd60e01b81529051929550921692506318160ddd91600480820192602092909190829003018186803b15801561140557600080fd5b505afa158015611419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143d919061322a565b6114479190613213565b6005556003546040519081527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200160405180910390a150505050505050565b6000546001600160a01b031633146114d15760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b60025460405163f2fde38b60e01b81526001600160a01b0383811660048301529091169063f2fde38b90602401610e25565b600260015414156115565760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161087f565b6002600155600a5460ff166115ad5760405162461bcd60e51b815260206004820152601960248201527f6572723a2077686974656c6973742069736e2774206f70656e00000000000000604482015260640161087f565b336000908152600760205260409020805460ff191660019081179091558055565b6002546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b15801561161457600080fd5b505afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c919061322a565b92915050565b6000546001600160a01b0316331461169a5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b6116a46000612a0f565b565b6000546001600160a01b031633146116ee5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b60005b8151811015611096576001600e600084848151811061171257611712613179565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061174a9061302a565b9150506116f1565b6000546001600160a01b0316331461179a5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b60038190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76906020015b60405180910390a150565b6000546001600160a01b0316331461181e5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b60088190556003546040519081527fb673cdefc7a33d29359abf9a5cf1f2f564ce57df55aaf5a20301cdba458f0cc3906020016117cb565b6006805461186390613062565b80601f016020809104026020016040519081016040528092919081815260200182805461188f90613062565b80156118dc5780601f106118b1576101008083540402835291602001916118dc565b820191906000526020600020905b8154815290600101906020018083116118bf57829003601f168201915b505050505081565b60005b815181101561109657600254825133916001600160a01b031690636352211e9085908590811061191957611919613179565b60200260200101516040518263ffffffff1660e01b815260040161193f91815260200190565b60206040518083038186803b15801561195757600080fd5b505afa15801561196b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198f9190613243565b6001600160a01b03161415611ab55760025482516001600160a01b039091169063bba25b7b908490849081106119c7576119c7613179565b602002602001015160066119f38686815181106119e6576119e6613179565b60200260200101516128f1565b604051602001611a049291906130b9565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611a30929190613160565b600060405180830381600087803b158015611a4a57600080fd5b505af1158015611a5e573d6000803e3d6000fd5b505050507f30e09704af8770a52b182c0f9c3933bf094f3a8c62a33cd445042005864602ab828281518110611a9557611a95613179565b6020026020010151604051611aac91815260200190565b60405180910390a15b80611abf8161302a565b9150506118e7565b6004546116a4906001600160a01b0316476125b5565b60026001541415611b305760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161087f565b6002600155600454600160a01b900460ff1615611b8f5760405162461bcd60e51b815260206004820152601760248201527f4572723a20436f6e747261637420697320706175736564000000000000000000604482015260640161087f565b61271060055410611be25760405162461bcd60e51b815260206004820152601b60248201527f6572723a20616c6c2070726964652070756e6b73206d696e7465640000000000604482015260640161087f565b600b5460055410611c355760405162461bcd60e51b815260206004820181905260248201527f6572723a20616c6c207075626c69632073616c65204e465473206d696e746564604482015260640161087f565b6127108110611c865760405162461bcd60e51b815260206004820152601e60248201527f6572723a2072657175657374656420616d6f756e7420746f6f20686967680000604482015260640161087f565b600354611c939082612ff4565b341015611ce25760405162461bcd60e51b815260206004820152601a60248201527f6572723a206e6f7420656e6f7567682066756e64732073656e74000000000000604482015260640161087f565b600454611cf8906001600160a01b0316346125b5565b60005b81811015610b5857611d0c336126d3565b80611d168161302a565b915050611cfb565b6000546001600160a01b03163314611d665760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600b55565b6000546001600160a01b03163314611db35760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b6004805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517f6c44c1c6e888a23752ec9c1d8f194bfb0ea295ccdb49b3da95d5be50c9db976993611e0f9390049091161515815260200190565b60405180910390a1565b60026001541415611e6c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161087f565b6002600155600454600160a01b900460ff1615611ecb5760405162461bcd60e51b815260206004820152601760248201527f4572723a20436f6e747261637420697320706175736564000000000000000000604482015260640161087f565b600b5460055410611f1e5760405162461bcd60e51b815260206004820181905260248201527f6572723a20616c6c207075626c69632073616c65204e465473206d696e746564604482015260640161087f565b600d54600160a01b900460ff16611f815760405162461bcd60e51b815260206004820152602160248201527f6572723a2065787465726e616c206c697374206973206e6f7420656e61626c656044820152601960fa1b606482015260840161087f565b600954811115611fd35760405162461bcd60e51b815260206004820152601e60248201527f6572723a2072657175657374656420616d6f756e7420746f6f20686967680000604482015260640161087f565b600a54610100900460ff1661202a5760405162461bcd60e51b815260206004820152601e60248201527f6572723a207768697465206c697374206d696e7420697320636c6f7365640000604482015260640161087f565b6008546120379082612ff4565b3410156120865760405162461bcd60e51b815260206004820152601a60248201527f6572723a206e6f7420656e6f7567682066756e64732073656e74000000000000604482015260640161087f565b60045461209c906001600160a01b0316346125b5565b600d54604051631ccc36ab60e21b81523360048201526001600160a01b0390911690637330daac90602401602060405180830381600087803b1580156120e157600080fd5b505af11580156120f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121199190613045565b6121655760405162461bcd60e51b815260206004820152601a60248201527f6572723a206e6f74206f6e20746865207768697465206c697374000000000000604482015260640161087f565b600d54604051631059ad0360e11b81523360048201526001600160a01b03909116906320b35a0690602401600060405180830381600087803b1580156121aa57600080fd5b505af11580156121be573d6000803e3d6000fd5b505050506000600c54116122145760405162461bcd60e51b815260206004820152601f60248201527f6572723a206e6f206d6f72652077686974656c6973744d696e74734c65667400604482015260640161087f565b600c805490600061222483613013565b919050555060005b81811015610b585761223d336126d3565b806122478161302a565b91505061222c565b6000546001600160a01b031633146122975760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600260015414156122ea5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161087f565b6002600155600554612710116123425760405162461bcd60e51b815260206004820152601b60248201527f6572723a20616c6c2070726964652070756e6b73206d696e7465640000000000604482015260640161087f565b80518251146123935760405162461bcd60e51b815260206004820152601a60248201527f6572723a206172726179206c656e677468206d69736d61746368000000000000604482015260640161087f565b60005b825181101561240a5760005b8282815181106123b4576123b4613179565b60200260200101518110156123f7576123e58483815181106123d8576123d8613179565b60200260200101516126d3565b806123ef8161302a565b9150506123a2565b50806124028161302a565b915050612396565b50506001805550565b6000546001600160a01b0316331461245b5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146124c15760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b600a805461ffff191692151561ff0019169290921761010091151591909102179055565b6000546001600160a01b0316331461252d5760405162461bcd60e51b815260206004820181905260248201526000805160206132b7833981519152604482015260640161087f565b6001600160a01b0381166125a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161087f565b6125b281612a0f565b50565b804710156126055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161087f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612652576040519150601f19603f3d011682016040523d82523d6000602084013e612657565b606091505b50509050806126ce5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161087f565b505050565b612710600554106127265760405162461bcd60e51b815260206004820152601b60248201527f6572723a20616c6c2070726964652070756e6b73206d696e7465640000000000604482015260640161087f565b61272e612a5f565b60025460055460405163ddd838df60e01b81526001600160a01b039092169163ddd838df9161276a918190600401918252602082015260400190565b600060405180830381600087803b15801561278457600080fd5b505af1158015612798573d6000803e3d6000fd5b50506002546005546001600160a01b03909116925063bba25b7b915060066127bf826128f1565b6040516020016127d09291906130b9565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016127fc929190613160565b600060405180830381600087803b15801561281657600080fd5b505af115801561282a573d6000803e3d6000fd5b505050507f5388e5304907434c979387c4b001c2bfd9bfaa91d7a8448bfc5c8f4d2228e16760055460405161286191815260200190565b60405180910390a1600254600554604051632142170760e11b81523060048201526001600160a01b03848116602483015260448201929092529116906342842e0e90606401600060405180830381600087803b1580156128c057600080fd5b505af11580156128d4573d6000803e3d6000fd5b5050600580549250905060006128e98361302a565b919050555050565b6060816129155750506040805180820190915260018152600360fc1b602082015290565b8160005b811561293f57806129298161302a565b91506129389050600a83613276565b9150612919565b60008167ffffffffffffffff81111561295a5761295a612bd6565b6040519080825280601f01601f191660200182016040528015612984576020820181803683370190505b5090505b8415612a0757612999600183613213565b91506129a6600a8661328a565b6129b190603061329e565b60f81b8183815181106129c6576129c6613179565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350612a00600a86613276565b9450612988565b949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600254600554604051634f558e7960e01b81526001600160a01b0390921691634f558e7991612a949160040190815260200190565b602060405180830381600087803b158015612aae57600080fd5b505af1158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190613045565b80612b0257506005546000908152600e602052604090205460ff165b156116a45760058054906000612b178361302a565b91905055506116a4612a5f565b828054612b3090613062565b90600052602060002090601f016020900481019282612b525760008555612b98565b82601f10612b6b57805160ff1916838001178555612b98565b82800160010185558215612b98579182015b82811115612b98578251825591602001919060010190612b7d565b50612ba4929150612ba8565b5090565b5b80821115612ba45760008155600101612ba9565b600060208284031215612bcf57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612c1557612c15612bd6565b604052919050565b600067ffffffffffffffff821115612c3757612c37612bd6565b5060051b60200190565b6001600160a01b03811681146125b257600080fd5b8035612c6181612c41565b919050565b600082601f830112612c7757600080fd5b81356020612c8c612c8783612c1d565b612bec565b82815260059290921b84018101918181019086841115612cab57600080fd5b8286015b84811015612ccf578035612cc281612c41565b8352918301918301612caf565b509695505050505050565b600082601f830112612ceb57600080fd5b81356020612cfb612c8783612c1d565b82815260059290921b84018101918181019086841115612d1a57600080fd5b8286015b84811015612ccf5780358352918301918301612d1e565b60008060408385031215612d4857600080fd5b823567ffffffffffffffff80821115612d6057600080fd5b612d6c86838701612c66565b93506020850135915080821115612d8257600080fd5b50612d8f85828601612cda565b9150509250929050565b600060208284031215612dab57600080fd5b8135612db681612c41565b9392505050565b600060208284031215612dcf57600080fd5b813567ffffffffffffffff811115612de657600080fd5b612a0784828501612c66565b600080600080600080600060e0888a031215612e0d57600080fd5b87359650602080890135965060408901359550606089013567ffffffffffffffff80821115612e3b57600080fd5b818b0191508b601f830112612e4f57600080fd5b813581811115612e6157612e61612bd6565b612e73601f8201601f19168501612bec565b91508082528c84828501011115612e8957600080fd5b8084840185840137600084828401015250809650505050612eac60808901612c56565b9250612eba60a08901612c56565b9150612ec860c08901612c56565b905092959891949750929550565b600060208284031215612ee857600080fd5b813567ffffffffffffffff811115612eff57600080fd5b612a0784828501612cda565b60005b83811015612f26578181015183820152602001612f0e565b83811115612f35576000848401525b50505050565b60008151808452612f53816020860160208601612f0b565b601f01601f19169290920160200192915050565b602081526000612db66020830184612f3b565b80151581146125b257600080fd5b600060208284031215612f9a57600080fd5b8135612db681612f7a565b60008060408385031215612fb857600080fd5b8235612fc381612f7a565b91506020830135612fd381612f7a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561300e5761300e612fde565b500290565b60008161302257613022612fde565b506000190190565b600060001982141561303e5761303e612fde565b5060010190565b60006020828403121561305757600080fd5b8151612db681612f7a565b600181811c9082168061307657607f821691505b6020821081141561309757634e487b7160e01b600052602260045260246000fd5b50919050565b600081516130af818560208601612f0b565b9290920192915050565b600080845481600182811c9150808316806130d557607f831692505b60208084108214156130f557634e487b7160e01b86526022600452602486fd5b818015613109576001811461311a57613147565b60ff19861689528489019650613147565b60008b81526020902060005b8681101561313f5781548b820152908501908301613126565b505084890196505b505050505050613157818561309d565b95945050505050565b828152604060208201526000612a076040830184612f3b565b634e487b7160e01b600052603260045260246000fd5b604080825283519082018190526000906020906060840190828701845b828110156131d15781516001600160a01b0316845292840192908401906001016131ac565b5050508381038285015284518082528583019183019060005b81811015613206578351835292840192918401916001016131ea565b5090979650505050505050565b60008282101561322557613225612fde565b500390565b60006020828403121561323c57600080fd5b5051919050565b60006020828403121561325557600080fd5b8151612db681612c41565b634e487b7160e01b600052601260045260246000fd5b60008261328557613285613260565b500490565b60008261329957613299613260565b500690565b600082198211156132b1576132b1612fde565b50019056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a164736f6c6343000809000a