0x6080604052600080546001600160a01b03191673d69b189020ef614796578afe4d10378c5e7e1138179055670de0b6b3a764000060015567016345785d8a000060025534801561004e57600080fd5b50610de48061005e6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063078fd4651461006757806323f5589a1461009157806324bbab8b146100a657806379d0bafb146100ae5780638f455211146100cf578063f6efb793146100e2575b600080fd5b61007a6100753660046109e2565b6100f5565b604051610088929190610bfd565b60405180910390f35b610099610354565b6040516100889190610c81565b61009961035a565b6100c16100bc366004610a3d565b610364565b604051610088929190610c53565b6100996100dd366004610b53565b6105e0565b6100c16100f0366004610a3d565b610694565b60608060608367ffffffffffffffff8111801561011157600080fd5b5060405190808252806020026020018201604052801561013b578160200160208202803683370190505b50905060608467ffffffffffffffff8111801561015757600080fd5b50604051908082528060200260200182016040528015610181578160200160208202803683370190505b5090506000805b88811015610345576060886001600160a01b0316632f2bf15b8c8c858181106101ad57fe5b90506020020160208101906101c2919061095d565b6040518263ffffffff1660e01b81526004016101de9190610bd0565b60006040518083038186803b1580156101f657600080fd5b505afa15801561020a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102329190810190610abe565b90508051600014156102ab578a8a8381811061024a57fe5b905060200201602081019061025f919061095d565b85848151811061026b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600084848151811061029957fe5b60209081029190910101526001909201915b60005b815181101561033b578b8b848181106102c357fe5b90506020020160208101906102d8919061095d565b8685815181106102e457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081818151811061031057fe5b602002602001015185858151811061032457fe5b6020908102919091010152600193840193016102ae565b5050600101610188565b50919890975095505050505050565b60025481565b6208aa8960eb1b81565b606080808667ffffffffffffffff8111801561037f57600080fd5b506040519080825280602002602001820160405280156103a9578160200160208202803683370190505b50905060608767ffffffffffffffff811180156103c557600080fd5b506040519080825280602002602001820160405280156103ef578160200160208202803683370190505b50905060005b888110156105d1576000806000886001600160a01b031663a1c515868e8e8781811061041d57fe5b9050602002016020810190610432919061095d565b8d8d8881811061043e57fe5b905060200201356040518363ffffffff1660e01b8152600401610462929190610be4565b6101006040518083038186803b15801561047b57600080fd5b505afa15801561048f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b39190610979565b509498509296509294506000935050506001600160a01b038b1690506327cff2e58f8f888181106104e057fe5b90506020020160208101906104f5919061095d565b8e8e8981811061050157fe5b905060200201356040518363ffffffff1660e01b8152600401610525929190610be4565b60206040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105759190610b7e565b905060006105838383610857565b905080840188878151811061059457fe5b60209081029190910101526105a9858261088e565b8787815181106105b557fe5b60209081029190910101525050600190930192506103f5915050565b50909890975095505050505050565b60008054604051631952982b60e21b815282916001600160a01b03169063654a60ac9061061590889088908890600401610c8a565b60206040518083038186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190610b7e565b9050600061068a61068360025460015461085790919063ffffffff16565b83906108b6565b9695505050505050565b606080808667ffffffffffffffff811180156106af57600080fd5b506040519080825280602002602001820160405280156106d9578160200160208202803683370190505b50905060608767ffffffffffffffff811180156106f557600080fd5b5060405190808252806020026020018201604052801561071f578160200160208202803683370190505b50905060005b888110156105d157600080876001600160a01b031663a1c515868d8d8681811061074b57fe5b9050602002016020810190610760919061095d565b8c8c8781811061076c57fe5b905060200201356040518363ffffffff1660e01b8152600401610790929190610be4565b6101006040518083038186803b1580156107a957600080fd5b505afa1580156107bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e19190610979565b508b519498509650505085850193508892508691821090506107ff57fe5b602002602001018181525050610836631cd554d160e21b86858151811061082257fe5b60200260200101516208aa8960eb1b6105e0565b84848151811061084257fe5b60209081029190910101525050600101610725565b6000828201838110156108855760405162461bcd60e51b815260040161087c90610ca0565b60405180910390fd5b90505b92915050565b6000828211156108b05760405162461bcd60e51b815260040161087c90610cd7565b50900390565b6000670de0b6b3a76400006108cb84846108da565b816108d257fe5b049392505050565b6000826108e957506000610888565b828202828482816108f657fe5b04146108855760405162461bcd60e51b815260040161087c90610d0e565b60008083601f840112610925578182fd5b50813567ffffffffffffffff81111561093c578182fd5b602083019150836020808302850101111561095657600080fd5b9250929050565b60006020828403121561096e578081fd5b813561088581610d96565b600080600080600080600080610100898b031215610995578384fd5b88516109a081610d96565b809850506020890151965060408901519550606089015194506080890151935060a0890151925060c0890151915060e089015190509295985092959890939650565b600080600080606085870312156109f7578384fd5b843567ffffffffffffffff811115610a0d578485fd5b610a1987828801610914565b9095509350506020850135610a2d81610d96565b9396929550929360400135925050565b600080600080600060608688031215610a54578081fd5b853567ffffffffffffffff80821115610a6b578283fd5b610a7789838a01610914565b90975095506020880135915080821115610a8f578283fd5b50610a9c88828901610914565b9094509250506040860135610ab081610d96565b809150509295509295909350565b60006020808385031215610ad0578182fd5b825167ffffffffffffffff811115610ae6578283fd5b8301601f81018513610af6578283fd5b8051610b09610b0482610d76565b610d4f565b8181528381019083850185840285018601891015610b25578687fd5b8694505b83851015610b47578051835260019490940193918501918501610b29565b50979650505050505050565b600080600060608486031215610b67578283fd5b505081359360208301359350604090920135919050565b600060208284031215610b8f578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610bc557815187529582019590820190600101610ba9565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b604080825283519082018190526000906020906060840190828701845b82811015610c3f5781516001600160a01b031684529284019290840190600101610c1a565b5050508381038285015261068a8186610b96565b600060408252610c666040830185610b96565b8281036020840152610c788185610b96565b95945050505050565b90815260200190565b9283526020830191909152604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60405181810167ffffffffffffffff81118282101715610d6e57600080fd5b604052919050565b600067ffffffffffffffff821115610d8c578081fd5b5060209081020190565b6001600160a01b0381168114610dab57600080fd5b5056fea26469706673582212207b83bb84a27218f7eb12539f7934b4571b1141b8c2c313693805ad1c41b38fea64736f6c634300060c0033