From aaa3be93053b1a92552118ecc3c5c5d22c57cd2b Mon Sep 17 00:00:00 2001 From: Jordi Baylina Date: Wed, 4 Oct 2017 10:29:41 +0200 Subject: [PATCH] NotPaid to Pledged refactor --- build/LiquidPledging.sol.js | 6 +++--- build/LiquidPledgingBase.sol.js | 4 ++-- build/LiquidPledgingBase_all.sol | 2 +- build/LiquidPledgingMock.sol.js | 8 ++++---- build/LiquidPledgingMock_all.sol | 28 ++++++++++++++-------------- build/LiquidPledging_all.sol | 28 ++++++++++++++-------------- contracts/LiquidPledging.sol | 26 +++++++++++++------------- contracts/LiquidPledgingBase.sol | 2 +- js/liquidPledging.js | 2 +- 9 files changed, 53 insertions(+), 53 deletions(-) diff --git a/build/LiquidPledging.sol.js b/build/LiquidPledging.sol.js index c799787..5a97578 100644 --- a/build/LiquidPledging.sol.js +++ b/build/LiquidPledging.sol.js @@ -3,10 +3,10 @@ exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports.LiquidPledgingAbi = [{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"proposedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"},{"name":"idReceiver","type":"uint64"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"}],"name":"cancelCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint64"},{"indexed":true,"name":"to","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CancelCampaign","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b6040516020806200474e833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000249565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200013c565b5b505050565b6200013991905b8082111562000135578054600160a860020a03191681556000620001076001830182620001ae565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000df565b5090565b90565b6200013991905b808211156200013557600080825560018201805467ffffffffffffffff19169055620001736002830182620001fa565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000143565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d65750620001f6565b601f016020900490600052602060002090810190620001f6919062000225565b5b50565b508054600082556003016004900490600052602060002090810190620001f6919062000225565b5b50565b6200013991905b808211156200013557600081556001016200022c565b5090565b90565b6144f580620002596000396000f300606060405236156101385763ffffffff60e060020a60003504166313734d87811461013d57806314e7b1dc146101b85780631e215648146102725780632a8ec8cc146102f85780632ee888081461031d5780633f657a461461034157806343387983146103bf57806347c5ef43146103e357806350f8a803146104145780635503d9ba1461044f57806357adafb6146104745780638233ba6a146104c55780638fe1f2ce1461055b5780639398f5a21461058e578063a7e474d5146105df578063aa99759c14610600578063af9f45631461067b578063bce0906d1461069f578063bde60ac91461070a578063d639cd7314610726578063e9c211e214610790578063eba8ba06146107b4578063ef3766e4146108a0578063fbfa77cf146108f1578063fe7fff4914610920578063fecdf177146109a6575b600080fd5b341561014857600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250610a21915050565b005b34156101c357600080fd5b6101da6001604060020a0360043516602435610af7565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156102355780820151818401525b60200161021c565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561027d57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250610c1e915050565b6040516001604060020a03909116815260200160405180910390f35b341561030357600080fd5b61030b610deb565b60405190815260200160405180910390f35b341561032857600080fd5b6101b66001604060020a0360043516602435610df6565b005b341561034c57600080fd5b6103606001604060020a0360043516610f3c565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156103a557fe5b60ff16815260200197505050505050505060405180910390f35b34156103ca57600080fd5b6101b66001604060020a0360043516602435610fa9565b005b34156103ee57600080fd5b6101b66001604060020a0360043581169060243581169060443590606435166112ab565b005b341561041f57600080fd5b6102dc6001604060020a03600435166118a9565b6040516001604060020a03909116815260200160405180910390f35b341561045a57600080fd5b61030b611a75565b60405190815260200160405180910390f35b341561047f57600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611a8095505050505050565b005b34156104d057600080fd5b6102dc60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611af39050565b6040516001604060020a03909116815260200160405180910390f35b341561056657600080fd5b61057a6001604060020a0360043516611e7b565b604051901515815260200160405180910390f35b341561059957600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611f2d95505050505050565b005b34156105ea57600080fd5b6101b66001604060020a0360043516611fa0565b005b341561060b57600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061215a915050565b005b341561068657600080fd5b6101b66001604060020a0360043516602435612230565b005b34156106aa57600080fd5b6102dc60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506123db95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6101b66001604060020a0360043581169060243516612428565b005b341561073157600080fd5b6101b6600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506126af915050565b005b341561079b57600080fd5b6101b66001604060020a0360043516602435612726565b005b34156107bf57600080fd5b6107d36001604060020a0360043516612850565b604051808860028111156107e357fe5b60ff168152600160a060020a0388811660208301526001604060020a0387811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b8381101561085f5780820151818401525b602001610846565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34156108ab57600080fd5b6101b6600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061296f95505050505050565b005b34156108fc57600080fd5b6109046129e2565b604051600160a060020a03909116815260200160405180910390f35b341561092b57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506129f1915050565b6040516001604060020a03909116815260200160405180910390f35b34156109b157600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612bbd915050565b005b6000610a2c85612c93565b905060015b815460ff166002811115610a4157fe5b14610a4b57600080fd5b805433600160a060020a039081166101009092041614610a6a57600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610a9d9291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b600080610b02614161565b600080610b0e87612cde565b91508160020160018703815481101515610b2457fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610b5985612c93565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505092505b50509250925092565b600180549081808201610c318382614173565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115610caa57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610cf09291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1657600080fd5b610e1f84612cde565b915060015b600383015460c060020a900460ff166002811115610e3e57fe5b14610e4857600080fd5b836001604060020a0316610e5b85612d27565b6001604060020a031614610e6e57600080fd5b6001820154600283018054610f27926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ebe5790505b505050506003860154600091508190608060020a90046001604060020a03166002612df1565b9050610f348482856130e3565b5b5b50505050565b600080600080600080600080610f5189612cde565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fb7856118a9565b9450610fc285612cde565b925060005b600384015460c060020a900460ff166002811115610fe157fe5b14610feb57600080fd5b6001830154611002906001604060020a0316612c93565b91506111548260e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b600183015460028401805461120d926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111a45790505b505050506003870154600091508190608060020a90046001604060020a03166001612df1565b905061121a8582866130e3565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128f57600080fd5b6102c65a03f115156112a057600080fd5b5050505b5050505050565b60008060008060006112bc886118a9565b97506112c788612cde565b94506112d286612c93565b93506112dd89612c93565b925061142f8360e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b600386015460c060020a900460ff16600281111561144c57fe5b1461145657600080fd5b60018501546001604060020a038a8116911614156114f35760005b845460ff16600281111561148157fe5b1415611497576114928888886131f5565b6114eb565b60025b845460ff1660028111156114aa57fe5b14156114c05761149288888861323b565b6114eb565b60015b845460ff1660028111156114d357fe5b14156114e957611492888888613487565b6114eb565bfe5b5b5b5b61189d565b6116248560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156115bd57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161157a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561161057fe5b600281111561161b57fe5b9052508a6135bb565b6001604060020a03908116925082146114e95760005b845460ff16600281111561164a57fe5b14156116805760018501546001604060020a0387811691161461166957fe5b6114eb88888760020180549050613622565b61189d565b60015b845460ff16600281111561169357fe5b141561185a576117ca8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561176357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116117205790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156117b657fe5b60028111156117c157fe5b905250876135bb565b6001604060020a039081169150811415611805576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b81811115611834576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b8181116114eb576114eb888860018489600201805490500303613622565b5b5b5b61189d565b60025b845460ff16600281111561186d57fe5b14156114e95761188a888860018589600201805490500303613622565b6114eb888888613728565b61189d565b5bfe5b5b505050505050505050565b6000806000806118b885612cde565b925060005b600384015460c060020a900460ff1660028111156118d757fe5b146118e457849350611a6d565b600383015460006001604060020a0390911611801561191d57506003830154604060020a90046001604060020a031661191b613a77565b115b15611a3b5760018301546002840180546119da926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b6003840154909250611a1b906001604060020a031660006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b9050611a2c858285600001546130e3565b809450611a3885612cde565b92505b611a4485612d27565b90506001604060020a0380821690861614611a6857611a68858285600001546130e3565b5b8093505b505050919050565b600154600019015b90565b600080805b8351831015610f34576001604060020a03848481518110611aa257fe5b90602001906020020151169150604060020a848481518110611ac057fe5b90602001906020020151811515611ad357fe5b049050611ae08282610fa9565b5b600190920191611a85565b5b50505050565b6000806001604060020a03851615611ca857611b0e85612c93565b905060025b815460ff166002811115611b2357fe5b14611b2d57600080fd5b805433600160a060020a039081166101009092041614611b4c57600080fd5b6014611c9e8260e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b10611ca857600080fd5b5b60018054925082808201611cbd8382614173565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d90526001604060020a03808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115611d3757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611d7d9291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080611e8783612c93565b905060005b815460ff166002811115611e9c57fe5b1415611eab5760009150611f27565b60025b815460ff166002811115611ebe57fe5b14611ec557fe5b6002810154608060020a900460ff1615611ee25760019150611f27565b6002810154604060020a90046001604060020a03161515611f065760009150611f27565b6002810154611f2490604060020a90046001604060020a0316611e7b565b91505b50919050565b600080805b8351831015610f34576001604060020a03848481518110611f4f57fe5b90602001906020020151169150604060020a848481518110611f6d57fe5b90602001906020020151811515611f8057fe5b049050611f8d8282610df6565b5b600190920191611f32565b5b50505050565b6000611fab82612c93565b90506120fd8160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60028101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b600061216585612c93565b905060025b815460ff16600281111561217a57fe5b1461218457600080fd5b805433600160a060020a0390811661010090920416146121a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516121d69291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b60008061223c846118a9565b935061224784612cde565b6001810154909250612261906001604060020a0316612c93565b90506123b38160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b6003820154610f34908590608060020a90046001604060020a0316856130e3565b5b50505050565b600080805b8351821015612420576001604060020a038483815181106123fd57fe5b90602001906020020151169050612413816118a9565b505b6001909101906123e0565b5b5050919050565b60008080806001604060020a038616151561245d5761245a602060405190810160405260008082526203f480906129f1565b95505b61246686612c93565b93506125b88460e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b845460ff1660028111156125cb57fe5b146125d557600080fd5b349250600083116125e557600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561261857600080fd5b61264886600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b915061265382612cde565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36126a6868385886112ab565b5b505050505050565b600080805b84518310156126a6576001604060020a038584815181106126d157fe5b90602001906020020151169150604060020a8584815181106126ef57fe5b9060200190602002015181151561270257fe5b049050612711868383876112ab565b5b6001909201916126b4565b5b505050505050565b600254600090819033600160a060020a0390811691161461274657600080fd5b61274f84612cde565b915060015b600383015460c060020a900460ff16600281111561276e57fe5b1461277857600080fd5b6001820154600283018054612830926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561280b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127c85790505b505050506003860154600091508190608060020a90046001604060020a031681612df1565b9050610f27816118a9565b9050610f348482856130e3565b5b5b50505050565b60008061285b614161565b600080600080600061286c89612c93565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156129225780601f106128f757610100808354040283529160200191612922565b820191906000526020600020905b81548152906001019060200180831161290557829003601f168201915b50505050600283015460038401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600080805b8351831015610f34576001604060020a0384848151811061299157fe5b90602001906020020151169150604060020a8484815181106129af57fe5b906020019060200201518115156129c257fe5b0490506129cf8282612726565b5b600190920191612974565b5b50505050565b600254600160a060020a031681565b600180549081808201612a048382614173565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115612a7d57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612ac39291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b6000612bc885612c93565b905060005b815460ff166002811115612bdd57fe5b14612be757600080fd5b805433600160a060020a039081166101009092041614612c0657600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051612c399291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b6001546000906001604060020a03831610612cad57600080fd5b600180546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080546001604060020a03831610612cf657600080fd5b600080546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080806001604060020a0384161515612d445760009250612420565b612d4d84612cde565b6001810154909250612d67906001604060020a0316612c93565b905060005b815460ff166002811115612d7c57fe5b1415612d8a57839250612420565b60025b815460ff166002811115612d9d57fe5b14612da457fe5b6001820154612dbb906001604060020a0316611e7b565b1515612dc957839250612420565b6003820154612de790608060020a90046001604060020a0316612d27565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612e3f5780820151818401525b602001612e26565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612eac57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612f15578092506130d7565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612f538382614224565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612fc557fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613010929160200190614256565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156130cb57fe5b02179055505050508092505b50509695505050505050565b60008060006130f56001878787613c1b565b9250846001604060020a0316866001604060020a03161415613116576126a6565b821515613122576126a6565b61312b86612cde565b915061313685612cde565b82549091508390101561314857600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36131a36000878786613c1b565b505b505050505050565b8060200151600160a060020a031633600160a060020a031614806131e657508060c00151600160a060020a031633600160a060020a0316145b15156131f157600080fd5b5b50565b6000610f2782600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b9050610f348482856130e3565b5b50505050565b600080600061324986612cde565b9250601461337d8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061338757600080fd5b600183015460028401805461343f926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b91506134718460006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b90506126a68682876130e3565b5b505050505050565b6000613491614161565b60008061349d87612cde565b6002810154909450601490106134b257600080fd5b60028401546001016040518059106134c75750595b908082528060200260200182016040525b509250600091505b600284015482101561355557600284018054839081106134fc57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061353257fe5b6001604060020a039092166020928302909101909101525b6001909101906134e0565b6002840154859084908151811061356857fe5b6001604060020a0392831660209182029092010152600185015460038601546135a4929182169186916000918291608060020a90041681612df1565b90506131a38782886130e3565b5b50505050505050565b6000805b83604001515181101561361057826001604060020a0316846040015182815181106135e657fe5b906020019060200201516001604060020a031614156136075780915061361b565b5b6001016135bf565b6001604060020a0391505b5092915050565b600061362c614161565b60008061363887612cde565b60028101549094508590036040518059106136505750595b908082528060200260200182016040525b509250600091505b60028401548590038210156136e1576002840180548390811061368857fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03168383815181106136be57fe5b6001604060020a039092166020928302909101909101525b600190910190613669565b600184015460038501546135a4916001604060020a039081169186916000918291608060020a9091041681612df1565b90506131a38782886130e3565b5b50505050505050565b60008061373485612cde565b915060146138688360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061387257600080fd5b6001820154600283018054613a62926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561390557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116138c25790505b505050505085613a3b8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156139d557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139925790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a2857fe5b6002811115613a3357fe5b905250613dae565b613a43613a77565b6003880154910190608060020a90046001604060020a03166000612df1565b9050610af08582866130e3565b5b5050505050565b425b90565b60008060025b83516002811115613a8f57fe5b14613a9657fe5b82608001516001604060020a03161515613ab35760019150611f27565b613ac08360800151612c93565b9050611f248160e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b91505b50919050565b80613c298585808685613e41565b9050613c388584868685613e41565b90505b949350505050565b6000808260a001516001604060020a03161515613c635760009150611f27565b613c708360a00151612cde565b9050613da28160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b60010191505b50919050565b6000806000613dc08460200151612c93565b60028101546001604060020a031693509150600090505b83604001515181101561242057613e0684604001518281518110613df757fe5b90602001906020020151612c93565b60028101549092506001604060020a031683901115613e305760028201546001604060020a031692505b5b600101613dd7565b5b5050919050565b600080600080866001604060020a0316886001604060020a031614613e6857610100613e6b565b60005b61ffff169250849350613e7d88612cde565b6001810154909250613e9d908a906001604060020a031689898789613f62565b9350600090505b60028201546001604060020a0382161015613f1a57613f0f8983600201836001604060020a0316815481101515613ed757fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189613f62565b93505b600101613ea4565b600382015460006001604060020a039091161115613f55576003820154613f52908a906001604060020a0316898960ff880189613f62565b93505b5b50505095945050505050565b80600080613f6f88612c93565b6003810154909150600160a060020a031615801590613f8e5750600083115b156130d7578815614049576003810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561401857600080fd5b6102c65a03f1151561402957600080fd5b50505060405180519250508282111561404157600080fd5b8192506130d7565b6003810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156140bf57600080fd5b6102c65a03f115156140d057600080fd5b5050505b5b5b50509695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b60206040519081016040526000815290565b81548183558181151161419f5760040281600402836000526020600020918201910161419f9190614341565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b81548183558181151161419f5760040281600402836000526020600020918201910161419f91906143c5565b5b505050565b828054828255906000526020600020906003016004900481019282156142fe5791602002820160005b838211156142c957835183826101000a8154816001604060020a0302191690836001604060020a03160217905550926020019260080160208160070104928301926001030261427f565b80156142fc5782816101000a8154906001604060020a0302191690556008016020816007010492830192600103026142c9565b505b5061415d92915061442c565b5090565b60206040519081016040526000815290565b610df391905b8082111561415d5760008155600101614326565b5090565b90565b610df391905b8082111561415d57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061437a6001830182614458565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff19169055600401614347565b5090565b90565b610df391905b8082111561415d57600080825560018201805467ffffffffffffffff191690556143f860028301826144a0565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff191690556004016143cb565b5090565b90565b610df391905b8082111561415d57805467ffffffffffffffff19168155600101614432565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061447e57506131f1565b601f0160209004906000526020600020908101906131f19190614320565b5b50565b5080546000825560030160049004906000526020600020908101906131f19190614320565b5b505600a165627a7a7230582064dcbf2746f27aad9956178e22f6f2b92e3a47284fbd4d86e1d3961975f5b6e20029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b6040516020806200474e833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000249565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200013c565b5b505050565b6200013991905b8082111562000135578054600160a860020a03191681556000620001076001830182620001ae565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000df565b5090565b90565b6200013991905b808211156200013557600080825560018201805467ffffffffffffffff19169055620001736002830182620001fa565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000143565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d65750620001f6565b601f016020900490600052602060002090810190620001f6919062000225565b5b50565b508054600082556003016004900490600052602060002090810190620001f6919062000225565b5b50565b6200013991905b808211156200013557600081556001016200022c565b5090565b90565b6144f580620002596000396000f300606060405236156101385763ffffffff60e060020a60003504166313734d87811461013d57806314e7b1dc146101b85780631e215648146102725780632a8ec8cc146102f85780632ee888081461031d5780633f657a461461034157806343387983146103bf57806347c5ef43146103e357806350f8a803146104145780635503d9ba1461044f57806357adafb6146104745780638233ba6a146104c55780638fe1f2ce1461055b5780639398f5a21461058e578063a7e474d5146105df578063aa99759c14610600578063af9f45631461067b578063bce0906d1461069f578063bde60ac91461070a578063d639cd7314610726578063e9c211e214610790578063eba8ba06146107b4578063ef3766e4146108a0578063fbfa77cf146108f1578063fe7fff4914610920578063fecdf177146109a6575b600080fd5b341561014857600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250610a21915050565b005b34156101c357600080fd5b6101da6001604060020a0360043516602435610af7565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156102355780820151818401525b60200161021c565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561027d57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250610c1e915050565b6040516001604060020a03909116815260200160405180910390f35b341561030357600080fd5b61030b610deb565b60405190815260200160405180910390f35b341561032857600080fd5b6101b66001604060020a0360043516602435610df6565b005b341561034c57600080fd5b6103606001604060020a0360043516610f3c565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156103a557fe5b60ff16815260200197505050505050505060405180910390f35b34156103ca57600080fd5b6101b66001604060020a0360043516602435610fa9565b005b34156103ee57600080fd5b6101b66001604060020a0360043581169060243581169060443590606435166112ab565b005b341561041f57600080fd5b6102dc6001604060020a03600435166118a9565b6040516001604060020a03909116815260200160405180910390f35b341561045a57600080fd5b61030b611a75565b60405190815260200160405180910390f35b341561047f57600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611a8095505050505050565b005b34156104d057600080fd5b6102dc60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611af39050565b6040516001604060020a03909116815260200160405180910390f35b341561056657600080fd5b61057a6001604060020a0360043516611e7b565b604051901515815260200160405180910390f35b341561059957600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611f2d95505050505050565b005b34156105ea57600080fd5b6101b66001604060020a0360043516611fa0565b005b341561060b57600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061215a915050565b005b341561068657600080fd5b6101b66001604060020a0360043516602435612230565b005b34156106aa57600080fd5b6102dc60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506123db95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6101b66001604060020a0360043581169060243516612428565b005b341561073157600080fd5b6101b6600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506126af915050565b005b341561079b57600080fd5b6101b66001604060020a0360043516602435612726565b005b34156107bf57600080fd5b6107d36001604060020a0360043516612850565b604051808860028111156107e357fe5b60ff168152600160a060020a0388811660208301526001604060020a0387811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b8381101561085f5780820151818401525b602001610846565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34156108ab57600080fd5b6101b6600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061296f95505050505050565b005b34156108fc57600080fd5b6109046129e2565b604051600160a060020a03909116815260200160405180910390f35b341561092b57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506129f1915050565b6040516001604060020a03909116815260200160405180910390f35b34156109b157600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612bbd915050565b005b6000610a2c85612c93565b905060015b815460ff166002811115610a4157fe5b14610a4b57600080fd5b805433600160a060020a039081166101009092041614610a6a57600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610a9d9291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b600080610b02614161565b600080610b0e87612cde565b91508160020160018703815481101515610b2457fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610b5985612c93565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505092505b50509250925092565b600180549081808201610c318382614173565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115610caa57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610cf09291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1657600080fd5b610e1f84612cde565b915060015b600383015460c060020a900460ff166002811115610e3e57fe5b14610e4857600080fd5b836001604060020a0316610e5b85612d27565b6001604060020a031614610e6e57600080fd5b6001820154600283018054610f27926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ebe5790505b505050506003860154600091508190608060020a90046001604060020a03166002612df1565b9050610f348482856130e3565b5b5b50505050565b600080600080600080600080610f5189612cde565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fb7856118a9565b9450610fc285612cde565b925060005b600384015460c060020a900460ff166002811115610fe157fe5b14610feb57600080fd5b6001830154611002906001604060020a0316612c93565b91506111548260e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b600183015460028401805461120d926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111a45790505b505050506003870154600091508190608060020a90046001604060020a03166001612df1565b905061121a8582866130e3565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128f57600080fd5b6102c65a03f115156112a057600080fd5b5050505b5050505050565b60008060008060006112bc886118a9565b97506112c788612cde565b94506112d286612c93565b93506112dd89612c93565b925061142f8360e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b600386015460c060020a900460ff16600281111561144c57fe5b1461145657600080fd5b60018501546001604060020a038a8116911614156114f35760005b845460ff16600281111561148157fe5b1415611497576114928888886131f5565b6114eb565b60025b845460ff1660028111156114aa57fe5b14156114c05761149288888861323b565b6114eb565b60015b845460ff1660028111156114d357fe5b14156114e957611492888888613487565b6114eb565bfe5b5b5b5b61189d565b6116248560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156115bd57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161157a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561161057fe5b600281111561161b57fe5b9052508a6135bb565b6001604060020a03908116925082146114e95760005b845460ff16600281111561164a57fe5b14156116805760018501546001604060020a0387811691161461166957fe5b6114eb88888760020180549050613622565b61189d565b60015b845460ff16600281111561169357fe5b141561185a576117ca8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561176357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116117205790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156117b657fe5b60028111156117c157fe5b905250876135bb565b6001604060020a039081169150811415611805576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b81811115611834576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b8181116114eb576114eb888860018489600201805490500303613622565b5b5b5b61189d565b60025b845460ff16600281111561186d57fe5b14156114e95761188a888860018589600201805490500303613622565b6114eb888888613728565b61189d565b5bfe5b5b505050505050505050565b6000806000806118b885612cde565b925060005b600384015460c060020a900460ff1660028111156118d757fe5b146118e457849350611a6d565b600383015460006001604060020a0390911611801561191d57506003830154604060020a90046001604060020a031661191b613a77565b115b15611a3b5760018301546002840180546119da926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b6003840154909250611a1b906001604060020a031660006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b9050611a2c858285600001546130e3565b809450611a3885612cde565b92505b611a4485612d27565b90506001604060020a0380821690861614611a6857611a68858285600001546130e3565b5b8093505b505050919050565b600154600019015b90565b600080805b8351831015610f34576001604060020a03848481518110611aa257fe5b90602001906020020151169150604060020a848481518110611ac057fe5b90602001906020020151811515611ad357fe5b049050611ae08282610fa9565b5b600190920191611a85565b5b50505050565b6000806001604060020a03851615611ca857611b0e85612c93565b905060025b815460ff166002811115611b2357fe5b14611b2d57600080fd5b805433600160a060020a039081166101009092041614611b4c57600080fd5b6014611c9e8260e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b10611ca857600080fd5b5b60018054925082808201611cbd8382614173565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d90526001604060020a03808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115611d3757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611d7d9291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080611e8783612c93565b905060005b815460ff166002811115611e9c57fe5b1415611eab5760009150611f27565b60025b815460ff166002811115611ebe57fe5b14611ec557fe5b6002810154608060020a900460ff1615611ee25760019150611f27565b6002810154604060020a90046001604060020a03161515611f065760009150611f27565b6002810154611f2490604060020a90046001604060020a0316611e7b565b91505b50919050565b600080805b8351831015610f34576001604060020a03848481518110611f4f57fe5b90602001906020020151169150604060020a848481518110611f6d57fe5b90602001906020020151811515611f8057fe5b049050611f8d8282610df6565b5b600190920191611f32565b5b50505050565b6000611fab82612c93565b90506120fd8160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60028101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b600061216585612c93565b905060025b815460ff16600281111561217a57fe5b1461218457600080fd5b805433600160a060020a0390811661010090920416146121a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516121d69291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b60008061223c846118a9565b935061224784612cde565b6001810154909250612261906001604060020a0316612c93565b90506123b38160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b6003820154610f34908590608060020a90046001604060020a0316856130e3565b5b50505050565b600080805b8351821015612420576001604060020a038483815181106123fd57fe5b90602001906020020151169050612413816118a9565b505b6001909101906123e0565b5b5050919050565b60008080806001604060020a038616151561245d5761245a602060405190810160405260008082526203f480906129f1565b95505b61246686612c93565b93506125b88460e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b845460ff1660028111156125cb57fe5b146125d557600080fd5b349250600083116125e557600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561261857600080fd5b61264886600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b915061265382612cde565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36126a6868385886112ab565b5b505050505050565b600080805b84518310156126a6576001604060020a038584815181106126d157fe5b90602001906020020151169150604060020a8584815181106126ef57fe5b9060200190602002015181151561270257fe5b049050612711868383876112ab565b5b6001909201916126b4565b5b505050505050565b600254600090819033600160a060020a0390811691161461274657600080fd5b61274f84612cde565b915060015b600383015460c060020a900460ff16600281111561276e57fe5b1461277857600080fd5b6001820154600283018054612830926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561280b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127c85790505b505050506003860154600091508190608060020a90046001604060020a031681612df1565b9050610f27816118a9565b9050610f348482856130e3565b5b5b50505050565b60008061285b614161565b600080600080600061286c89612c93565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156129225780601f106128f757610100808354040283529160200191612922565b820191906000526020600020905b81548152906001019060200180831161290557829003601f168201915b50505050600283015460038401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600080805b8351831015610f34576001604060020a0384848151811061299157fe5b90602001906020020151169150604060020a8484815181106129af57fe5b906020019060200201518115156129c257fe5b0490506129cf8282612726565b5b600190920191612974565b5b50505050565b600254600160a060020a031681565b600180549081808201612a048382614173565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115612a7d57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612ac39291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b6000612bc885612c93565b905060005b815460ff166002811115612bdd57fe5b14612be757600080fd5b805433600160a060020a039081166101009092041614612c0657600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051612c399291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b6001546000906001604060020a03831610612cad57600080fd5b600180546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080546001604060020a03831610612cf657600080fd5b600080546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080806001604060020a0384161515612d445760009250612420565b612d4d84612cde565b6001810154909250612d67906001604060020a0316612c93565b905060005b815460ff166002811115612d7c57fe5b1415612d8a57839250612420565b60025b815460ff166002811115612d9d57fe5b14612da457fe5b6001820154612dbb906001604060020a0316611e7b565b1515612dc957839250612420565b6003820154612de790608060020a90046001604060020a0316612d27565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612e3f5780820151818401525b602001612e26565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612eac57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612f15578092506130d7565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612f538382614224565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612fc557fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613010929160200190614256565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156130cb57fe5b02179055505050508092505b50509695505050505050565b60008060006130f56001878787613c1b565b9250846001604060020a0316866001604060020a03161415613116576126a6565b821515613122576126a6565b61312b86612cde565b915061313685612cde565b82549091508390101561314857600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36131a36000878786613c1b565b505b505050505050565b8060200151600160a060020a031633600160a060020a031614806131e657508060c00151600160a060020a031633600160a060020a0316145b15156131f157600080fd5b5b50565b6000610f2782600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b9050610f348482856130e3565b5b50505050565b600080600061324986612cde565b9250601461337d8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061338757600080fd5b600183015460028401805461343f926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b91506134718460006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b90506126a68682876130e3565b5b505050505050565b6000613491614161565b60008061349d87612cde565b6002810154909450601490106134b257600080fd5b60028401546001016040518059106134c75750595b908082528060200260200182016040525b509250600091505b600284015482101561355557600284018054839081106134fc57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061353257fe5b6001604060020a039092166020928302909101909101525b6001909101906134e0565b6002840154859084908151811061356857fe5b6001604060020a0392831660209182029092010152600185015460038601546135a4929182169186916000918291608060020a90041681612df1565b90506131a38782886130e3565b5b50505050505050565b6000805b83604001515181101561361057826001604060020a0316846040015182815181106135e657fe5b906020019060200201516001604060020a031614156136075780915061361b565b5b6001016135bf565b6001604060020a0391505b5092915050565b600061362c614161565b60008061363887612cde565b60028101549094508590036040518059106136505750595b908082528060200260200182016040525b509250600091505b60028401548590038210156136e1576002840180548390811061368857fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03168383815181106136be57fe5b6001604060020a039092166020928302909101909101525b600190910190613669565b600184015460038501546135a4916001604060020a039081169186916000918291608060020a9091041681612df1565b90506131a38782886130e3565b5b50505050505050565b60008061373485612cde565b915060146138688360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061387257600080fd5b6001820154600283018054613a62926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561390557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116138c25790505b505050505085613a3b8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156139d557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139925790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a2857fe5b6002811115613a3357fe5b905250613dae565b613a43613a77565b6003880154910190608060020a90046001604060020a03166000612df1565b9050610af08582866130e3565b5b5050505050565b425b90565b60008060025b83516002811115613a8f57fe5b14613a9657fe5b82608001516001604060020a03161515613ab35760019150611f27565b613ac08360800151612c93565b9050611f248160e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b91505b50919050565b80613c298585808685613e41565b9050613c388584868685613e41565b90505b949350505050565b6000808260a001516001604060020a03161515613c635760009150611f27565b613c708360a00151612cde565b9050613da28160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b60010191505b50919050565b6000806000613dc08460200151612c93565b60028101546001604060020a031693509150600090505b83604001515181101561242057613e0684604001518281518110613df757fe5b90602001906020020151612c93565b60028101549092506001604060020a031683901115613e305760028201546001604060020a031692505b5b600101613dd7565b5b5050919050565b600080600080866001604060020a0316886001604060020a031614613e6857610100613e6b565b60005b61ffff169250849350613e7d88612cde565b6001810154909250613e9d908a906001604060020a031689898789613f62565b9350600090505b60028201546001604060020a0382161015613f1a57613f0f8983600201836001604060020a0316815481101515613ed757fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189613f62565b93505b600101613ea4565b600382015460006001604060020a039091161115613f55576003820154613f52908a906001604060020a0316898960ff880189613f62565b93505b5b50505095945050505050565b80600080613f6f88612c93565b6003810154909150600160a060020a031615801590613f8e5750600083115b156130d7578815614049576003810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561401857600080fd5b6102c65a03f1151561402957600080fd5b50505060405180519250508282111561404157600080fd5b8192506130d7565b6003810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156140bf57600080fd5b6102c65a03f115156140d057600080fd5b5050505b5b5b50509695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b60206040519081016040526000815290565b81548183558181151161419f5760040281600402836000526020600020918201910161419f9190614341565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b81548183558181151161419f5760040281600402836000526020600020918201910161419f91906143c5565b5b505050565b828054828255906000526020600020906003016004900481019282156142fe5791602002820160005b838211156142c957835183826101000a8154816001604060020a0302191690836001604060020a03160217905550926020019260080160208160070104928301926001030261427f565b80156142fc5782816101000a8154906001604060020a0302191690556008016020816007010492830192600103026142c9565b505b5061415d92915061442c565b5090565b60206040519081016040526000815290565b610df391905b8082111561415d5760008155600101614326565b5090565b90565b610df391905b8082111561415d57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061437a6001830182614458565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff19169055600401614347565b5090565b90565b610df391905b8082111561415d57600080825560018201805467ffffffffffffffff191690556143f860028301826144a0565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff191690556004016143cb565b5090565b90565b610df391905b8082111561415d57805467ffffffffffffffff19168155600101614432565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061447e57506131f1565b601f0160209004906000526020600020908101906131f19190614320565b5b50565b5080546000825560030160049004906000526020600020908101906131f19190614320565b5b505600a165627a7a72305820f6aad0b5da205eee8a4b64284b32667b9b076761c0f19643a8197b96b68d9d640029" exports.LiquidPledgingBaseAbi = [{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"proposedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001b1f833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000245565b8154818355818115116200009957600402816004028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000138565b5b505050565b6200013591905b8082111562000131578054600160a860020a03191681556000620001036001830182620001aa565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000db565b5090565b90565b6200013591905b808211156200013157600080825560018201805467ffffffffffffffff191690556200016f6002830182620001f6565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200013f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d25750620001f2565b601f016020900490600052602060002090810190620001f2919062000221565b5b50565b508054600082556003016004900490600052602060002090810190620001f2919062000221565b5b50565b6200013591905b8082111562000131576000815560010162000228565b5090565b90565b6118ca80620002556000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313734d8781146100c757806314e7b1dc146101445780631e215648146102005780632a8ec8cc146102885780633f657a46146102ad5780635503d9ba1461032d5780638233ba6a146103525780638fe1f2ce146103ea578063aa99759c1461041e578063eba8ba061461049b578063fbfa77cf14610589578063fe7fff49146105b8578063fecdf17714610640575b600080fd5b34156100d257600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506106bd915050565b005b341561014f57600080fd5b61016767ffffffffffffffff60043516602435610794565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101c35780820151818401525b6020016101aa565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020b57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506108bc915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561029357600080fd5b61029b610a8e565b60405190815260200160405180910390f35b34156102b857600080fd5b6102cd67ffffffffffffffff60043516610a99565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561031357fe5b60ff16815260200197505050505050505060405180910390f35b341561033857600080fd5b61029b610b21565b60405190815260200160405180910390f35b341561035d57600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610b2c9050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103f557600080fd5b61040a67ffffffffffffffff60043516610ec0565b604051901515815260200160405180910390f35b341561042957600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250610f7e915050565b005b34156104a657600080fd5b6104bb67ffffffffffffffff60043516611055565b604051808860028111156104cb57fe5b60ff168152600160a060020a03888116602083015267ffffffffffffffff87811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156105485780820151818401525b60200161052f565b50505050905090810190601f1680156105755780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561059457600080fd5b61059c61117a565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611189915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561064b57600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061135a915050565b005b60006106c885611431565b905060015b815460ff1660028111156106dd57fe5b146106e757600080fd5b805433600160a060020a03908116610100909204161461070657600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161073992916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b60008061079f6116ee565b6000806107ab8761147e565b915081600201600187038154811015156107c157fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506107f785611431565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b505050505092505b50509250925092565b6001805490818082016108cf8382611700565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561094957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161098f92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600080600080600080600080610aae8961147e565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600154600019015b90565b60008067ffffffffffffffff851615610ce857610b4885611431565b905060025b815460ff166002811115610b5d57fe5b14610b6757600080fd5b805433600160a060020a039081166101009092041614610b8657600080fd5b6014610cde8260e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b10610ce857600080fd5b5b60018054925082808201610cfd8382611700565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d905267ffffffffffffffff808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115610d7857fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610dbe92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080610ecc83611431565b905060005b815460ff166002811115610ee157fe5b1415610ef05760009150610f78565b60025b815460ff166002811115610f0357fe5b14610f0a57fe5b6002810154608060020a900460ff1615610f275760019150610f78565b600281015468010000000000000000900467ffffffffffffffff161515610f515760009150610f78565b6002810154610f759068010000000000000000900467ffffffffffffffff16610ec0565b91505b50919050565b6000610f8985611431565b905060025b815460ff166002811115610f9e57fe5b14610fa857600080fd5b805433600160a060020a039081166101009092041614610fc757600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610ffa92916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b6000806110606116ee565b600080600080600061107189611431565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b505050506002830154600384015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600254600160a060020a031681565b60018054908180820161119c8382611700565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561121657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161125c92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b600061136585611431565b905060005b815460ff16600281111561137a57fe5b1461138457600080fd5b805433600160a060020a0390811661010090920416146113a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516113d692916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b60015460009067ffffffffffffffff83161061144c57600080fd5b6001805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b6000805467ffffffffffffffff83161061149757600080fd5b6000805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b60008060025b835160028111156114dc57fe5b146114e357fe5b826080015167ffffffffffffffff1615156115015760019150610f78565b61150e8360800151611431565b9050610f758160e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b91505b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b60206040519081016040526000815290565b81548183558181151161172c5760040281600402836000526020600020918201910161172c91906117d2565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b610a9691905b808211156116ea57600081556001016117b7565b5090565b90565b610a9691905b808211156116ea57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061180b6001830182611856565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016117d8565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061187c575061189a565b601f01602090049060005260206000209081019061189a91906117b1565b5b505600a165627a7a7230582016d9159834210b88c85d4f9c75c253e4fe28136b2f9f120de43c789a47bb52f70029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001b1f833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000245565b8154818355818115116200009957600402816004028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000138565b5b505050565b6200013591905b8082111562000131578054600160a860020a03191681556000620001036001830182620001aa565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000db565b5090565b90565b6200013591905b808211156200013157600080825560018201805467ffffffffffffffff191690556200016f6002830182620001f6565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200013f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d25750620001f2565b601f016020900490600052602060002090810190620001f2919062000221565b5b50565b508054600082556003016004900490600052602060002090810190620001f2919062000221565b5b50565b6200013591905b8082111562000131576000815560010162000228565b5090565b90565b6118ca80620002556000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313734d8781146100c757806314e7b1dc146101445780631e215648146102005780632a8ec8cc146102885780633f657a46146102ad5780635503d9ba1461032d5780638233ba6a146103525780638fe1f2ce146103ea578063aa99759c1461041e578063eba8ba061461049b578063fbfa77cf14610589578063fe7fff49146105b8578063fecdf17714610640575b600080fd5b34156100d257600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506106bd915050565b005b341561014f57600080fd5b61016767ffffffffffffffff60043516602435610794565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101c35780820151818401525b6020016101aa565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020b57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506108bc915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561029357600080fd5b61029b610a8e565b60405190815260200160405180910390f35b34156102b857600080fd5b6102cd67ffffffffffffffff60043516610a99565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561031357fe5b60ff16815260200197505050505050505060405180910390f35b341561033857600080fd5b61029b610b21565b60405190815260200160405180910390f35b341561035d57600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610b2c9050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103f557600080fd5b61040a67ffffffffffffffff60043516610ec0565b604051901515815260200160405180910390f35b341561042957600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250610f7e915050565b005b34156104a657600080fd5b6104bb67ffffffffffffffff60043516611055565b604051808860028111156104cb57fe5b60ff168152600160a060020a03888116602083015267ffffffffffffffff87811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156105485780820151818401525b60200161052f565b50505050905090810190601f1680156105755780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561059457600080fd5b61059c61117a565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611189915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561064b57600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061135a915050565b005b60006106c885611431565b905060015b815460ff1660028111156106dd57fe5b146106e757600080fd5b805433600160a060020a03908116610100909204161461070657600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161073992916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b60008061079f6116ee565b6000806107ab8761147e565b915081600201600187038154811015156107c157fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506107f785611431565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b505050505092505b50509250925092565b6001805490818082016108cf8382611700565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561094957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161098f92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600080600080600080600080610aae8961147e565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600154600019015b90565b60008067ffffffffffffffff851615610ce857610b4885611431565b905060025b815460ff166002811115610b5d57fe5b14610b6757600080fd5b805433600160a060020a039081166101009092041614610b8657600080fd5b6014610cde8260e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b10610ce857600080fd5b5b60018054925082808201610cfd8382611700565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d905267ffffffffffffffff808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115610d7857fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610dbe92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080610ecc83611431565b905060005b815460ff166002811115610ee157fe5b1415610ef05760009150610f78565b60025b815460ff166002811115610f0357fe5b14610f0a57fe5b6002810154608060020a900460ff1615610f275760019150610f78565b600281015468010000000000000000900467ffffffffffffffff161515610f515760009150610f78565b6002810154610f759068010000000000000000900467ffffffffffffffff16610ec0565b91505b50919050565b6000610f8985611431565b905060025b815460ff166002811115610f9e57fe5b14610fa857600080fd5b805433600160a060020a039081166101009092041614610fc757600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610ffa92916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b6000806110606116ee565b600080600080600061107189611431565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b505050506002830154600384015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600254600160a060020a031681565b60018054908180820161119c8382611700565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561121657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161125c92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b600061136585611431565b905060005b815460ff16600281111561137a57fe5b1461138457600080fd5b805433600160a060020a0390811661010090920416146113a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516113d692916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b60015460009067ffffffffffffffff83161061144c57600080fd5b6001805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b6000805467ffffffffffffffff83161061149757600080fd5b6000805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b60008060025b835160028111156114dc57fe5b146114e357fe5b826080015167ffffffffffffffff1615156115015760019150610f78565b61150e8360800151611431565b9050610f758160e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b91505b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b60206040519081016040526000815290565b81548183558181151161172c5760040281600402836000526020600020918201910161172c91906117d2565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b610a9691905b808211156116ea57600081556001016117b7565b5090565b90565b610a9691905b808211156116ea57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061180b6001830182611856565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016117d8565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061187c575061189a565b601f01602090049060005260206000209081019061189a91906117b1565b5b505600a165627a7a72305820eb62c3cdcd8d067a18c63c589a91d596092ce55e6ae9bb750e338a31f3fbb38c0029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0x5d606f7c92c4e977386ba534dce73e1db906c8846d7367f04c179e62ad11bb29" +exports._sha256 = "0x6ef39432823e6b1ed0ec9e5d51466828932cc9aede2d720921f179ea462d8f0c" diff --git a/build/LiquidPledgingBase.sol.js b/build/LiquidPledgingBase.sol.js index 0cb395c..a27fd5e 100644 --- a/build/LiquidPledgingBase.sol.js +++ b/build/LiquidPledgingBase.sol.js @@ -3,8 +3,8 @@ exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports.LiquidPledgingBaseAbi = [{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"proposedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001b1f833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000245565b8154818355818115116200009957600402816004028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000138565b5b505050565b6200013591905b8082111562000131578054600160a860020a03191681556000620001036001830182620001aa565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000db565b5090565b90565b6200013591905b808211156200013157600080825560018201805467ffffffffffffffff191690556200016f6002830182620001f6565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200013f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d25750620001f2565b601f016020900490600052602060002090810190620001f2919062000221565b5b50565b508054600082556003016004900490600052602060002090810190620001f2919062000221565b5b50565b6200013591905b8082111562000131576000815560010162000228565b5090565b90565b6118ca80620002556000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313734d8781146100c757806314e7b1dc146101445780631e215648146102005780632a8ec8cc146102885780633f657a46146102ad5780635503d9ba1461032d5780638233ba6a146103525780638fe1f2ce146103ea578063aa99759c1461041e578063eba8ba061461049b578063fbfa77cf14610589578063fe7fff49146105b8578063fecdf17714610640575b600080fd5b34156100d257600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506106bd915050565b005b341561014f57600080fd5b61016767ffffffffffffffff60043516602435610794565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101c35780820151818401525b6020016101aa565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020b57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506108bc915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561029357600080fd5b61029b610a8e565b60405190815260200160405180910390f35b34156102b857600080fd5b6102cd67ffffffffffffffff60043516610a99565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561031357fe5b60ff16815260200197505050505050505060405180910390f35b341561033857600080fd5b61029b610b21565b60405190815260200160405180910390f35b341561035d57600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610b2c9050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103f557600080fd5b61040a67ffffffffffffffff60043516610ec0565b604051901515815260200160405180910390f35b341561042957600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250610f7e915050565b005b34156104a657600080fd5b6104bb67ffffffffffffffff60043516611055565b604051808860028111156104cb57fe5b60ff168152600160a060020a03888116602083015267ffffffffffffffff87811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156105485780820151818401525b60200161052f565b50505050905090810190601f1680156105755780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561059457600080fd5b61059c61117a565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611189915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561064b57600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061135a915050565b005b60006106c885611431565b905060015b815460ff1660028111156106dd57fe5b146106e757600080fd5b805433600160a060020a03908116610100909204161461070657600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161073992916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b60008061079f6116ee565b6000806107ab8761147e565b915081600201600187038154811015156107c157fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506107f785611431565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b505050505092505b50509250925092565b6001805490818082016108cf8382611700565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561094957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161098f92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600080600080600080600080610aae8961147e565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600154600019015b90565b60008067ffffffffffffffff851615610ce857610b4885611431565b905060025b815460ff166002811115610b5d57fe5b14610b6757600080fd5b805433600160a060020a039081166101009092041614610b8657600080fd5b6014610cde8260e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b10610ce857600080fd5b5b60018054925082808201610cfd8382611700565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d905267ffffffffffffffff808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115610d7857fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610dbe92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080610ecc83611431565b905060005b815460ff166002811115610ee157fe5b1415610ef05760009150610f78565b60025b815460ff166002811115610f0357fe5b14610f0a57fe5b6002810154608060020a900460ff1615610f275760019150610f78565b600281015468010000000000000000900467ffffffffffffffff161515610f515760009150610f78565b6002810154610f759068010000000000000000900467ffffffffffffffff16610ec0565b91505b50919050565b6000610f8985611431565b905060025b815460ff166002811115610f9e57fe5b14610fa857600080fd5b805433600160a060020a039081166101009092041614610fc757600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610ffa92916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b6000806110606116ee565b600080600080600061107189611431565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b505050506002830154600384015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600254600160a060020a031681565b60018054908180820161119c8382611700565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561121657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161125c92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b600061136585611431565b905060005b815460ff16600281111561137a57fe5b1461138457600080fd5b805433600160a060020a0390811661010090920416146113a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516113d692916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b60015460009067ffffffffffffffff83161061144c57600080fd5b6001805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b6000805467ffffffffffffffff83161061149757600080fd5b6000805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b60008060025b835160028111156114dc57fe5b146114e357fe5b826080015167ffffffffffffffff1615156115015760019150610f78565b61150e8360800151611431565b9050610f758160e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b91505b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b60206040519081016040526000815290565b81548183558181151161172c5760040281600402836000526020600020918201910161172c91906117d2565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b610a9691905b808211156116ea57600081556001016117b7565b5090565b90565b610a9691905b808211156116ea57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061180b6001830182611856565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016117d8565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061187c575061189a565b601f01602090049060005260206000209081019061189a91906117b1565b5b505600a165627a7a72305820ba11224e7c959ec16cdd177a23f394c7f586caecc00cd83180fb550875a71c080029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001b1f833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000245565b8154818355818115116200009957600402816004028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000138565b5b505050565b6200013591905b8082111562000131578054600160a860020a03191681556000620001036001830182620001aa565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000db565b5090565b90565b6200013591905b808211156200013157600080825560018201805467ffffffffffffffff191690556200016f6002830182620001f6565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200013f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d25750620001f2565b601f016020900490600052602060002090810190620001f2919062000221565b5b50565b508054600082556003016004900490600052602060002090810190620001f2919062000221565b5b50565b6200013591905b8082111562000131576000815560010162000228565b5090565b90565b6118ca80620002556000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313734d8781146100c757806314e7b1dc146101445780631e215648146102005780632a8ec8cc146102885780633f657a46146102ad5780635503d9ba1461032d5780638233ba6a146103525780638fe1f2ce146103ea578063aa99759c1461041e578063eba8ba061461049b578063fbfa77cf14610589578063fe7fff49146105b8578063fecdf17714610640575b600080fd5b34156100d257600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506106bd915050565b005b341561014f57600080fd5b61016767ffffffffffffffff60043516602435610794565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101c35780820151818401525b6020016101aa565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020b57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506108bc915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561029357600080fd5b61029b610a8e565b60405190815260200160405180910390f35b34156102b857600080fd5b6102cd67ffffffffffffffff60043516610a99565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561031357fe5b60ff16815260200197505050505050505060405180910390f35b341561033857600080fd5b61029b610b21565b60405190815260200160405180910390f35b341561035d57600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610b2c9050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103f557600080fd5b61040a67ffffffffffffffff60043516610ec0565b604051901515815260200160405180910390f35b341561042957600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250610f7e915050565b005b34156104a657600080fd5b6104bb67ffffffffffffffff60043516611055565b604051808860028111156104cb57fe5b60ff168152600160a060020a03888116602083015267ffffffffffffffff87811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156105485780820151818401525b60200161052f565b50505050905090810190601f1680156105755780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561059457600080fd5b61059c61117a565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611189915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561064b57600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061135a915050565b005b60006106c885611431565b905060015b815460ff1660028111156106dd57fe5b146106e757600080fd5b805433600160a060020a03908116610100909204161461070657600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161073992916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b60008061079f6116ee565b6000806107ab8761147e565b915081600201600187038154811015156107c157fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506107f785611431565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b505050505092505b50509250925092565b6001805490818082016108cf8382611700565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561094957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161098f92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600080600080600080600080610aae8961147e565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600154600019015b90565b60008067ffffffffffffffff851615610ce857610b4885611431565b905060025b815460ff166002811115610b5d57fe5b14610b6757600080fd5b805433600160a060020a039081166101009092041614610b8657600080fd5b6014610cde8260e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b10610ce857600080fd5b5b60018054925082808201610cfd8382611700565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d905267ffffffffffffffff808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115610d7857fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610dbe92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080610ecc83611431565b905060005b815460ff166002811115610ee157fe5b1415610ef05760009150610f78565b60025b815460ff166002811115610f0357fe5b14610f0a57fe5b6002810154608060020a900460ff1615610f275760019150610f78565b600281015468010000000000000000900467ffffffffffffffff161515610f515760009150610f78565b6002810154610f759068010000000000000000900467ffffffffffffffff16610ec0565b91505b50919050565b6000610f8985611431565b905060025b815460ff166002811115610f9e57fe5b14610fa857600080fd5b805433600160a060020a039081166101009092041614610fc757600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610ffa92916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b6000806110606116ee565b600080600080600061107189611431565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b505050506002830154600384015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600254600160a060020a031681565b60018054908180820161119c8382611700565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561121657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161125c92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b600061136585611431565b905060005b815460ff16600281111561137a57fe5b1461138457600080fd5b805433600160a060020a0390811661010090920416146113a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516113d692916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b60015460009067ffffffffffffffff83161061144c57600080fd5b6001805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b6000805467ffffffffffffffff83161061149757600080fd5b6000805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b60008060025b835160028111156114dc57fe5b146114e357fe5b826080015167ffffffffffffffff1615156115015760019150610f78565b61150e8360800151611431565b9050610f758160e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b91505b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b60206040519081016040526000815290565b81548183558181151161172c5760040281600402836000526020600020918201910161172c91906117d2565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b610a9691905b808211156116ea57600081556001016117b7565b5090565b90565b610a9691905b808211156116ea57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061180b6001830182611856565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016117d8565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061187c575061189a565b601f01602090049060005260206000209081019061189a91906117b1565b5b505600a165627a7a723058204377939b2f7ba02b58755f2f51936aec6289dcec550d3c3d8ff10800fd396fae0029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0xafc7707016e50574df2c0e04b2ed67df5325e3268e14f04c39f23d99914847d0" +exports._sha256 = "0x1920810ff8297581a012f68669f31412ba17f0462c5afef917b070cc646f6870" diff --git a/build/LiquidPledgingBase_all.sol b/build/LiquidPledgingBase_all.sol index 0ecf813..c862f24 100644 --- a/build/LiquidPledgingBase_all.sol +++ b/build/LiquidPledgingBase_all.sol @@ -52,7 +52,7 @@ contract LiquidPledgingBase { uint constant MAX_INTERCAMPAIGN_LEVEL = 20; enum PledgeAdminType { Giver, Delegate, Campaign } - enum PaymentState { NotPaid, Paying, Paid } // TODO name change NotPaid + enum PaymentState { Pledged, Paying, Paid } // TODO name change Pledged /// @dev This struct defines the details of each the PledgeAdmin, these /// PledgeAdmins can own pledges and act as delegates diff --git a/build/LiquidPledgingMock.sol.js b/build/LiquidPledgingMock.sol.js index 466bd6a..f1f94a5 100644 --- a/build/LiquidPledgingMock.sol.js +++ b/build/LiquidPledgingMock.sol.js @@ -3,12 +3,12 @@ exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports.LiquidPledgingAbi = [{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"proposedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"},{"name":"idReceiver","type":"uint64"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"}],"name":"cancelCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint64"},{"indexed":true,"name":"to","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CancelCampaign","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b6040516020806200474e833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000249565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200013c565b5b505050565b6200013991905b8082111562000135578054600160a860020a03191681556000620001076001830182620001ae565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000df565b5090565b90565b6200013991905b808211156200013557600080825560018201805467ffffffffffffffff19169055620001736002830182620001fa565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000143565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d65750620001f6565b601f016020900490600052602060002090810190620001f6919062000225565b5b50565b508054600082556003016004900490600052602060002090810190620001f6919062000225565b5b50565b6200013991905b808211156200013557600081556001016200022c565b5090565b90565b6144f580620002596000396000f300606060405236156101385763ffffffff60e060020a60003504166313734d87811461013d57806314e7b1dc146101b85780631e215648146102725780632a8ec8cc146102f85780632ee888081461031d5780633f657a461461034157806343387983146103bf57806347c5ef43146103e357806350f8a803146104145780635503d9ba1461044f57806357adafb6146104745780638233ba6a146104c55780638fe1f2ce1461055b5780639398f5a21461058e578063a7e474d5146105df578063aa99759c14610600578063af9f45631461067b578063bce0906d1461069f578063bde60ac91461070a578063d639cd7314610726578063e9c211e214610790578063eba8ba06146107b4578063ef3766e4146108a0578063fbfa77cf146108f1578063fe7fff4914610920578063fecdf177146109a6575b600080fd5b341561014857600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250610a21915050565b005b34156101c357600080fd5b6101da6001604060020a0360043516602435610af7565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156102355780820151818401525b60200161021c565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561027d57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250610c1e915050565b6040516001604060020a03909116815260200160405180910390f35b341561030357600080fd5b61030b610deb565b60405190815260200160405180910390f35b341561032857600080fd5b6101b66001604060020a0360043516602435610df6565b005b341561034c57600080fd5b6103606001604060020a0360043516610f3c565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156103a557fe5b60ff16815260200197505050505050505060405180910390f35b34156103ca57600080fd5b6101b66001604060020a0360043516602435610fa9565b005b34156103ee57600080fd5b6101b66001604060020a0360043581169060243581169060443590606435166112ab565b005b341561041f57600080fd5b6102dc6001604060020a03600435166118a9565b6040516001604060020a03909116815260200160405180910390f35b341561045a57600080fd5b61030b611a75565b60405190815260200160405180910390f35b341561047f57600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611a8095505050505050565b005b34156104d057600080fd5b6102dc60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611af39050565b6040516001604060020a03909116815260200160405180910390f35b341561056657600080fd5b61057a6001604060020a0360043516611e7b565b604051901515815260200160405180910390f35b341561059957600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611f2d95505050505050565b005b34156105ea57600080fd5b6101b66001604060020a0360043516611fa0565b005b341561060b57600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061215a915050565b005b341561068657600080fd5b6101b66001604060020a0360043516602435612230565b005b34156106aa57600080fd5b6102dc60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506123db95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6101b66001604060020a0360043581169060243516612428565b005b341561073157600080fd5b6101b6600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506126af915050565b005b341561079b57600080fd5b6101b66001604060020a0360043516602435612726565b005b34156107bf57600080fd5b6107d36001604060020a0360043516612850565b604051808860028111156107e357fe5b60ff168152600160a060020a0388811660208301526001604060020a0387811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b8381101561085f5780820151818401525b602001610846565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34156108ab57600080fd5b6101b6600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061296f95505050505050565b005b34156108fc57600080fd5b6109046129e2565b604051600160a060020a03909116815260200160405180910390f35b341561092b57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506129f1915050565b6040516001604060020a03909116815260200160405180910390f35b34156109b157600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612bbd915050565b005b6000610a2c85612c93565b905060015b815460ff166002811115610a4157fe5b14610a4b57600080fd5b805433600160a060020a039081166101009092041614610a6a57600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610a9d9291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b600080610b02614161565b600080610b0e87612cde565b91508160020160018703815481101515610b2457fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610b5985612c93565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505092505b50509250925092565b600180549081808201610c318382614173565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115610caa57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610cf09291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1657600080fd5b610e1f84612cde565b915060015b600383015460c060020a900460ff166002811115610e3e57fe5b14610e4857600080fd5b836001604060020a0316610e5b85612d27565b6001604060020a031614610e6e57600080fd5b6001820154600283018054610f27926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ebe5790505b505050506003860154600091508190608060020a90046001604060020a03166002612df1565b9050610f348482856130e3565b5b5b50505050565b600080600080600080600080610f5189612cde565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fb7856118a9565b9450610fc285612cde565b925060005b600384015460c060020a900460ff166002811115610fe157fe5b14610feb57600080fd5b6001830154611002906001604060020a0316612c93565b91506111548260e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b600183015460028401805461120d926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111a45790505b505050506003870154600091508190608060020a90046001604060020a03166001612df1565b905061121a8582866130e3565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128f57600080fd5b6102c65a03f115156112a057600080fd5b5050505b5050505050565b60008060008060006112bc886118a9565b97506112c788612cde565b94506112d286612c93565b93506112dd89612c93565b925061142f8360e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b600386015460c060020a900460ff16600281111561144c57fe5b1461145657600080fd5b60018501546001604060020a038a8116911614156114f35760005b845460ff16600281111561148157fe5b1415611497576114928888886131f5565b6114eb565b60025b845460ff1660028111156114aa57fe5b14156114c05761149288888861323b565b6114eb565b60015b845460ff1660028111156114d357fe5b14156114e957611492888888613487565b6114eb565bfe5b5b5b5b61189d565b6116248560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156115bd57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161157a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561161057fe5b600281111561161b57fe5b9052508a6135bb565b6001604060020a03908116925082146114e95760005b845460ff16600281111561164a57fe5b14156116805760018501546001604060020a0387811691161461166957fe5b6114eb88888760020180549050613622565b61189d565b60015b845460ff16600281111561169357fe5b141561185a576117ca8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561176357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116117205790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156117b657fe5b60028111156117c157fe5b905250876135bb565b6001604060020a039081169150811415611805576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b81811115611834576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b8181116114eb576114eb888860018489600201805490500303613622565b5b5b5b61189d565b60025b845460ff16600281111561186d57fe5b14156114e95761188a888860018589600201805490500303613622565b6114eb888888613728565b61189d565b5bfe5b5b505050505050505050565b6000806000806118b885612cde565b925060005b600384015460c060020a900460ff1660028111156118d757fe5b146118e457849350611a6d565b600383015460006001604060020a0390911611801561191d57506003830154604060020a90046001604060020a031661191b613a77565b115b15611a3b5760018301546002840180546119da926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b6003840154909250611a1b906001604060020a031660006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b9050611a2c858285600001546130e3565b809450611a3885612cde565b92505b611a4485612d27565b90506001604060020a0380821690861614611a6857611a68858285600001546130e3565b5b8093505b505050919050565b600154600019015b90565b600080805b8351831015610f34576001604060020a03848481518110611aa257fe5b90602001906020020151169150604060020a848481518110611ac057fe5b90602001906020020151811515611ad357fe5b049050611ae08282610fa9565b5b600190920191611a85565b5b50505050565b6000806001604060020a03851615611ca857611b0e85612c93565b905060025b815460ff166002811115611b2357fe5b14611b2d57600080fd5b805433600160a060020a039081166101009092041614611b4c57600080fd5b6014611c9e8260e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b10611ca857600080fd5b5b60018054925082808201611cbd8382614173565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d90526001604060020a03808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115611d3757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611d7d9291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080611e8783612c93565b905060005b815460ff166002811115611e9c57fe5b1415611eab5760009150611f27565b60025b815460ff166002811115611ebe57fe5b14611ec557fe5b6002810154608060020a900460ff1615611ee25760019150611f27565b6002810154604060020a90046001604060020a03161515611f065760009150611f27565b6002810154611f2490604060020a90046001604060020a0316611e7b565b91505b50919050565b600080805b8351831015610f34576001604060020a03848481518110611f4f57fe5b90602001906020020151169150604060020a848481518110611f6d57fe5b90602001906020020151811515611f8057fe5b049050611f8d8282610df6565b5b600190920191611f32565b5b50505050565b6000611fab82612c93565b90506120fd8160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60028101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b600061216585612c93565b905060025b815460ff16600281111561217a57fe5b1461218457600080fd5b805433600160a060020a0390811661010090920416146121a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516121d69291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b60008061223c846118a9565b935061224784612cde565b6001810154909250612261906001604060020a0316612c93565b90506123b38160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b6003820154610f34908590608060020a90046001604060020a0316856130e3565b5b50505050565b600080805b8351821015612420576001604060020a038483815181106123fd57fe5b90602001906020020151169050612413816118a9565b505b6001909101906123e0565b5b5050919050565b60008080806001604060020a038616151561245d5761245a602060405190810160405260008082526203f480906129f1565b95505b61246686612c93565b93506125b88460e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b845460ff1660028111156125cb57fe5b146125d557600080fd5b349250600083116125e557600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561261857600080fd5b61264886600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b915061265382612cde565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36126a6868385886112ab565b5b505050505050565b600080805b84518310156126a6576001604060020a038584815181106126d157fe5b90602001906020020151169150604060020a8584815181106126ef57fe5b9060200190602002015181151561270257fe5b049050612711868383876112ab565b5b6001909201916126b4565b5b505050505050565b600254600090819033600160a060020a0390811691161461274657600080fd5b61274f84612cde565b915060015b600383015460c060020a900460ff16600281111561276e57fe5b1461277857600080fd5b6001820154600283018054612830926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561280b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127c85790505b505050506003860154600091508190608060020a90046001604060020a031681612df1565b9050610f27816118a9565b9050610f348482856130e3565b5b5b50505050565b60008061285b614161565b600080600080600061286c89612c93565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156129225780601f106128f757610100808354040283529160200191612922565b820191906000526020600020905b81548152906001019060200180831161290557829003601f168201915b50505050600283015460038401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600080805b8351831015610f34576001604060020a0384848151811061299157fe5b90602001906020020151169150604060020a8484815181106129af57fe5b906020019060200201518115156129c257fe5b0490506129cf8282612726565b5b600190920191612974565b5b50505050565b600254600160a060020a031681565b600180549081808201612a048382614173565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115612a7d57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612ac39291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b6000612bc885612c93565b905060005b815460ff166002811115612bdd57fe5b14612be757600080fd5b805433600160a060020a039081166101009092041614612c0657600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051612c399291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b6001546000906001604060020a03831610612cad57600080fd5b600180546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080546001604060020a03831610612cf657600080fd5b600080546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080806001604060020a0384161515612d445760009250612420565b612d4d84612cde565b6001810154909250612d67906001604060020a0316612c93565b905060005b815460ff166002811115612d7c57fe5b1415612d8a57839250612420565b60025b815460ff166002811115612d9d57fe5b14612da457fe5b6001820154612dbb906001604060020a0316611e7b565b1515612dc957839250612420565b6003820154612de790608060020a90046001604060020a0316612d27565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612e3f5780820151818401525b602001612e26565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612eac57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612f15578092506130d7565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612f538382614224565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612fc557fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613010929160200190614256565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156130cb57fe5b02179055505050508092505b50509695505050505050565b60008060006130f56001878787613c1b565b9250846001604060020a0316866001604060020a03161415613116576126a6565b821515613122576126a6565b61312b86612cde565b915061313685612cde565b82549091508390101561314857600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36131a36000878786613c1b565b505b505050505050565b8060200151600160a060020a031633600160a060020a031614806131e657508060c00151600160a060020a031633600160a060020a0316145b15156131f157600080fd5b5b50565b6000610f2782600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b9050610f348482856130e3565b5b50505050565b600080600061324986612cde565b9250601461337d8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061338757600080fd5b600183015460028401805461343f926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b91506134718460006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b90506126a68682876130e3565b5b505050505050565b6000613491614161565b60008061349d87612cde565b6002810154909450601490106134b257600080fd5b60028401546001016040518059106134c75750595b908082528060200260200182016040525b509250600091505b600284015482101561355557600284018054839081106134fc57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061353257fe5b6001604060020a039092166020928302909101909101525b6001909101906134e0565b6002840154859084908151811061356857fe5b6001604060020a0392831660209182029092010152600185015460038601546135a4929182169186916000918291608060020a90041681612df1565b90506131a38782886130e3565b5b50505050505050565b6000805b83604001515181101561361057826001604060020a0316846040015182815181106135e657fe5b906020019060200201516001604060020a031614156136075780915061361b565b5b6001016135bf565b6001604060020a0391505b5092915050565b600061362c614161565b60008061363887612cde565b60028101549094508590036040518059106136505750595b908082528060200260200182016040525b509250600091505b60028401548590038210156136e1576002840180548390811061368857fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03168383815181106136be57fe5b6001604060020a039092166020928302909101909101525b600190910190613669565b600184015460038501546135a4916001604060020a039081169186916000918291608060020a9091041681612df1565b90506131a38782886130e3565b5b50505050505050565b60008061373485612cde565b915060146138688360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061387257600080fd5b6001820154600283018054613a62926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561390557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116138c25790505b505050505085613a3b8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156139d557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139925790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a2857fe5b6002811115613a3357fe5b905250613dae565b613a43613a77565b6003880154910190608060020a90046001604060020a03166000612df1565b9050610af08582866130e3565b5b5050505050565b425b90565b60008060025b83516002811115613a8f57fe5b14613a9657fe5b82608001516001604060020a03161515613ab35760019150611f27565b613ac08360800151612c93565b9050611f248160e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b91505b50919050565b80613c298585808685613e41565b9050613c388584868685613e41565b90505b949350505050565b6000808260a001516001604060020a03161515613c635760009150611f27565b613c708360a00151612cde565b9050613da28160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b60010191505b50919050565b6000806000613dc08460200151612c93565b60028101546001604060020a031693509150600090505b83604001515181101561242057613e0684604001518281518110613df757fe5b90602001906020020151612c93565b60028101549092506001604060020a031683901115613e305760028201546001604060020a031692505b5b600101613dd7565b5b5050919050565b600080600080866001604060020a0316886001604060020a031614613e6857610100613e6b565b60005b61ffff169250849350613e7d88612cde565b6001810154909250613e9d908a906001604060020a031689898789613f62565b9350600090505b60028201546001604060020a0382161015613f1a57613f0f8983600201836001604060020a0316815481101515613ed757fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189613f62565b93505b600101613ea4565b600382015460006001604060020a039091161115613f55576003820154613f52908a906001604060020a0316898960ff880189613f62565b93505b5b50505095945050505050565b80600080613f6f88612c93565b6003810154909150600160a060020a031615801590613f8e5750600083115b156130d7578815614049576003810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561401857600080fd5b6102c65a03f1151561402957600080fd5b50505060405180519250508282111561404157600080fd5b8192506130d7565b6003810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156140bf57600080fd5b6102c65a03f115156140d057600080fd5b5050505b5b5b50509695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b60206040519081016040526000815290565b81548183558181151161419f5760040281600402836000526020600020918201910161419f9190614341565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b81548183558181151161419f5760040281600402836000526020600020918201910161419f91906143c5565b5b505050565b828054828255906000526020600020906003016004900481019282156142fe5791602002820160005b838211156142c957835183826101000a8154816001604060020a0302191690836001604060020a03160217905550926020019260080160208160070104928301926001030261427f565b80156142fc5782816101000a8154906001604060020a0302191690556008016020816007010492830192600103026142c9565b505b5061415d92915061442c565b5090565b60206040519081016040526000815290565b610df391905b8082111561415d5760008155600101614326565b5090565b90565b610df391905b8082111561415d57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061437a6001830182614458565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff19169055600401614347565b5090565b90565b610df391905b8082111561415d57600080825560018201805467ffffffffffffffff191690556143f860028301826144a0565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff191690556004016143cb565b5090565b90565b610df391905b8082111561415d57805467ffffffffffffffff19168155600101614432565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061447e57506131f1565b601f0160209004906000526020600020908101906131f19190614320565b5b50565b5080546000825560030160049004906000526020600020908101906131f19190614320565b5b505600a165627a7a72305820647c4a48030deadf663bc19c40a40a8013b9b9b1b353712887b4a9d93f2094210029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b6040516020806200474e833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000249565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200013c565b5b505050565b6200013991905b8082111562000135578054600160a860020a03191681556000620001076001830182620001ae565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000df565b5090565b90565b6200013991905b808211156200013557600080825560018201805467ffffffffffffffff19169055620001736002830182620001fa565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000143565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d65750620001f6565b601f016020900490600052602060002090810190620001f6919062000225565b5b50565b508054600082556003016004900490600052602060002090810190620001f6919062000225565b5b50565b6200013991905b808211156200013557600081556001016200022c565b5090565b90565b6144f580620002596000396000f300606060405236156101385763ffffffff60e060020a60003504166313734d87811461013d57806314e7b1dc146101b85780631e215648146102725780632a8ec8cc146102f85780632ee888081461031d5780633f657a461461034157806343387983146103bf57806347c5ef43146103e357806350f8a803146104145780635503d9ba1461044f57806357adafb6146104745780638233ba6a146104c55780638fe1f2ce1461055b5780639398f5a21461058e578063a7e474d5146105df578063aa99759c14610600578063af9f45631461067b578063bce0906d1461069f578063bde60ac91461070a578063d639cd7314610726578063e9c211e214610790578063eba8ba06146107b4578063ef3766e4146108a0578063fbfa77cf146108f1578063fe7fff4914610920578063fecdf177146109a6575b600080fd5b341561014857600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250610a21915050565b005b34156101c357600080fd5b6101da6001604060020a0360043516602435610af7565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156102355780820151818401525b60200161021c565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561027d57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250610c1e915050565b6040516001604060020a03909116815260200160405180910390f35b341561030357600080fd5b61030b610deb565b60405190815260200160405180910390f35b341561032857600080fd5b6101b66001604060020a0360043516602435610df6565b005b341561034c57600080fd5b6103606001604060020a0360043516610f3c565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156103a557fe5b60ff16815260200197505050505050505060405180910390f35b34156103ca57600080fd5b6101b66001604060020a0360043516602435610fa9565b005b34156103ee57600080fd5b6101b66001604060020a0360043581169060243581169060443590606435166112ab565b005b341561041f57600080fd5b6102dc6001604060020a03600435166118a9565b6040516001604060020a03909116815260200160405180910390f35b341561045a57600080fd5b61030b611a75565b60405190815260200160405180910390f35b341561047f57600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611a8095505050505050565b005b34156104d057600080fd5b6102dc60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611af39050565b6040516001604060020a03909116815260200160405180910390f35b341561056657600080fd5b61057a6001604060020a0360043516611e7b565b604051901515815260200160405180910390f35b341561059957600080fd5b6101b66004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611f2d95505050505050565b005b34156105ea57600080fd5b6101b66001604060020a0360043516611fa0565b005b341561060b57600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061215a915050565b005b341561068657600080fd5b6101b66001604060020a0360043516602435612230565b005b34156106aa57600080fd5b6102dc60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506123db95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6101b66001604060020a0360043581169060243516612428565b005b341561073157600080fd5b6101b6600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506126af915050565b005b341561079b57600080fd5b6101b66001604060020a0360043516602435612726565b005b34156107bf57600080fd5b6107d36001604060020a0360043516612850565b604051808860028111156107e357fe5b60ff168152600160a060020a0388811660208301526001604060020a0387811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b8381101561085f5780820151818401525b602001610846565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34156108ab57600080fd5b6101b6600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061296f95505050505050565b005b34156108fc57600080fd5b6109046129e2565b604051600160a060020a03909116815260200160405180910390f35b341561092b57600080fd5b6102dc60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506129f1915050565b6040516001604060020a03909116815260200160405180910390f35b34156109b157600080fd5b6101b6600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612bbd915050565b005b6000610a2c85612c93565b905060015b815460ff166002811115610a4157fe5b14610a4b57600080fd5b805433600160a060020a039081166101009092041614610a6a57600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610a9d9291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b600080610b02614161565b600080610b0e87612cde565b91508160020160018703815481101515610b2457fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610b5985612c93565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505092505b50509250925092565b600180549081808201610c318382614173565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115610caa57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610cf09291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1657600080fd5b610e1f84612cde565b915060015b600383015460c060020a900460ff166002811115610e3e57fe5b14610e4857600080fd5b836001604060020a0316610e5b85612d27565b6001604060020a031614610e6e57600080fd5b6001820154600283018054610f27926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ebe5790505b505050506003860154600091508190608060020a90046001604060020a03166002612df1565b9050610f348482856130e3565b5b5b50505050565b600080600080600080600080610f5189612cde565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fb7856118a9565b9450610fc285612cde565b925060005b600384015460c060020a900460ff166002811115610fe157fe5b14610feb57600080fd5b6001830154611002906001604060020a0316612c93565b91506111548260e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b600183015460028401805461120d926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111a45790505b505050506003870154600091508190608060020a90046001604060020a03166001612df1565b905061121a8582866130e3565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128f57600080fd5b6102c65a03f115156112a057600080fd5b5050505b5050505050565b60008060008060006112bc886118a9565b97506112c788612cde565b94506112d286612c93565b93506112dd89612c93565b925061142f8360e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b600386015460c060020a900460ff16600281111561144c57fe5b1461145657600080fd5b60018501546001604060020a038a8116911614156114f35760005b845460ff16600281111561148157fe5b1415611497576114928888886131f5565b6114eb565b60025b845460ff1660028111156114aa57fe5b14156114c05761149288888861323b565b6114eb565b60015b845460ff1660028111156114d357fe5b14156114e957611492888888613487565b6114eb565bfe5b5b5b5b61189d565b6116248560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156115bd57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161157a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561161057fe5b600281111561161b57fe5b9052508a6135bb565b6001604060020a03908116925082146114e95760005b845460ff16600281111561164a57fe5b14156116805760018501546001604060020a0387811691161461166957fe5b6114eb88888760020180549050613622565b61189d565b60015b845460ff16600281111561169357fe5b141561185a576117ca8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561176357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116117205790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156117b657fe5b60028111156117c157fe5b905250876135bb565b6001604060020a039081169150811415611805576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b81811115611834576117f5888860018589600201805490500303613622565b611492888888613487565b6114eb565b8181116114eb576114eb888860018489600201805490500303613622565b5b5b5b61189d565b60025b845460ff16600281111561186d57fe5b14156114e95761188a888860018589600201805490500303613622565b6114eb888888613728565b61189d565b5bfe5b5b505050505050505050565b6000806000806118b885612cde565b925060005b600384015460c060020a900460ff1660028111156118d757fe5b146118e457849350611a6d565b600383015460006001604060020a0390911611801561191d57506003830154604060020a90046001604060020a031661191b613a77565b115b15611a3b5760018301546002840180546119da926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b6003840154909250611a1b906001604060020a031660006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b9050611a2c858285600001546130e3565b809450611a3885612cde565b92505b611a4485612d27565b90506001604060020a0380821690861614611a6857611a68858285600001546130e3565b5b8093505b505050919050565b600154600019015b90565b600080805b8351831015610f34576001604060020a03848481518110611aa257fe5b90602001906020020151169150604060020a848481518110611ac057fe5b90602001906020020151811515611ad357fe5b049050611ae08282610fa9565b5b600190920191611a85565b5b50505050565b6000806001604060020a03851615611ca857611b0e85612c93565b905060025b815460ff166002811115611b2357fe5b14611b2d57600080fd5b805433600160a060020a039081166101009092041614611b4c57600080fd5b6014611c9e8260e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b10611ca857600080fd5b5b60018054925082808201611cbd8382614173565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d90526001604060020a03808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115611d3757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611d7d9291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080611e8783612c93565b905060005b815460ff166002811115611e9c57fe5b1415611eab5760009150611f27565b60025b815460ff166002811115611ebe57fe5b14611ec557fe5b6002810154608060020a900460ff1615611ee25760019150611f27565b6002810154604060020a90046001604060020a03161515611f065760009150611f27565b6002810154611f2490604060020a90046001604060020a0316611e7b565b91505b50919050565b600080805b8351831015610f34576001604060020a03848481518110611f4f57fe5b90602001906020020151169150604060020a848481518110611f6d57fe5b90602001906020020151811515611f8057fe5b049050611f8d8282610df6565b5b600190920191611f32565b5b50505050565b6000611fab82612c93565b90506120fd8160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60028101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b600061216585612c93565b905060025b815460ff16600281111561217a57fe5b1461218457600080fd5b805433600160a060020a0390811661010090920416146121a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516121d69291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b60008061223c846118a9565b935061224784612cde565b6001810154909250612261906001604060020a0316612c93565b90506123b38160e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b6003820154610f34908590608060020a90046001604060020a0316856130e3565b5b50505050565b600080805b8351821015612420576001604060020a038483815181106123fd57fe5b90602001906020020151169050612413816118a9565b505b6001909101906123e0565b5b5050919050565b60008080806001604060020a038616151561245d5761245a602060405190810160405260008082526203f480906129f1565b95505b61246686612c93565b93506125b88460e06040519081016040528154909190829060ff16600281111561102857fe5b600281111561103357fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ff5780601f106110d4576101008083540402835291602001916110ff565b820191906000526020600020905b8154815290600101906020018083116110e257829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526131ad565b60005b845460ff1660028111156125cb57fe5b146125d557600080fd5b349250600083116125e557600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561261857600080fd5b61264886600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b915061265382612cde565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36126a6868385886112ab565b5b505050505050565b600080805b84518310156126a6576001604060020a038584815181106126d157fe5b90602001906020020151169150604060020a8584815181106126ef57fe5b9060200190602002015181151561270257fe5b049050612711868383876112ab565b5b6001909201916126b4565b5b505050505050565b600254600090819033600160a060020a0390811691161461274657600080fd5b61274f84612cde565b915060015b600383015460c060020a900460ff16600281111561276e57fe5b1461277857600080fd5b6001820154600283018054612830926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561280b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127c85790505b505050506003860154600091508190608060020a90046001604060020a031681612df1565b9050610f27816118a9565b9050610f348482856130e3565b5b5b50505050565b60008061285b614161565b600080600080600061286c89612c93565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156129225780601f106128f757610100808354040283529160200191612922565b820191906000526020600020905b81548152906001019060200180831161290557829003601f168201915b50505050600283015460038401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600080805b8351831015610f34576001604060020a0384848151811061299157fe5b90602001906020020151169150604060020a8484815181106129af57fe5b906020019060200201518115156129c257fe5b0490506129cf8282612726565b5b600190920191612974565b5b50505050565b600254600160a060020a031681565b600180549081808201612a048382614173565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115612a7d57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612ac39291602001906140e2565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b6000612bc885612c93565b905060005b815460ff166002811115612bdd57fe5b14612be757600080fd5b805433600160a060020a039081166101009092041614612c0657600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051612c399291602001906140e2565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b6001546000906001604060020a03831610612cad57600080fd5b600180546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080546001604060020a03831610612cf657600080fd5b600080546001604060020a038416908110612cc457fe5b906000526020600020906004020160005b5090505b919050565b600080806001604060020a0384161515612d445760009250612420565b612d4d84612cde565b6001810154909250612d67906001604060020a0316612c93565b905060005b815460ff166002811115612d7c57fe5b1415612d8a57839250612420565b60025b815460ff166002811115612d9d57fe5b14612da457fe5b6001820154612dbb906001604060020a0316611e7b565b1515612dc957839250612420565b6003820154612de790608060020a90046001604060020a0316612d27565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612e3f5780820151818401525b602001612e26565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612eac57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612f15578092506130d7565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612f538382614224565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612fc557fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613010929160200190614256565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156130cb57fe5b02179055505050508092505b50509695505050505050565b60008060006130f56001878787613c1b565b9250846001604060020a0316866001604060020a03161415613116576126a6565b821515613122576126a6565b61312b86612cde565b915061313685612cde565b82549091508390101561314857600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36131a36000878786613c1b565b505b505050505050565b8060200151600160a060020a031633600160a060020a031614806131e657508060c00151600160a060020a031633600160a060020a0316145b15156131f157600080fd5b5b50565b6000610f2782600060405180591061262b5750595b908082528060200260200182016040525b50600080600080612df1565b9050610f348482856130e3565b5b50505050565b600080600061324986612cde565b9250601461337d8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061338757600080fd5b600183015460028401805461343f926001604060020a031691906020808202016040519081016040528092919081815260200182805480156119b557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119725790505b505050506003870154600091508190608060020a90046001604060020a031681612df1565b91506134718460006040518059106119fe5750595b908082528060200260200182016040525b50600080866000612df1565b90506126a68682876130e3565b5b505050505050565b6000613491614161565b60008061349d87612cde565b6002810154909450601490106134b257600080fd5b60028401546001016040518059106134c75750595b908082528060200260200182016040525b509250600091505b600284015482101561355557600284018054839081106134fc57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061353257fe5b6001604060020a039092166020928302909101909101525b6001909101906134e0565b6002840154859084908151811061356857fe5b6001604060020a0392831660209182029092010152600185015460038601546135a4929182169186916000918291608060020a90041681612df1565b90506131a38782886130e3565b5b50505050505050565b6000805b83604001515181101561361057826001604060020a0316846040015182815181106135e657fe5b906020019060200201516001604060020a031614156136075780915061361b565b5b6001016135bf565b6001604060020a0391505b5092915050565b600061362c614161565b60008061363887612cde565b60028101549094508590036040518059106136505750595b908082528060200260200182016040525b509250600091505b60028401548590038210156136e1576002840180548390811061368857fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03168383815181106136be57fe5b6001604060020a039092166020928302909101909101525b600190910190613669565b600184015460038501546135a4916001604060020a039081169186916000918291608060020a9091041681612df1565b90506131a38782886130e3565b5b50505050505050565b60008061373485612cde565b915060146138688360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b1061387257600080fd5b6001820154600283018054613a62926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561390557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116138c25790505b505050505085613a3b8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156139d557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139925790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a2857fe5b6002811115613a3357fe5b905250613dae565b613a43613a77565b6003880154910190608060020a90046001604060020a03166000612df1565b9050610af08582866130e3565b5b5050505050565b425b90565b60008060025b83516002811115613a8f57fe5b14613a9657fe5b82608001516001604060020a03161515613ab35760019150611f27565b613ac08360800151612c93565b9050611f248160e06040519081016040528154909190829060ff166002811115611b7257fe5b6002811115611b7d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613a7c565b91505b50919050565b80613c298585808685613e41565b9050613c388584868685613e41565b90505b949350505050565b6000808260a001516001604060020a03161515613c635760009150611f27565b613c708360a00151612cde565b9050613da28160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561331757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116132d45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561336a57fe5b600281111561337557fe5b905250613c43565b60010191505b50919050565b6000806000613dc08460200151612c93565b60028101546001604060020a031693509150600090505b83604001515181101561242057613e0684604001518281518110613df757fe5b90602001906020020151612c93565b60028101549092506001604060020a031683901115613e305760028201546001604060020a031692505b5b600101613dd7565b5b5050919050565b600080600080866001604060020a0316886001604060020a031614613e6857610100613e6b565b60005b61ffff169250849350613e7d88612cde565b6001810154909250613e9d908a906001604060020a031689898789613f62565b9350600090505b60028201546001604060020a0382161015613f1a57613f0f8983600201836001604060020a0316815481101515613ed757fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189613f62565b93505b600101613ea4565b600382015460006001604060020a039091161115613f55576003820154613f52908a906001604060020a0316898960ff880189613f62565b93505b5b50505095945050505050565b80600080613f6f88612c93565b6003810154909150600160a060020a031615801590613f8e5750600083115b156130d7578815614049576003810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561401857600080fd5b6102c65a03f1151561402957600080fd5b50505060405180519250508282111561404157600080fd5b8192506130d7565b6003810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156140bf57600080fd5b6102c65a03f115156140d057600080fd5b5050505b5b5b50509695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b60206040519081016040526000815290565b81548183558181151161419f5760040281600402836000526020600020918201910161419f9190614341565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412357805160ff1916838001178555614150565b82800160010185558215614150579182015b82811115614150578251825591602001919060010190614135565b5b5061415d929150614320565b5090565b81548183558181151161419f5760040281600402836000526020600020918201910161419f91906143c5565b5b505050565b828054828255906000526020600020906003016004900481019282156142fe5791602002820160005b838211156142c957835183826101000a8154816001604060020a0302191690836001604060020a03160217905550926020019260080160208160070104928301926001030261427f565b80156142fc5782816101000a8154906001604060020a0302191690556008016020816007010492830192600103026142c9565b505b5061415d92915061442c565b5090565b60206040519081016040526000815290565b610df391905b8082111561415d5760008155600101614326565b5090565b90565b610df391905b8082111561415d57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061437a6001830182614458565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff19169055600401614347565b5090565b90565b610df391905b8082111561415d57600080825560018201805467ffffffffffffffff191690556143f860028301826144a0565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff191690556004016143cb565b5090565b90565b610df391905b8082111561415d57805467ffffffffffffffff19168155600101614432565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061447e57506131f1565b601f0160209004906000526020600020908101906131f19190614320565b5b50565b5080546000825560030160049004906000526020600020908101906131f19190614320565b5b505600a165627a7a7230582065d564344d4c6049d5b16d2a527ac10a9db2ff7126bd2fd6e94f14e0541b93cc0029" exports.LiquidPledgingBaseAbi = [{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"proposedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001b1f833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000245565b8154818355818115116200009957600402816004028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000138565b5b505050565b6200013591905b8082111562000131578054600160a860020a03191681556000620001036001830182620001aa565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000db565b5090565b90565b6200013591905b808211156200013157600080825560018201805467ffffffffffffffff191690556200016f6002830182620001f6565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200013f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d25750620001f2565b601f016020900490600052602060002090810190620001f2919062000221565b5b50565b508054600082556003016004900490600052602060002090810190620001f2919062000221565b5b50565b6200013591905b8082111562000131576000815560010162000228565b5090565b90565b6118ca80620002556000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313734d8781146100c757806314e7b1dc146101445780631e215648146102005780632a8ec8cc146102885780633f657a46146102ad5780635503d9ba1461032d5780638233ba6a146103525780638fe1f2ce146103ea578063aa99759c1461041e578063eba8ba061461049b578063fbfa77cf14610589578063fe7fff49146105b8578063fecdf17714610640575b600080fd5b34156100d257600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506106bd915050565b005b341561014f57600080fd5b61016767ffffffffffffffff60043516602435610794565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101c35780820151818401525b6020016101aa565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020b57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506108bc915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561029357600080fd5b61029b610a8e565b60405190815260200160405180910390f35b34156102b857600080fd5b6102cd67ffffffffffffffff60043516610a99565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561031357fe5b60ff16815260200197505050505050505060405180910390f35b341561033857600080fd5b61029b610b21565b60405190815260200160405180910390f35b341561035d57600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610b2c9050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103f557600080fd5b61040a67ffffffffffffffff60043516610ec0565b604051901515815260200160405180910390f35b341561042957600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250610f7e915050565b005b34156104a657600080fd5b6104bb67ffffffffffffffff60043516611055565b604051808860028111156104cb57fe5b60ff168152600160a060020a03888116602083015267ffffffffffffffff87811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156105485780820151818401525b60200161052f565b50505050905090810190601f1680156105755780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561059457600080fd5b61059c61117a565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611189915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561064b57600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061135a915050565b005b60006106c885611431565b905060015b815460ff1660028111156106dd57fe5b146106e757600080fd5b805433600160a060020a03908116610100909204161461070657600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161073992916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b60008061079f6116ee565b6000806107ab8761147e565b915081600201600187038154811015156107c157fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506107f785611431565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b505050505092505b50509250925092565b6001805490818082016108cf8382611700565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561094957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161098f92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600080600080600080600080610aae8961147e565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600154600019015b90565b60008067ffffffffffffffff851615610ce857610b4885611431565b905060025b815460ff166002811115610b5d57fe5b14610b6757600080fd5b805433600160a060020a039081166101009092041614610b8657600080fd5b6014610cde8260e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b10610ce857600080fd5b5b60018054925082808201610cfd8382611700565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d905267ffffffffffffffff808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115610d7857fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610dbe92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080610ecc83611431565b905060005b815460ff166002811115610ee157fe5b1415610ef05760009150610f78565b60025b815460ff166002811115610f0357fe5b14610f0a57fe5b6002810154608060020a900460ff1615610f275760019150610f78565b600281015468010000000000000000900467ffffffffffffffff161515610f515760009150610f78565b6002810154610f759068010000000000000000900467ffffffffffffffff16610ec0565b91505b50919050565b6000610f8985611431565b905060025b815460ff166002811115610f9e57fe5b14610fa857600080fd5b805433600160a060020a039081166101009092041614610fc757600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610ffa92916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b6000806110606116ee565b600080600080600061107189611431565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b505050506002830154600384015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600254600160a060020a031681565b60018054908180820161119c8382611700565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561121657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161125c92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b600061136585611431565b905060005b815460ff16600281111561137a57fe5b1461138457600080fd5b805433600160a060020a0390811661010090920416146113a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516113d692916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b60015460009067ffffffffffffffff83161061144c57600080fd5b6001805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b6000805467ffffffffffffffff83161061149757600080fd5b6000805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b60008060025b835160028111156114dc57fe5b146114e357fe5b826080015167ffffffffffffffff1615156115015760019150610f78565b61150e8360800151611431565b9050610f758160e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b91505b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b60206040519081016040526000815290565b81548183558181151161172c5760040281600402836000526020600020918201910161172c91906117d2565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b610a9691905b808211156116ea57600081556001016117b7565b5090565b90565b610a9691905b808211156116ea57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061180b6001830182611856565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016117d8565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061187c575061189a565b601f01602090049060005260206000209081019061189a91906117b1565b5b505600a165627a7a72305820e6ef1f4208f83495562068ec4e2cc05a75ac3b14a587af1a034b49fd8bd630310029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001b1f833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000245565b8154818355818115116200009957600402816004028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000138565b5b505050565b6200013591905b8082111562000131578054600160a860020a03191681556000620001036001830182620001aa565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000db565b5090565b90565b6200013591905b808211156200013157600080825560018201805467ffffffffffffffff191690556200016f6002830182620001f6565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200013f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001d25750620001f2565b601f016020900490600052602060002090810190620001f2919062000221565b5b50565b508054600082556003016004900490600052602060002090810190620001f2919062000221565b5b50565b6200013591905b8082111562000131576000815560010162000228565b5090565b90565b6118ca80620002556000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313734d8781146100c757806314e7b1dc146101445780631e215648146102005780632a8ec8cc146102885780633f657a46146102ad5780635503d9ba1461032d5780638233ba6a146103525780638fe1f2ce146103ea578063aa99759c1461041e578063eba8ba061461049b578063fbfa77cf14610589578063fe7fff49146105b8578063fecdf17714610640575b600080fd5b34156100d257600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506106bd915050565b005b341561014f57600080fd5b61016767ffffffffffffffff60043516602435610794565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101c35780820151818401525b6020016101aa565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020b57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506108bc915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561029357600080fd5b61029b610a8e565b60405190815260200160405180910390f35b34156102b857600080fd5b6102cd67ffffffffffffffff60043516610a99565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561031357fe5b60ff16815260200197505050505050505060405180910390f35b341561033857600080fd5b61029b610b21565b60405190815260200160405180910390f35b341561035d57600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610b2c9050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103f557600080fd5b61040a67ffffffffffffffff60043516610ec0565b604051901515815260200160405180910390f35b341561042957600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250610f7e915050565b005b34156104a657600080fd5b6104bb67ffffffffffffffff60043516611055565b604051808860028111156104cb57fe5b60ff168152600160a060020a03888116602083015267ffffffffffffffff87811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156105485780820151818401525b60200161052f565b50505050905090810190601f1680156105755780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561059457600080fd5b61059c61117a565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611189915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561064b57600080fd5b6101426004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061135a915050565b005b60006106c885611431565b905060015b815460ff1660028111156106dd57fe5b146106e757600080fd5b805433600160a060020a03908116610100909204161461070657600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161073992916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b60008061079f6116ee565b6000806107ab8761147e565b915081600201600187038154811015156107c157fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506107f785611431565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b505050505092505b50509250925092565b6001805490818082016108cf8382611700565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561094957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161098f92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600080600080600080600080610aae8961147e565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600154600019015b90565b60008067ffffffffffffffff851615610ce857610b4885611431565b905060025b815460ff166002811115610b5d57fe5b14610b6757600080fd5b805433600160a060020a039081166101009092041614610b8657600080fd5b6014610cde8260e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b10610ce857600080fd5b5b60018054925082808201610cfd8382611700565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d905267ffffffffffffffff808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115610d7857fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610dbe92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080610ecc83611431565b905060005b815460ff166002811115610ee157fe5b1415610ef05760009150610f78565b60025b815460ff166002811115610f0357fe5b14610f0a57fe5b6002810154608060020a900460ff1615610f275760019150610f78565b600281015468010000000000000000900467ffffffffffffffff161515610f515760009150610f78565b6002810154610f759068010000000000000000900467ffffffffffffffff16610ec0565b91505b50919050565b6000610f8985611431565b905060025b815460ff166002811115610f9e57fe5b14610fa857600080fd5b805433600160a060020a039081166101009092041614610fc757600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610ffa92916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b6000806110606116ee565b600080600080600061107189611431565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b505050506002830154600384015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600254600160a060020a031681565b60018054908180820161119c8382611700565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a905267ffffffffffffffff8916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff1916600183600281111561121657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161125c92916020019061166f565b50606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b600061136585611431565b905060005b815460ff16600281111561137a57fe5b1461138457600080fd5b805433600160a060020a0390811661010090920416146113a357600080fd5b805461010060a860020a031916610100600160a060020a03861602178155600181018380516113d692916020019061166f565b5060028101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b60015460009067ffffffffffffffff83161061144c57600080fd5b6001805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b6000805467ffffffffffffffff83161061149757600080fd5b6000805467ffffffffffffffff841690811061146457fe5b906000526020600020906004020160005b5090505b919050565b60008060025b835160028111156114dc57fe5b146114e357fe5b826080015167ffffffffffffffff1615156115015760019150610f78565b61150e8360800151611431565b9050610f758160e06040519081016040528154909190829060ff166002811115610bac57fe5b6002811115610bb757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b5050509183525050600282015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600390910154600160a060020a03166080909101526114c9565b91505b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b60206040519081016040526000815290565b81548183558181151161172c5760040281600402836000526020600020918201910161172c91906117d2565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116b057805160ff19168380011785556116dd565b828001600101855582156116dd579182015b828111156116dd5782518255916020019190600101906116c2565b5b506116ea9291506117b1565b5090565b610a9691905b808211156116ea57600081556001016117b7565b5090565b90565b610a9691905b808211156116ea57805474ffffffffffffffffffffffffffffffffffffffffff19168155600061180b6001830182611856565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016117d8565b5090565b90565b50805460018160011615610100020316600290046000825580601f1061187c575061189a565b601f01602090049060005260206000209081019061189a91906117b1565b5b505600a165627a7a72305820a2201edd1f0dfffcec4de03a29f2e9f735a4129daf5e84073de2363ab44e06ca0029" exports.LiquidPledgingMockAbi = [{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"proposedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"},{"name":"idReceiver","type":"uint64"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"mock_time","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"}],"name":"cancelCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_t","type":"uint256"}],"name":"setMockedTime","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint64"},{"indexed":true,"name":"to","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CancelCampaign","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b604051602080620047ba833981016040528080519150505b805b805b60016200003a818062000076565b5060016200004a600082620000ab565b5060028054600160a060020a031916600160a060020a0383161790555b505b50426004555b5062000251565b815481835581811511620000a557600402816004028360005260206000209182019101620000a59190620000e0565b5b505050565b815481835581811511620000a557600402816004028360005260206000209182019101620000a5919062000144565b5b505050565b6200014191905b808211156200013d578054600160a860020a031916815560006200010f6001830182620001b6565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000e7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b600283018262000202565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001de5750620001fe565b601f016020900490600052602060002090810190620001fe91906200022d565b5b50565b508054600082556003016004900490600052602060002090810190620001fe91906200022d565b5b50565b6200014191905b808211156200013d576000815560010162000234565b5090565b90565b61455980620002616000396000f3006060604052361561014e5763ffffffff60e060020a60003504166313734d87811461015357806314e7b1dc146101ce5780631e215648146102885780632a8ec8cc1461030e5780632ee88808146103335780633f657a461461035757806343387983146103d557806347c5ef43146103f957806350f8a8031461042a5780635503d9ba1461046557806357adafb61461048a5780638233ba6a146104db5780638fe1f2ce146105715780639398f5a2146105a45780639da47a6b146105f5578063a7e474d51461061a578063aa99759c1461063b578063ab8be231146106b6578063af9f4563146106ce578063bce0906d146106f2578063bde60ac91461075d578063d639cd7314610779578063e9c211e2146107e3578063eba8ba0614610807578063ef3766e4146108f3578063fbfa77cf14610944578063fe7fff4914610973578063fecdf177146109f9575b600080fd5b341561015e57600080fd5b6101cc600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250610a74915050565b005b34156101d957600080fd5b6101f06001604060020a0360043516602435610b4a565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561024b5780820151818401525b602001610232565b50505050905090810190601f1680156102785780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561029357600080fd5b6102f260046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250610c71915050565b6040516001604060020a03909116815260200160405180910390f35b341561031957600080fd5b610321610e3e565b60405190815260200160405180910390f35b341561033e57600080fd5b6101cc6001604060020a0360043516602435610e49565b005b341561036257600080fd5b6103766001604060020a0360043516610f8f565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156103bb57fe5b60ff16815260200197505050505050505060405180910390f35b34156103e057600080fd5b6101cc6001604060020a0360043516602435610ffc565b005b341561040457600080fd5b6101cc6001604060020a0360043581169060243581169060443590606435166112fe565b005b341561043557600080fd5b6102f26001604060020a03600435166118fc565b6040516001604060020a03909116815260200160405180910390f35b341561047057600080fd5b610321611ac8565b60405190815260200160405180910390f35b341561049557600080fd5b6101cc6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611ad395505050505050565b005b34156104e657600080fd5b6102f260046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611b469050565b6040516001604060020a03909116815260200160405180910390f35b341561057c57600080fd5b6105906001604060020a0360043516611ece565b604051901515815260200160405180910390f35b34156105af57600080fd5b6101cc6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611f8095505050505050565b005b341561060057600080fd5b610321611ff3565b60405190815260200160405180910390f35b341561062557600080fd5b6101cc6001604060020a0360043516611ff9565b005b341561064657600080fd5b6101cc600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506121b3915050565b005b34156106c157600080fd5b6101cc600435612289565b005b34156106d957600080fd5b6101cc6001604060020a0360043516602435612292565b005b34156106fd57600080fd5b6102f2600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061243d95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6101cc6001604060020a036004358116906024351661248a565b005b341561078457600080fd5b6101cc600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612711915050565b005b34156107ee57600080fd5b6101cc6001604060020a0360043516602435612788565b005b341561081257600080fd5b6108266001604060020a03600435166128b2565b6040518088600281111561083657fe5b60ff168152600160a060020a0388811660208301526001604060020a0387811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156108b25780820151818401525b602001610899565b50505050905090810190601f1680156108df5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34156108fe57600080fd5b6101cc60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129d195505050505050565b005b341561094f57600080fd5b610957612a44565b604051600160a060020a03909116815260200160405180910390f35b341561097e57600080fd5b6102f260046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250612a53915050565b6040516001604060020a03909116815260200160405180910390f35b3415610a0457600080fd5b6101cc600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612c1f915050565b005b6000610a7f85612cf5565b905060015b815460ff166002811115610a9457fe5b14610a9e57600080fd5b805433600160a060020a039081166101009092041614610abd57600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610af0929160200190614146565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b600080610b556141c5565b600080610b6187612d40565b91508160020160018703815481101515610b7757fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610bac85612cf5565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c605780601f10610c3557610100808354040283529160200191610c60565b820191906000526020600020905b815481529060010190602001808311610c4357829003601f168201915b505050505092505b50509250925092565b600180549081808201610c8483826141d7565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115610cfd57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d43929160200190614146565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e6957600080fd5b610e7284612d40565b915060015b600383015460c060020a900460ff166002811115610e9157fe5b14610e9b57600080fd5b836001604060020a0316610eae85612d89565b6001604060020a031614610ec157600080fd5b6001820154600283018054610f7a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f5457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610f115790505b505050506003860154600091508190608060020a90046001604060020a03166002612e53565b9050610f87848285613145565b5b5b50505050565b600080600080600080600080610fa489612d40565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061100a856118fc565b945061101585612d40565b925060005b600384015460c060020a900460ff16600281111561103457fe5b1461103e57600080fd5b6001830154611055906001604060020a0316612cf5565b91506111a78260e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b6001830154600284018054611260926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561123a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111f75790505b505050506003870154600091508190608060020a90046001604060020a03166001612e53565b905061126d858286613145565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156112e257600080fd5b6102c65a03f115156112f357600080fd5b5050505b5050505050565b600080600080600061130f886118fc565b975061131a88612d40565b945061132586612cf5565b935061133089612cf5565b92506114828360e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b60005b600386015460c060020a900460ff16600281111561149f57fe5b146114a957600080fd5b60018501546001604060020a038a8116911614156115465760005b845460ff1660028111156114d457fe5b14156114ea576114e5888888613257565b61153e565b60025b845460ff1660028111156114fd57fe5b1415611513576114e588888861329d565b61153e565b60015b845460ff16600281111561152657fe5b141561153c576114e58888886134e9565b61153e565bfe5b5b5b5b6118f0565b6116778560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561161057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115cd5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561166357fe5b600281111561166e57fe5b9052508a61361d565b6001604060020a039081169250821461153c5760005b845460ff16600281111561169d57fe5b14156116d35760018501546001604060020a038781169116146116bc57fe5b61153e88888760020180549050613684565b6118f0565b60015b845460ff1660028111156116e657fe5b14156118ad5761181d8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156117b657602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116117735790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561180957fe5b600281111561181457fe5b9052508761361d565b6001604060020a03908116915081141561185857611848888860018589600201805490500303613684565b6114e58888886134e9565b61153e565b8181111561188757611848888860018589600201805490500303613684565b6114e58888886134e9565b61153e565b81811161153e5761153e888860018489600201805490500303613684565b5b5b5b6118f0565b60025b845460ff1660028111156118c057fe5b141561153c576118dd888860018589600201805490500303613684565b61153e88888861378a565b6118f0565b5bfe5b5b505050505050505050565b60008060008061190b85612d40565b925060005b600384015460c060020a900460ff16600281111561192a57fe5b1461193757849350611ac0565b600383015460006001604060020a0390911611801561197057506003830154604060020a90046001604060020a031661196e613ad9565b115b15611a8e576001830154600284018054611a2d926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611a0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119c55790505b505050506003870154600091508190608060020a90046001604060020a031681612e53565b6003840154909250611a6e906001604060020a03166000604051805910611a515750595b908082528060200260200182016040525b50600080866000612e53565b9050611a7f85828560000154613145565b809450611a8b85612d40565b92505b611a9785612d89565b90506001604060020a0380821690861614611abb57611abb85828560000154613145565b5b8093505b505050919050565b600154600019015b90565b600080805b8351831015610f87576001604060020a03848481518110611af557fe5b90602001906020020151169150604060020a848481518110611b1357fe5b90602001906020020151811515611b2657fe5b049050611b338282610ffc565b5b600190920191611ad8565b5b50505050565b6000806001604060020a03851615611cfb57611b6185612cf5565b905060025b815460ff166002811115611b7657fe5b14611b8057600080fd5b805433600160a060020a039081166101009092041614611b9f57600080fd5b6014611cf18260e06040519081016040528154909190829060ff166002811115611bc557fe5b6002811115611bd057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613ae0565b10611cfb57600080fd5b5b60018054925082808201611d1083826141d7565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d90526001604060020a03808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115611d8a57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611dd0929160200190614146565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080611eda83612cf5565b905060005b815460ff166002811115611eef57fe5b1415611efe5760009150611f7a565b60025b815460ff166002811115611f1157fe5b14611f1857fe5b6002810154608060020a900460ff1615611f355760019150611f7a565b6002810154604060020a90046001604060020a03161515611f595760009150611f7a565b6002810154611f7790604060020a90046001604060020a0316611ece565b91505b50919050565b600080805b8351831015610f87576001604060020a03848481518110611fa257fe5b90602001906020020151169150604060020a848481518110611fc057fe5b90602001906020020151811515611fd357fe5b049050611fe08282610e49565b5b600190920191611f85565b5b50505050565b60045481565b600061200482612cf5565b90506121568160e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b60028101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60006121be85612cf5565b905060025b815460ff1660028111156121d357fe5b146121dd57600080fd5b805433600160a060020a0390811661010090920416146121fc57600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161222f929160200190614146565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b60048190555b50565b60008061229e846118fc565b93506122a984612d40565b60018101549092506122c3906001604060020a0316612cf5565b90506124158160e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b6003820154610f87908590608060020a90046001604060020a031685613145565b5b50505050565b600080805b8351821015612482576001604060020a0384838151811061245f57fe5b90602001906020020151169050612475816118fc565b505b600190910190612442565b5b5050919050565b60008080806001604060020a03861615156124bf576124bc602060405190810160405260008082526203f48090612a53565b95505b6124c886612cf5565b935061261a8460e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b60005b845460ff16600281111561262d57fe5b1461263757600080fd5b3492506000831161264757600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561267a57600080fd5b6126aa86600060405180591061268d5750595b908082528060200260200182016040525b50600080600080612e53565b91506126b582612d40565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612708868385886112fe565b5b505050505050565b600080805b8451831015612708576001604060020a0385848151811061273357fe5b90602001906020020151169150604060020a85848151811061275157fe5b9060200190602002015181151561276457fe5b049050612773868383876112fe565b5b600190920191612716565b5b505050505050565b600254600090819033600160a060020a039081169116146127a857600080fd5b6127b184612d40565b915060015b600383015460c060020a900460ff1660028111156127d057fe5b146127da57600080fd5b6001820154600283018054612892926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561286d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161282a5790505b505050506003860154600091508190608060020a90046001604060020a031681612e53565b9050610f7a816118fc565b9050610f87848285613145565b5b5b50505050565b6000806128bd6141c5565b60008060008060006128ce89612cf5565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156129845780601f1061295957610100808354040283529160200191612984565b820191906000526020600020905b81548152906001019060200180831161296757829003601f168201915b50505050600283015460038401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600080805b8351831015610f87576001604060020a038484815181106129f357fe5b90602001906020020151169150604060020a848481518110612a1157fe5b90602001906020020151811515612a2457fe5b049050612a318282612788565b5b6001909201916129d6565b5b50505050565b600254600160a060020a031681565b600180549081808201612a6683826141d7565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115612adf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612b25929160200190614146565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b6000612c2a85612cf5565b905060005b815460ff166002811115612c3f57fe5b14612c4957600080fd5b805433600160a060020a039081166101009092041614612c6857600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051612c9b929160200190614146565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b6001546000906001604060020a03831610612d0f57600080fd5b600180546001604060020a038416908110612d2657fe5b906000526020600020906004020160005b5090505b919050565b600080546001604060020a03831610612d5857600080fd5b600080546001604060020a038416908110612d2657fe5b906000526020600020906004020160005b5090505b919050565b600080806001604060020a0384161515612da65760009250612482565b612daf84612d40565b6001810154909250612dc9906001604060020a0316612cf5565b905060005b815460ff166002811115612dde57fe5b1415612dec57839250612482565b60025b815460ff166002811115612dff57fe5b14612e0657fe5b6001820154612e1d906001604060020a0316611ece565b1515612e2b57839250612482565b6003820154612e4990608060020a90046001604060020a0316612d89565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612ea15780820151818401525b602001612e88565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612f0e57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612f7757809250613139565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612fb58382614288565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561302757fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a03929092169190911790556040820151816002019080516130729291602001906142ba565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a83600281111561312d57fe5b02179055505050508092505b50509695505050505050565b60008060006131576001878787613c7f565b9250846001604060020a0316866001604060020a0316141561317857612708565b82151561318457612708565b61318d86612d40565b915061319885612d40565b8254909150839010156131aa57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36132056000878786613c7f565b505b505050505050565b8060200151600160a060020a031633600160a060020a0316148061324857508060c00151600160a060020a031633600160a060020a0316145b151561228f57600080fd5b5b50565b6000610f7a82600060405180591061268d5750595b908082528060200260200182016040525b50600080600080612e53565b9050610f87848285613145565b5b50505050565b60008060006132ab86612d40565b925060146133df8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561337957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116133365790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156133cc57fe5b60028111156133d757fe5b905250613ca7565b106133e957600080fd5b60018301546002840180546134a1926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611a0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119c55790505b505050506003870154600091508190608060020a90046001604060020a031681612e53565b91506134d3846000604051805910611a515750595b908082528060200260200182016040525b50600080866000612e53565b9050612708868287613145565b5b505050505050565b60006134f36141c5565b6000806134ff87612d40565b60028101549094506014901061351457600080fd5b60028401546001016040518059106135295750595b908082528060200260200182016040525b509250600091505b60028401548210156135b7576002840180548390811061355e57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061359457fe5b6001604060020a039092166020928302909101909101525b600190910190613542565b600284015485908490815181106135ca57fe5b6001604060020a039283166020918202909201015260018501546003860154613606929182169186916000918291608060020a90041681612e53565b9050613205878288613145565b5b50505050505050565b6000805b83604001515181101561367257826001604060020a03168460400151828151811061364857fe5b906020019060200201516001604060020a031614156136695780915061367d565b5b600101613621565b6001604060020a0391505b5092915050565b600061368e6141c5565b60008061369a87612d40565b60028101549094508590036040518059106136b25750595b908082528060200260200182016040525b509250600091505b600284015485900382101561374357600284018054839081106136ea57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061372057fe5b6001604060020a039092166020928302909101909101525b6001909101906136cb565b60018401546003850154613606916001604060020a039081169186916000918291608060020a9091041681612e53565b9050613205878288613145565b5b50505050505050565b60008061379685612d40565b915060146138ca8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561337957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116133365790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156133cc57fe5b60028111156133d757fe5b905250613ca7565b106138d457600080fd5b6001820154600283018054613ac4926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561396757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139245790505b505050505085613a9d8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a3757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139f45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a8a57fe5b6002811115613a9557fe5b905250613e12565b613aa5613ad9565b6003880154910190608060020a90046001604060020a03166000612e53565b9050610b43858286613145565b5b5050505050565b6004545b90565b60008060025b83516002811115613af357fe5b14613afa57fe5b82608001516001604060020a03161515613b175760019150611f7a565b613b248360800151612cf5565b9050611f778160e06040519081016040528154909190829060ff166002811115611bc557fe5b6002811115611bd057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613ae0565b91505b50919050565b80613c8d8585808685613ea5565b9050613c9c8584868685613ea5565b90505b949350505050565b6000808260a001516001604060020a03161515613cc75760009150611f7a565b613cd48360a00151612d40565b9050613e068160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561337957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116133365790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156133cc57fe5b60028111156133d757fe5b905250613ca7565b60010191505b50919050565b6000806000613e248460200151612cf5565b60028101546001604060020a031693509150600090505b83604001515181101561248257613e6a84604001518281518110613e5b57fe5b90602001906020020151612cf5565b60028101549092506001604060020a031683901115613e945760028201546001604060020a031692505b5b600101613e3b565b5b5050919050565b600080600080866001604060020a0316886001604060020a031614613ecc57610100613ecf565b60005b61ffff169250849350613ee188612d40565b6001810154909250613f01908a906001604060020a031689898789613fc6565b9350600090505b60028201546001604060020a0382161015613f7e57613f738983600201836001604060020a0316815481101515613f3b57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189613fc6565b93505b600101613f08565b600382015460006001604060020a039091161115613fb9576003820154613fb6908a906001604060020a0316898960ff880189613fc6565b93505b5b50505095945050505050565b80600080613fd388612cf5565b6003810154909150600160a060020a031615801590613ff25750600083115b156131395788156140ad576003810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561407c57600080fd5b6102c65a03f1151561408d57600080fd5b5050506040518051925050828211156140a557600080fd5b819250613139565b6003810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561412357600080fd5b6102c65a03f1151561413457600080fd5b5050505b5b5b50509695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061418757805160ff19168380011785556141b4565b828001600101855582156141b4579182015b828111156141b4578251825591602001919060010190614199565b5b506141c1929150614384565b5090565b60206040519081016040526000815290565b8154818355818115116142035760040281600402836000526020600020918201910161420391906143a5565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061418757805160ff19168380011785556141b4565b828001600101855582156141b4579182015b828111156141b4578251825591602001919060010190614199565b5b506141c1929150614384565b5090565b815481835581811511614203576004028160040283600052602060002091820191016142039190614429565b5b505050565b828054828255906000526020600020906003016004900481019282156143625791602002820160005b8382111561432d57835183826101000a8154816001604060020a0302191690836001604060020a0316021790555092602001926008016020816007010492830192600103026142e3565b80156143605782816101000a8154906001604060020a03021916905560080160208160070104928301926001030261432d565b505b506141c1929150614490565b5090565b60206040519081016040526000815290565b610e4691905b808211156141c1576000815560010161438a565b5090565b90565b610e4691905b808211156141c157805474ffffffffffffffffffffffffffffffffffffffffff1916815560006143de60018301826144bc565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016143ab565b5090565b90565b610e4691905b808211156141c157600080825560018201805467ffffffffffffffff1916905561445c6002830182614504565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff1916905560040161442f565b5090565b90565b610e4691905b808211156141c157805467ffffffffffffffff19168155600101614496565b5090565b90565b50805460018160011615610100020316600290046000825580601f106144e2575061228f565b601f01602090049060005260206000209081019061228f9190614384565b5b50565b50805460008255600301600490049060005260206000209081019061228f9190614384565b5b505600a165627a7a7230582061c53f3c77b449ea4995ae2c97e4193039f2885f582593b49bab4aec958226a00029" +exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b604051602080620047ba833981016040528080519150505b805b805b60016200003a818062000076565b5060016200004a600082620000ab565b5060028054600160a060020a031916600160a060020a0383161790555b505b50426004555b5062000251565b815481835581811511620000a557600402816004028360005260206000209182019101620000a59190620000e0565b5b505050565b815481835581811511620000a557600402816004028360005260206000209182019101620000a5919062000144565b5b505050565b6200014191905b808211156200013d578054600160a860020a031916815560006200010f6001830182620001b6565b506002810180546001608860020a0319169055600381018054600160a060020a0319169055600401620000e7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b600283018262000202565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001de5750620001fe565b601f016020900490600052602060002090810190620001fe91906200022d565b5b50565b508054600082556003016004900490600052602060002090810190620001fe91906200022d565b5b50565b6200014191905b808211156200013d576000815560010162000234565b5090565b90565b61455980620002616000396000f3006060604052361561014e5763ffffffff60e060020a60003504166313734d87811461015357806314e7b1dc146101ce5780631e215648146102885780632a8ec8cc1461030e5780632ee88808146103335780633f657a461461035757806343387983146103d557806347c5ef43146103f957806350f8a8031461042a5780635503d9ba1461046557806357adafb61461048a5780638233ba6a146104db5780638fe1f2ce146105715780639398f5a2146105a45780639da47a6b146105f5578063a7e474d51461061a578063aa99759c1461063b578063ab8be231146106b6578063af9f4563146106ce578063bce0906d146106f2578063bde60ac91461075d578063d639cd7314610779578063e9c211e2146107e3578063eba8ba0614610807578063ef3766e4146108f3578063fbfa77cf14610944578063fe7fff4914610973578063fecdf177146109f9575b600080fd5b341561015e57600080fd5b6101cc600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250610a74915050565b005b34156101d957600080fd5b6101f06001604060020a0360043516602435610b4a565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561024b5780820151818401525b602001610232565b50505050905090810190601f1680156102785780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561029357600080fd5b6102f260046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250610c71915050565b6040516001604060020a03909116815260200160405180910390f35b341561031957600080fd5b610321610e3e565b60405190815260200160405180910390f35b341561033e57600080fd5b6101cc6001604060020a0360043516602435610e49565b005b341561036257600080fd5b6103766001604060020a0360043516610f8f565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156103bb57fe5b60ff16815260200197505050505050505060405180910390f35b34156103e057600080fd5b6101cc6001604060020a0360043516602435610ffc565b005b341561040457600080fd5b6101cc6001604060020a0360043581169060243581169060443590606435166112fe565b005b341561043557600080fd5b6102f26001604060020a03600435166118fc565b6040516001604060020a03909116815260200160405180910390f35b341561047057600080fd5b610321611ac8565b60405190815260200160405180910390f35b341561049557600080fd5b6101cc6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611ad395505050505050565b005b34156104e657600080fd5b6102f260046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611b469050565b6040516001604060020a03909116815260200160405180910390f35b341561057c57600080fd5b6105906001604060020a0360043516611ece565b604051901515815260200160405180910390f35b34156105af57600080fd5b6101cc6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611f8095505050505050565b005b341561060057600080fd5b610321611ff3565b60405190815260200160405180910390f35b341561062557600080fd5b6101cc6001604060020a0360043516611ff9565b005b341561064657600080fd5b6101cc600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506121b3915050565b005b34156106c157600080fd5b6101cc600435612289565b005b34156106d957600080fd5b6101cc6001604060020a0360043516602435612292565b005b34156106fd57600080fd5b6102f2600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061243d95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6101cc6001604060020a036004358116906024351661248a565b005b341561078457600080fd5b6101cc600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612711915050565b005b34156107ee57600080fd5b6101cc6001604060020a0360043516602435612788565b005b341561081257600080fd5b6108266001604060020a03600435166128b2565b6040518088600281111561083657fe5b60ff168152600160a060020a0388811660208301526001604060020a0387811660608401528616608083015284151560a0830152831660c082015260e0828203810160408301908152910187818151815260200191508051906020019080838360005b838110156108b25780820151818401525b602001610899565b50505050905090810190601f1680156108df5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34156108fe57600080fd5b6101cc60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129d195505050505050565b005b341561094f57600080fd5b610957612a44565b604051600160a060020a03909116815260200160405180910390f35b341561097e57600080fd5b6102f260046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250612a53915050565b6040516001604060020a03909116815260200160405180910390f35b3415610a0457600080fd5b6101cc600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612c1f915050565b005b6000610a7f85612cf5565b905060015b815460ff166002811115610a9457fe5b14610a9e57600080fd5b805433600160a060020a039081166101009092041614610abd57600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051610af0929160200190614146565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b5050505050565b600080610b556141c5565b600080610b6187612d40565b91508160020160018703815481101515610b7757fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610bac85612cf5565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c605780601f10610c3557610100808354040283529160200191610c60565b820191906000526020600020905b815481529060010190602001808311610c4357829003601f168201915b505050505092505b50509250925092565b600180549081808201610c8483826141d7565b916000526020600020906004020160005b60e06040519081016040528060015b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115610cfd57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d43929160200190614146565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b9392505050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e6957600080fd5b610e7284612d40565b915060015b600383015460c060020a900460ff166002811115610e9157fe5b14610e9b57600080fd5b836001604060020a0316610eae85612d89565b6001604060020a031614610ec157600080fd5b6001820154600283018054610f7a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f5457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610f115790505b505050506003860154600091508190608060020a90046001604060020a03166002612e53565b9050610f87848285613145565b5b5b50505050565b600080600080600080600080610fa489612d40565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061100a856118fc565b945061101585612d40565b925060005b600384015460c060020a900460ff16600281111561103457fe5b1461103e57600080fd5b6001830154611055906001604060020a0316612cf5565b91506111a78260e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b6001830154600284018054611260926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561123a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111f75790505b505050506003870154600091508190608060020a90046001604060020a03166001612e53565b905061126d858286613145565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156112e257600080fd5b6102c65a03f115156112f357600080fd5b5050505b5050505050565b600080600080600061130f886118fc565b975061131a88612d40565b945061132586612cf5565b935061133089612cf5565b92506114828360e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b60005b600386015460c060020a900460ff16600281111561149f57fe5b146114a957600080fd5b60018501546001604060020a038a8116911614156115465760005b845460ff1660028111156114d457fe5b14156114ea576114e5888888613257565b61153e565b60025b845460ff1660028111156114fd57fe5b1415611513576114e588888861329d565b61153e565b60015b845460ff16600281111561152657fe5b141561153c576114e58888886134e9565b61153e565bfe5b5b5b5b6118f0565b6116778560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561161057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115cd5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561166357fe5b600281111561166e57fe5b9052508a61361d565b6001604060020a039081169250821461153c5760005b845460ff16600281111561169d57fe5b14156116d35760018501546001604060020a038781169116146116bc57fe5b61153e88888760020180549050613684565b6118f0565b60015b845460ff1660028111156116e657fe5b14156118ad5761181d8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156117b657602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116117735790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561180957fe5b600281111561181457fe5b9052508761361d565b6001604060020a03908116915081141561185857611848888860018589600201805490500303613684565b6114e58888886134e9565b61153e565b8181111561188757611848888860018589600201805490500303613684565b6114e58888886134e9565b61153e565b81811161153e5761153e888860018489600201805490500303613684565b5b5b5b6118f0565b60025b845460ff1660028111156118c057fe5b141561153c576118dd888860018589600201805490500303613684565b61153e88888861378a565b6118f0565b5bfe5b5b505050505050505050565b60008060008061190b85612d40565b925060005b600384015460c060020a900460ff16600281111561192a57fe5b1461193757849350611ac0565b600383015460006001604060020a0390911611801561197057506003830154604060020a90046001604060020a031661196e613ad9565b115b15611a8e576001830154600284018054611a2d926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611a0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119c55790505b505050506003870154600091508190608060020a90046001604060020a031681612e53565b6003840154909250611a6e906001604060020a03166000604051805910611a515750595b908082528060200260200182016040525b50600080866000612e53565b9050611a7f85828560000154613145565b809450611a8b85612d40565b92505b611a9785612d89565b90506001604060020a0380821690861614611abb57611abb85828560000154613145565b5b8093505b505050919050565b600154600019015b90565b600080805b8351831015610f87576001604060020a03848481518110611af557fe5b90602001906020020151169150604060020a848481518110611b1357fe5b90602001906020020151811515611b2657fe5b049050611b338282610ffc565b5b600190920191611ad8565b5b50505050565b6000806001604060020a03851615611cfb57611b6185612cf5565b905060025b815460ff166002811115611b7657fe5b14611b8057600080fd5b805433600160a060020a039081166101009092041614611b9f57600080fd5b6014611cf18260e06040519081016040528154909190829060ff166002811115611bc557fe5b6002811115611bd057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613ae0565b10611cfb57600080fd5b5b60018054925082808201611d1083826141d7565b916000526020600020906004020160005b60e06040519081016040528060025b8152600160a060020a03808c166020830152604082018d90526001604060020a03808b1660608401528b166080830152600060a0830152881660c09091015291905081518154829060ff19166001836002811115611d8a57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611dd0929160200190614146565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b5095945050505050565b600080611eda83612cf5565b905060005b815460ff166002811115611eef57fe5b1415611efe5760009150611f7a565b60025b815460ff166002811115611f1157fe5b14611f1857fe5b6002810154608060020a900460ff1615611f355760019150611f7a565b6002810154604060020a90046001604060020a03161515611f595760009150611f7a565b6002810154611f7790604060020a90046001604060020a0316611ece565b91505b50919050565b600080805b8351831015610f87576001604060020a03848481518110611fa257fe5b90602001906020020151169150604060020a848481518110611fc057fe5b90602001906020020151811515611fd357fe5b049050611fe08282610e49565b5b600190920191611f85565b5b50505050565b60045481565b600061200482612cf5565b90506121568160e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b60028101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60006121be85612cf5565b905060025b815460ff1660028111156121d357fe5b146121dd57600080fd5b805433600160a060020a0390811661010090920416146121fc57600080fd5b805461010060a860020a031916610100600160a060020a038616021781556001810183805161222f929160200190614146565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b5050505050565b60048190555b50565b60008061229e846118fc565b93506122a984612d40565b60018101549092506122c3906001604060020a0316612cf5565b90506124158160e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b6003820154610f87908590608060020a90046001604060020a031685613145565b5b50505050565b600080805b8351821015612482576001604060020a0384838151811061245f57fe5b90602001906020020151169050612475816118fc565b505b600190910190612442565b5b5050919050565b60008080806001604060020a03861615156124bf576124bc602060405190810160405260008082526203f48090612a53565b95505b6124c886612cf5565b935061261a8460e06040519081016040528154909190829060ff16600281111561107b57fe5b600281111561108657fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a031660809091015261320f565b60005b845460ff16600281111561262d57fe5b1461263757600080fd5b3492506000831161264757600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561267a57600080fd5b6126aa86600060405180591061268d5750595b908082528060200260200182016040525b50600080600080612e53565b91506126b582612d40565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612708868385886112fe565b5b505050505050565b600080805b8451831015612708576001604060020a0385848151811061273357fe5b90602001906020020151169150604060020a85848151811061275157fe5b9060200190602002015181151561276457fe5b049050612773868383876112fe565b5b600190920191612716565b5b505050505050565b600254600090819033600160a060020a039081169116146127a857600080fd5b6127b184612d40565b915060015b600383015460c060020a900460ff1660028111156127d057fe5b146127da57600080fd5b6001820154600283018054612892926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561286d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161282a5790505b505050506003860154600091508190608060020a90046001604060020a031681612e53565b9050610f7a816118fc565b9050610f87848285613145565b5b5b50505050565b6000806128bd6141c5565b60008060008060006128ce89612cf5565b80546001808301805460ff84169c5061010093849004600160a060020a03169b509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156129845780601f1061295957610100808354040283529160200191612984565b820191906000526020600020905b81548152906001019060200180831161296757829003601f168201915b50505050600283015460038401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395979092949650565b600080805b8351831015610f87576001604060020a038484815181106129f357fe5b90602001906020020151169150604060020a848481518110612a1157fe5b90602001906020020151811515612a2457fe5b049050612a318282612788565b5b6001909201916129d6565b5b50505050565b600254600160a060020a031681565b600180549081808201612a6683826141d7565b916000526020600020906004020160005b60e06040519081016040528060005b8152600160a060020a033381166020830152604082018a90526001604060020a038916606083015260006080830181905260a0830152871660c09091015291905081518154829060ff19166001836002811115612adf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612b25929160200190614146565b50606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a0820151600282018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560c0820151600391909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b9392505050565b6000612c2a85612cf5565b905060005b815460ff166002811115612c3f57fe5b14612c4957600080fd5b805433600160a060020a039081166101009092041614612c6857600080fd5b805461010060a860020a031916610100600160a060020a0386160217815560018101838051612c9b929160200190614146565b5060028101805467ffffffffffffffff19166001604060020a038481169190911790915585167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b5050505050565b6001546000906001604060020a03831610612d0f57600080fd5b600180546001604060020a038416908110612d2657fe5b906000526020600020906004020160005b5090505b919050565b600080546001604060020a03831610612d5857600080fd5b600080546001604060020a038416908110612d2657fe5b906000526020600020906004020160005b5090505b919050565b600080806001604060020a0384161515612da65760009250612482565b612daf84612d40565b6001810154909250612dc9906001604060020a0316612cf5565b905060005b815460ff166002811115612dde57fe5b1415612dec57839250612482565b60025b815460ff166002811115612dff57fe5b14612e0657fe5b6001820154612e1d906001604060020a0316611ece565b1515612e2b57839250612482565b6003820154612e4990608060020a90046001604060020a0316612d89565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612ea15780820151818401525b602001612e88565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612f0e57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612f7757809250613139565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612fb58382614288565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561302757fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a03929092169190911790556040820151816002019080516130729291602001906142ba565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a83600281111561312d57fe5b02179055505050508092505b50509695505050505050565b60008060006131576001878787613c7f565b9250846001604060020a0316866001604060020a0316141561317857612708565b82151561318457612708565b61318d86612d40565b915061319885612d40565b8254909150839010156131aa57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36132056000878786613c7f565b505b505050505050565b8060200151600160a060020a031633600160a060020a0316148061324857508060c00151600160a060020a031633600160a060020a0316145b151561228f57600080fd5b5b50565b6000610f7a82600060405180591061268d5750595b908082528060200260200182016040525b50600080600080612e53565b9050610f87848285613145565b5b50505050565b60008060006132ab86612d40565b925060146133df8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561337957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116133365790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156133cc57fe5b60028111156133d757fe5b905250613ca7565b106133e957600080fd5b60018301546002840180546134a1926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611a0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116119c55790505b505050506003870154600091508190608060020a90046001604060020a031681612e53565b91506134d3846000604051805910611a515750595b908082528060200260200182016040525b50600080866000612e53565b9050612708868287613145565b5b505050505050565b60006134f36141c5565b6000806134ff87612d40565b60028101549094506014901061351457600080fd5b60028401546001016040518059106135295750595b908082528060200260200182016040525b509250600091505b60028401548210156135b7576002840180548390811061355e57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061359457fe5b6001604060020a039092166020928302909101909101525b600190910190613542565b600284015485908490815181106135ca57fe5b6001604060020a039283166020918202909201015260018501546003860154613606929182169186916000918291608060020a90041681612e53565b9050613205878288613145565b5b50505050505050565b6000805b83604001515181101561367257826001604060020a03168460400151828151811061364857fe5b906020019060200201516001604060020a031614156136695780915061367d565b5b600101613621565b6001604060020a0391505b5092915050565b600061368e6141c5565b60008061369a87612d40565b60028101549094508590036040518059106136b25750595b908082528060200260200182016040525b509250600091505b600284015485900382101561374357600284018054839081106136ea57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061372057fe5b6001604060020a039092166020928302909101909101525b6001909101906136cb565b60018401546003850154613606916001604060020a039081169186916000918291608060020a9091041681612e53565b9050613205878288613145565b5b50505050505050565b60008061379685612d40565b915060146138ca8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561337957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116133365790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156133cc57fe5b60028111156133d757fe5b905250613ca7565b106138d457600080fd5b6001820154600283018054613ac4926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561396757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139245790505b505050505085613a9d8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a3757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139f45790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a8a57fe5b6002811115613a9557fe5b905250613e12565b613aa5613ad9565b6003880154910190608060020a90046001604060020a03166000612e53565b9050610b43858286613145565b5b5050505050565b6004545b90565b60008060025b83516002811115613af357fe5b14613afa57fe5b82608001516001604060020a03161515613b175760019150611f7a565b613b248360800151612cf5565b9050611f778160e06040519081016040528154909190829060ff166002811115611bc557fe5b6002811115611bd057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b505050918352505060028201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600390910154600160a060020a0316608090910152613ae0565b91505b50919050565b80613c8d8585808685613ea5565b9050613c9c8584868685613ea5565b90505b949350505050565b6000808260a001516001604060020a03161515613cc75760009150611f7a565b613cd48360a00151612d40565b9050613e068160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561337957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116133365790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156133cc57fe5b60028111156133d757fe5b905250613ca7565b60010191505b50919050565b6000806000613e248460200151612cf5565b60028101546001604060020a031693509150600090505b83604001515181101561248257613e6a84604001518281518110613e5b57fe5b90602001906020020151612cf5565b60028101549092506001604060020a031683901115613e945760028201546001604060020a031692505b5b600101613e3b565b5b5050919050565b600080600080866001604060020a0316886001604060020a031614613ecc57610100613ecf565b60005b61ffff169250849350613ee188612d40565b6001810154909250613f01908a906001604060020a031689898789613fc6565b9350600090505b60028201546001604060020a0382161015613f7e57613f738983600201836001604060020a0316815481101515613f3b57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189613fc6565b93505b600101613f08565b600382015460006001604060020a039091161115613fb9576003820154613fb6908a906001604060020a0316898960ff880189613fc6565b93505b5b50505095945050505050565b80600080613fd388612cf5565b6003810154909150600160a060020a031615801590613ff25750600083115b156131395788156140ad576003810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561407c57600080fd5b6102c65a03f1151561408d57600080fd5b5050506040518051925050828211156140a557600080fd5b819250613139565b6003810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561412357600080fd5b6102c65a03f1151561413457600080fd5b5050505b5b5b50509695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061418757805160ff19168380011785556141b4565b828001600101855582156141b4579182015b828111156141b4578251825591602001919060010190614199565b5b506141c1929150614384565b5090565b60206040519081016040526000815290565b8154818355818115116142035760040281600402836000526020600020918201910161420391906143a5565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061418757805160ff19168380011785556141b4565b828001600101855582156141b4579182015b828111156141b4578251825591602001919060010190614199565b5b506141c1929150614384565b5090565b815481835581811511614203576004028160040283600052602060002091820191016142039190614429565b5b505050565b828054828255906000526020600020906003016004900481019282156143625791602002820160005b8382111561432d57835183826101000a8154816001604060020a0302191690836001604060020a0316021790555092602001926008016020816007010492830192600103026142e3565b80156143605782816101000a8154906001604060020a03021916905560080160208160070104928301926001030261432d565b505b506141c1929150614490565b5090565b60206040519081016040526000815290565b610e4691905b808211156141c1576000815560010161438a565b5090565b90565b610e4691905b808211156141c157805474ffffffffffffffffffffffffffffffffffffffffff1916815560006143de60018301826144bc565b5060028101805470ffffffffffffffffffffffffffffffffff1916905560038101805473ffffffffffffffffffffffffffffffffffffffff191690556004016143ab565b5090565b90565b610e4691905b808211156141c157600080825560018201805467ffffffffffffffff1916905561445c6002830182614504565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff1916905560040161442f565b5090565b90565b610e4691905b808211156141c157805467ffffffffffffffff19168155600101614496565b5090565b90565b50805460018160011615610100020316600290046000825580601f106144e2575061228f565b601f01602090049060005260206000209081019061228f9190614384565b5b50565b50805460008255600301600490049060005260206000209081019061228f9190614384565b5b505600a165627a7a72305820449a352824788558b2baa19e8f187499383122eb62c03572ea12da905dfe14ca0029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0x783ef3e6700439d649fb15fea1b66ed40ebae8c06b025f99c499fcc9430e3fa2" +exports._sha256 = "0x00bb2b709d1f88fefa5470aafa8934b9ff33d12045a89a664d1fbc6098b79838" diff --git a/build/LiquidPledgingMock_all.sol b/build/LiquidPledgingMock_all.sol index be57cae..973cedd 100644 --- a/build/LiquidPledgingMock_all.sol +++ b/build/LiquidPledgingMock_all.sol @@ -52,7 +52,7 @@ contract LiquidPledgingBase { uint constant MAX_INTERCAMPAIGN_LEVEL = 20; enum PledgeAdminType { Giver, Delegate, Campaign } - enum PaymentState { NotPaid, Paying, Paid } // TODO name change NotPaid + enum PaymentState { Pledged, Paying, Paid } // TODO name change Pledged /// @dev This struct defines the details of each the PledgeAdmin, these /// PledgeAdmins can own pledges and act as delegates @@ -447,7 +447,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, 0, - PaymentState.NotPaid); + PaymentState.Pledged); Pledge storage nTo = findPledge(idPledge); @@ -475,7 +475,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { PledgeAdmin storage sender = findAdmin(idSender); checkAdminOwner(sender); - require(n.paymentState == PaymentState.NotPaid); + require(n.paymentState == PaymentState.Pledged); // If the sender is the owner if (n.owner == idSender) { @@ -553,7 +553,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); - require(n.paymentState == PaymentState.NotPaid); + require(n.paymentState == PaymentState.Pledged); PledgeAdmin storage owner = findAdmin(n.owner); @@ -611,7 +611,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid + PaymentState.Pledged ); oldPledge = normalizePledge(oldPledge); @@ -709,14 +709,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); uint64 toPledge = findPledge( idReceiver, new uint64[](0), 0, 0, oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -727,7 +727,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, 0, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -749,7 +749,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -766,7 +766,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -782,7 +782,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { idReceiver, uint64(getTime() + maxCommitTime(n)), n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -812,7 +812,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); // Check to make sure this pledge hasnt already been used or is in the process of being used - if (n.paymentState != PaymentState.NotPaid) return idPledge; + if (n.paymentState != PaymentState.Pledged) return idPledge; // First send to a campaign if it's proposed and commited if ((n.proposedCampaign > 0) && ( getTime() > n.commitTime)) { @@ -822,14 +822,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); uint64 toPledge = findPledge( n.proposedCampaign, new uint64[](0), 0, 0, oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, n.amount); idPledge = toPledge; n = findPledge(idPledge); diff --git a/build/LiquidPledging_all.sol b/build/LiquidPledging_all.sol index 7aa4ead..9a129a9 100644 --- a/build/LiquidPledging_all.sol +++ b/build/LiquidPledging_all.sol @@ -52,7 +52,7 @@ contract LiquidPledgingBase { uint constant MAX_INTERCAMPAIGN_LEVEL = 20; enum PledgeAdminType { Giver, Delegate, Campaign } - enum PaymentState { NotPaid, Paying, Paid } // TODO name change NotPaid + enum PaymentState { Pledged, Paying, Paid } // TODO name change Pledged /// @dev This struct defines the details of each the PledgeAdmin, these /// PledgeAdmins can own pledges and act as delegates @@ -447,7 +447,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, 0, - PaymentState.NotPaid); + PaymentState.Pledged); Pledge storage nTo = findPledge(idPledge); @@ -475,7 +475,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { PledgeAdmin storage sender = findAdmin(idSender); checkAdminOwner(sender); - require(n.paymentState == PaymentState.NotPaid); + require(n.paymentState == PaymentState.Pledged); // If the sender is the owner if (n.owner == idSender) { @@ -553,7 +553,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); - require(n.paymentState == PaymentState.NotPaid); + require(n.paymentState == PaymentState.Pledged); PledgeAdmin storage owner = findAdmin(n.owner); @@ -611,7 +611,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid + PaymentState.Pledged ); oldPledge = normalizePledge(oldPledge); @@ -709,14 +709,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); uint64 toPledge = findPledge( idReceiver, new uint64[](0), 0, 0, oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -727,7 +727,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, 0, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -749,7 +749,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -766,7 +766,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -782,7 +782,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { idReceiver, uint64(getTime() + maxCommitTime(n)), n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -812,7 +812,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); // Check to make sure this pledge hasnt already been used or is in the process of being used - if (n.paymentState != PaymentState.NotPaid) return idPledge; + if (n.paymentState != PaymentState.Pledged) return idPledge; // First send to a campaign if it's proposed and commited if ((n.proposedCampaign > 0) && ( getTime() > n.commitTime)) { @@ -822,14 +822,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); uint64 toPledge = findPledge( n.proposedCampaign, new uint64[](0), 0, 0, oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, n.amount); idPledge = toPledge; n = findPledge(idPledge); diff --git a/contracts/LiquidPledging.sol b/contracts/LiquidPledging.sol index 83ec388..6c2010b 100644 --- a/contracts/LiquidPledging.sol +++ b/contracts/LiquidPledging.sol @@ -44,7 +44,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, 0, - PaymentState.NotPaid); + PaymentState.Pledged); Pledge storage nTo = findPledge(idPledge); @@ -72,7 +72,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { PledgeAdmin storage sender = findAdmin(idSender); checkAdminOwner(sender); - require(n.paymentState == PaymentState.NotPaid); + require(n.paymentState == PaymentState.Pledged); // If the sender is the owner if (n.owner == idSender) { @@ -150,7 +150,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); - require(n.paymentState == PaymentState.NotPaid); + require(n.paymentState == PaymentState.Pledged); PledgeAdmin storage owner = findAdmin(n.owner); @@ -208,7 +208,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid + PaymentState.Pledged ); oldPledge = normalizePledge(oldPledge); @@ -306,14 +306,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); uint64 toPledge = findPledge( idReceiver, new uint64[](0), 0, 0, oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -324,7 +324,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, 0, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -346,7 +346,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -363,7 +363,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -379,7 +379,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { idReceiver, uint64(getTime() + maxCommitTime(n)), n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, amount); } @@ -409,7 +409,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); // Check to make sure this pledge hasnt already been used or is in the process of being used - if (n.paymentState != PaymentState.NotPaid) return idPledge; + if (n.paymentState != PaymentState.Pledged) return idPledge; // First send to a campaign if it's proposed and commited if ((n.proposedCampaign > 0) && ( getTime() > n.commitTime)) { @@ -419,14 +419,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { 0, 0, n.oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); uint64 toPledge = findPledge( n.proposedCampaign, new uint64[](0), 0, 0, oldPledge, - PaymentState.NotPaid); + PaymentState.Pledged); doTransfer(idPledge, toPledge, n.amount); idPledge = toPledge; n = findPledge(idPledge); diff --git a/contracts/LiquidPledgingBase.sol b/contracts/LiquidPledgingBase.sol index f8c6d82..fce2194 100644 --- a/contracts/LiquidPledgingBase.sol +++ b/contracts/LiquidPledgingBase.sol @@ -16,7 +16,7 @@ contract LiquidPledgingBase { uint constant MAX_INTERCAMPAIGN_LEVEL = 20; enum PledgeAdminType { Giver, Delegate, Campaign } - enum PaymentState { NotPaid, Paying, Paid } // TODO name change NotPaid + enum PaymentState { Pledged, Paying, Paid } // TODO name change Pledged /// @dev This struct defines the details of each the PledgeAdmin, these /// PledgeAdmins can own pledges and act as delegates diff --git a/js/liquidPledging.js b/js/liquidPledging.js index 3602e29..9bc70e7 100644 --- a/js/liquidPledging.js +++ b/js/liquidPledging.js @@ -28,7 +28,7 @@ module.exports = (test) => { pledge.oldPledge = res.oldPledge; } if (res.paymentState === '0') { - pledge.paymentState = 'NotPaid'; + pledge.paymentState = 'Pledged'; } else if (res.paymentState === '1') { pledge.paymentState = 'Paying'; } else if (res.paymentState === '2') {