diff --git a/build/LiquidPledging.sol.js b/build/LiquidPledging.sol.js index 61a7b33..5717cff 100644 --- a/build/LiquidPledging.sol.js +++ b/build/LiquidPledging.sol.js @@ -3,10 +3,10 @@ exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","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":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":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"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":"intendedProject","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":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"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":"url","type":"string"},{"name":"projectAdmin","type":"address"},{"name":"parentProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addProject","outputs":[{"name":"idProject","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"}],"name":"cancelProject","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","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":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"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":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","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":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentProject","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":false,"inputs":[{"name":"idProject","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateProject","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"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":"idProject","type":"uint64"}],"name":"CancelProject","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":"idProject","type":"uint64"}],"name":"ProjectAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"ProjectUpdated","type":"event"}] -exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f49833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614ce080620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f75780632a8ec8cc1461022a5780632ee888081461024f5780633f657a461461027357806343387983146102f157806347c5ef431461031557806350f8a8031461034657806352dc7dcc146103815780635503d9ba1461044957806357adafb61461046e57806372116e92146104bf578063796d5654146105975780637f61fa93146105b85780639398f5a214610680578063af9f4563146106d1578063bce0906d146106f5578063bde60ac914610760578063cc19ecf71461077c578063d639cd7314610839578063db7c2314146108a3578063e9c211e214610960578063eba8ba0614610984578063ef3766e414610adc578063f6b24b1c14610b2d578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102166001604060020a0360043516610d40565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d610df2565b60405190815260200160405180910390f35b341561025a57600080fd5b6102716001604060020a0360043516602435610dfd565b005b341561027e57600080fd5b6102926001604060020a0360043516610f43565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d757fe5b60ff16815260200197505050505050505060405180910390f35b34156102fc57600080fd5b6102716001604060020a0360043516602435610fb0565b005b341561032057600080fd5b6102716001604060020a036004358116906024358116906044359060643516611355565b005b341561035157600080fd5b6103656001604060020a03600435166119f6565b6040516001604060020a03909116815260200160405180910390f35b341561038c57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611bc2915050565b6040516001604060020a03909116815260200160405180910390f35b341561045457600080fd5b61023d611db3565b60405190815260200160405180910390f35b341561047957600080fd5b6102716004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611dbe95505050505050565b005b34156104ca57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611e319050565b6040516001604060020a03909116815260200160405180910390f35b34156105a257600080fd5b6102716001604060020a0360043516612261565b005b34156105c357600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506124be915050565b6040516001604060020a03909116815260200160405180910390f35b341561068b57600080fd5b61027160046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506126ae95505050505050565b005b34156106dc57600080fd5b6102716001604060020a0360043516602435612721565b005b341561070057600080fd5b610365600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061296f95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6102716001604060020a03600435811690602435166129bc565b005b341561078757600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612cf7915050565b005b341561084457600080fd5b610271600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612de4915050565b005b34156108ae57600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e5b915050565b005b341561096b57600080fd5b6102716001604060020a0360043516602435612f48565b005b341561098f57600080fd5b6109a36001604060020a0360043516613072565b604051808960028111156109b357fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610a355780820151818401525b602001610a1c565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610a995780820151818401525b602001610a80565b50505050905090810190601f168015610ac65780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ae757600080fd5b610271600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061323895505050505050565b005b3415610b3857600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506132ab915050565b005b3415610bf557600080fd5b610bfd613398565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148bf565b600080610c30876133a7565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b856133f0565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b600080610d4c836133f0565b905060005b815460ff166002811115610d6157fe5b1415610d705760009150610dec565b60025b815460ff166002811115610d8357fe5b14610d8a57fe5b6003810154608060020a900460ff1615610da75760019150610dec565b6003810154604060020a90046001604060020a03161515610dcb5760009150610dec565b6003810154610de990604060020a90046001604060020a0316610d40565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1d57600080fd5b610e26846133a7565b915060015b600383015460c060020a900460ff166002811115610e4557fe5b14610e4f57600080fd5b836001604060020a0316610e628561343b565b6001604060020a031614610e7557600080fd5b6001820154600283018054610f2e926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ec55790505b505050506003860154600091508190608060020a90046001604060020a03166002613505565b9050610f3b8482856137f7565b5b5b50505050565b600080600080600080600080610f58896133a7565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fbe856119f6565b9450610fc9856133a7565b925060005b600384015460c060020a900460ff166002811115610fe857fe5b14610ff257600080fd5b6001830154611009906001604060020a03166133f0565b91506111fe826101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60018301546002840180546112b7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561129157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161124e5790505b505050506003870154600091508190608060020a90046001604060020a03166001613505565b90506112c48582866137f7565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561133957600080fd5b6102c65a03f1151561134a57600080fd5b5050505b5050505050565b6000806000806000611366886119f6565b9750611371886133a7565b945061137c866133f0565b9350611387896133f0565b925061157c836101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60005b600386015460c060020a900460ff16600281111561159957fe5b146115a357600080fd5b60018501546001604060020a038a8116911614156116405760005b845460ff1660028111156115ce57fe5b14156115e4576115df888888613909565b611638565b60025b845460ff1660028111156115f757fe5b141561160d576115df88888861394f565b611638565b60015b845460ff16600281111561162057fe5b1415611636576115df888888613bae565b611638565bfe5b5b5b5b6119ea565b6117718560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561170a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116116c75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561175d57fe5b600281111561176857fe5b9052508a613ce2565b6001604060020a03908116925082146116365760005b845460ff16600281111561179757fe5b14156117cd5760018501546001604060020a038781169116146117b657fe5b61163888888760020180549050613d49565b6119ea565b60015b845460ff1660028111156117e057fe5b14156119a7576119178560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156118b057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161186d5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561190357fe5b600281111561190e57fe5b90525087613ce2565b6001604060020a03908116915081141561195257611942888860018589600201805490500303613d49565b6115df888888613bae565b611638565b8181111561198157611942888860018589600201805490500303613d49565b6115df888888613bae565b611638565b81811161163857611638888860018489600201805490500303613d49565b5b5b5b6119ea565b60025b845460ff1660028111156119ba57fe5b1415611636576119d7888860018589600201805490500303613d49565b611638888888613e4f565b6119ea565b5bfe5b5b505050505050505050565b600080600080611a05856133a7565b925060005b600384015460c060020a900460ff166002811115611a2457fe5b14611a3157849350611bba565b600383015460006001604060020a03909116118015611a6a57506003830154604060020a90046001604060020a0316611a686141b1565b115b15611b88576001830154600284018054611b27926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b0257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611abf5790505b505050506003870154600091508190608060020a90046001604060020a031681613505565b6003840154909250611b68906001604060020a03166000604051805910611b4b5750595b908082528060200260200182016040525b50600080866000613505565b9050611b79858285600001546137f7565b809450611b85856133a7565b92505b611b918561343b565b90506001604060020a0380821690861614611bb557611bb5858285600001546137f7565b5b8093505b505050919050565b600180549081808201611bd583826148d1565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611c5657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611c9c929160200190614903565b50606082015181600201908051611cb7929160200190614903565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b8351831015610f3b576001604060020a03848481518110611de057fe5b90602001906020020151169150604060020a848481518110611dfe57fe5b90602001906020020151811515611e1157fe5b049050611e1e8282610fb0565b5b600190920191611dc3565b5b50505050565b6000806001604060020a0385161561206a57611e4c856133f0565b905060025b815460ff166002811115611e6157fe5b14611e6b57600080fd5b6014612060826101006040519081016040528154909190829060ff166002811115611e9257fe5b6002811115611e9d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f695780601f10611f3e57610100808354040283529160200191611f69565b820191906000526020600020905b815481529060010190602001808311611f4c57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561200b5780601f10611fe05761010080835404028352916020019161200b565b820191906000526020600020905b815481529060010190602001808311611fee57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141b6565b1061206a57600080fd5b5b6001805492508280820161207f83826148d1565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561210157fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612147929160200190614903565b50606082015181600201908051612162929160200190614903565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b600061226c826133f0565b9050612461816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25b5050565b6001805490818082016124d183826148d1565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561255257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612598929160200190614903565b506060820151816002019080516125b3929160200190614903565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600080805b8351831015610f3b576001604060020a038484815181106126d057fe5b90602001906020020151169150604060020a8484815181106126ee57fe5b9060200190602002015181151561270157fe5b04905061270e8282610dfd565b5b6001909201916126b3565b5b50505050565b60008061272d846119f6565b9350612738846133a7565b6001810154909250612752906001604060020a03166133f0565b9050612947816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b6003820154610f3b908590608060020a90046001604060020a0316856137f7565b5b50505050565b600080805b83518210156129b4576001604060020a0384838151811061299157fe5b906020019060200201511690506129a7816119f6565b505b600190910190612974565b5b5050919050565b60008080806001604060020a0386161515612a02576129ff6020604051908101604052806000815250602060405190810160405260008082526203f480906124be565b95505b612a0b866133f0565b9350612c00846101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60005b845460ff166002811115612c1357fe5b14612c1d57600080fd5b34925060008311612c2d57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612c6057600080fd5b612c90866000604051805910612c735750595b908082528060200260200182016040525b50600080600080613505565b9150612c9b826133a7565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612cee86838588611355565b5b505050505050565b6000612d02866133f0565b905060015b815460ff166002811115612d1757fe5b14612d2157600080fd5b805433600160a060020a039081166101009092041614612d4057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612d73929160200190614903565b5060028101838051612d89929160200190614903565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612cee576001604060020a03858481518110612e0657fe5b90602001906020020151169150604060020a858481518110612e2457fe5b90602001906020020151811515612e3757fe5b049050612e4686838387611355565b5b600190920191612de9565b5b505050505050565b6000612e66866133f0565b905060005b815460ff166002811115612e7b57fe5b14612e8557600080fd5b805433600160a060020a039081166101009092041614612ea457600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ed7929160200190614903565b5060028101838051612eed929160200190614903565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a03908116911614612f6857600080fd5b612f71846133a7565b915060015b600383015460c060020a900460ff166002811115612f9057fe5b14612f9a57600080fd5b6001820154600283018054613052926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561302d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411612fea5790505b505050506003860154600091508190608060020a90046001604060020a031681613505565b9050610f2e816119f6565b9050610f3b8482856137f7565b5b5b50505050565b60008061307d6148bf565b6130856148bf565b60008060008060006130968a6133f0565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f8201819004810201604051908101604052809291908181526020018280546001816001161561010002031660029004801561314c5780601f106131215761010080835404028352916020019161314c565b820191906000526020600020905b81548152906001019060200180831161312f57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156131eb5780601f106131c0576101008083540402835291602001916131eb565b820191906000526020600020905b8154815290600101906020018083116131ce57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b8351831015610f3b576001604060020a0384848151811061325a57fe5b90602001906020020151169150604060020a84848151811061327857fe5b9060200190602002015181151561328b57fe5b0490506132988282612f48565b5b60019092019161323d565b5b50505050565b60006132b6866133f0565b905060025b815460ff1660028111156132cb57fe5b146132d557600080fd5b805433600160a060020a0390811661010090920416146132f457600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613327929160200190614903565b506002810183805161333d929160200190614903565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b600080546001604060020a038316106133bf57600080fd5b600080546001604060020a0384169081106133d657fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061340a57600080fd5b600180546001604060020a03841690811061342157fe5b906000526020600020906005020160005b5090505b919050565b600080806001604060020a038416151561345857600092506129b4565b613461846133a7565b600181015490925061347b906001604060020a03166133f0565b905060005b815460ff16600281111561349057fe5b141561349e578392506129b4565b60025b815460ff1660028111156134b157fe5b146134b857fe5b60018201546134cf906001604060020a0316610d40565b15156134dd578392506129b4565b60038201546134fb90608060020a90046001604060020a031661343b565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156135535780820151818401525b60200161353a565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a0281526008018260028111156135c057fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115613629578092506137eb565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016136678382614a01565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a031681526020018860028111156136d957fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613724929160200190614a33565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156137df57fe5b02179055505050508092505b50509695505050505050565b600080600061380960018787876143f8565b9250846001604060020a0316866001604060020a0316141561382a57612cee565b82151561383657612cee565b61383f866133a7565b915061384a856133a7565b82549091508390101561385c57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36138b760008787866143f8565b505b505050505050565b8060200151600160a060020a031633600160a060020a031614806138fa57508060e00151600160a060020a031633600160a060020a0316145b151561390557600080fd5b5b50565b6000610f2e826000604051805910612c735750595b908082528060200260200182016040525b50600080600080613505565b9050610f3b8482856137f7565b5b50505050565b600080600061395d866133a7565b92506014613a918460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a2b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139e85790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a7e57fe5b6002811115613a8957fe5b905250614420565b10613a9b57600080fd5b613aa484610d40565b15613aae57600080fd5b6001830154600284018054613b66926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b0257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611abf5790505b505050506003870154600091508190608060020a90046001604060020a031681613505565b9150613b98846000604051805910611b4b5750595b908082528060200260200182016040525b50600080866000613505565b9050612cee8682876137f7565b5b505050505050565b6000613bb86148bf565b600080613bc4876133a7565b600281015490945060149010613bd957600080fd5b6002840154600101604051805910613bee5750595b908082528060200260200182016040525b509250600091505b6002840154821015613c7c5760028401805483908110613c2357fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613c5957fe5b6001604060020a039092166020928302909101909101525b600190910190613c07565b60028401548590849081518110613c8f57fe5b6001604060020a039283166020918202909201015260018501546003860154613ccb929182169186916000918291608060020a90041681613505565b90506138b78782886137f7565b5b50505050505050565b6000805b836040015151811015613d3757826001604060020a031684604001518281518110613d0d57fe5b906020019060200201516001604060020a03161415613d2e57809150613d42565b5b600101613ce6565b6001604060020a0391505b5092915050565b6000613d536148bf565b600080613d5f876133a7565b6002810154909450859003604051805910613d775750595b908082528060200260200182016040525b509250600091505b6002840154859003821015613e085760028401805483908110613daf57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613de557fe5b6001604060020a039092166020928302909101909101525b600190910190613d90565b60018401546003850154613ccb916001604060020a039081169186916000918291608060020a9091041681613505565b90506138b78782886137f7565b5b50505050505050565b600080613e5b856133a7565b91506014613f8f8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a2b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139e85790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a7e57fe5b6002811115613a8957fe5b905250614420565b10613f9957600080fd5b613fa283610d40565b15613fac57600080fd5b600182015460028301805461419c926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561403f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613ffc5790505b5050505050856141758660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561410f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116140cc5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561416257fe5b600281111561416d57fe5b90525061458b565b61417d6141b1565b6003880154910190608060020a90046001604060020a03166000613505565b905061134e8582866137f7565b5b5050505050565b425b90565b60008060025b835160028111156141c957fe5b146141d057fe5b8260a001516001604060020a031615156141ed5760019150610dec565b6141fa8360a001516133f0565b9050610de9816101006040519081016040528154909190829060ff166002811115611e9257fe5b6002811115611e9d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f695780601f10611f3e57610100808354040283529160200191611f69565b820191906000526020600020905b815481529060010190602001808311611f4c57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561200b5780601f10611fe05761010080835404028352916020019161200b565b820191906000526020600020905b815481529060010190602001808311611fee57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141b6565b91505b50919050565b80614406858580868561461e565b9050614415858486868561461e565b90505b949350505050565b6000808260a001516001604060020a031615156144405760009150610dec565b61444d8360a001516133a7565b905061457f8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a2b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139e85790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a7e57fe5b6002811115613a8957fe5b905250614420565b60010191505b50919050565b600080600061459d84602001516133f0565b60038101546001604060020a031693509150600090505b8360400151518110156129b4576145e3846040015182815181106145d457fe5b906020019060200201516133f0565b60038101549092506001604060020a03168390111561460d5760038201546001604060020a031692505b5b6001016145b4565b5b5050919050565b600080600080866001604060020a0316886001604060020a03161461464557610100614648565b60005b61ffff16925084935061465a886133a7565b600181015490925061467a908a906001604060020a03168989878961473f565b9350600090505b60028201546001604060020a03821610156146f7576146ec8983600201836001604060020a03168154811015156146b457fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031689898588016001018961473f565b93505b600101614681565b600382015460006001604060020a03909116111561473257600382015461472f908a906001604060020a0316898960ff88018961473f565b93505b5b50505095945050505050565b8060008061474c886133f0565b6004810154909150600160a060020a03161580159061476b5750600083115b156137eb578815614826576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b15156147f557600080fd5b6102c65a03f1151561480657600080fd5b50505060405180519250508282111561481e57600080fd5b8192506137eb565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561489c57600080fd5b6102c65a03f115156148ad57600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b8154818355818115116148fd576005028160050283600052602060002091820191016148fd9190614afd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061494457805160ff1916838001178555614971565b82800160010185558215614971579182015b82811115614971578251825591602001919060010190614956565b5b5061497e929150614b8f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061494457805160ff1916838001178555614971565b82800160010185558215614971579182015b82811115614971578251825591602001919060010190614956565b5b5061497e929150614b8f565b5090565b8154818355818115116148fd576004028160040283600052602060002091820191016148fd9190614bb0565b5b505050565b82805482825590600052602060002090600301600490048101928215614adb5791602002820160005b83821115614aa657835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a5c565b8015614ad95782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614aa6565b505b5061497e929150614c17565b5090565b60206040519081016040526000815290565b610dfa91905b8082111561497e57805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b366001830182614c43565b614b44600283016000614c43565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b03565b5090565b90565b610dfa91905b8082111561497e5760008155600101614b95565b5090565b90565b610dfa91905b8082111561497e57600080825560018201805467ffffffffffffffff19169055614be36002830182614c8b565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614bb6565b5090565b90565b610dfa91905b8082111561497e57805467ffffffffffffffff19168155600101614c1d565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c695750613905565b601f0160209004906000526020600020908101906139059190614b8f565b5b50565b5080546000825560030160049004906000526020600020908101906139059190614b8f565b5b505600a165627a7a72305820ac7139babd826a5c4dc93095aa536325ff4bf71c7424bc4ba76c905e3701c60f0029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f6b833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614d0280620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f75780632a8ec8cc1461022a5780632ee888081461024f5780633f657a461461027357806343387983146102f157806347c5ef431461031557806350f8a8031461034657806352dc7dcc146103815780635503d9ba1461044957806357adafb61461046e57806372116e92146104bf578063796d5654146105975780637f61fa93146105b85780639398f5a214610680578063af9f4563146106d1578063bce0906d146106f5578063bde60ac914610760578063cc19ecf71461077c578063d639cd7314610839578063db7c2314146108a3578063e9c211e214610960578063eba8ba0614610984578063ef3766e414610adc578063f6b24b1c14610b2d578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102166001604060020a0360043516610d40565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d610df2565b60405190815260200160405180910390f35b341561025a57600080fd5b6102716001604060020a0360043516602435610dfd565b005b341561027e57600080fd5b6102926001604060020a0360043516610f43565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d757fe5b60ff16815260200197505050505050505060405180910390f35b34156102fc57600080fd5b6102716001604060020a0360043516602435610fb0565b005b341561032057600080fd5b6102716001604060020a036004358116906024358116906044359060643516611355565b005b341561035157600080fd5b6103656001604060020a0360043516611a12565b6040516001604060020a03909116815260200160405180910390f35b341561038c57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611bde915050565b6040516001604060020a03909116815260200160405180910390f35b341561045457600080fd5b61023d611dcf565b60405190815260200160405180910390f35b341561047957600080fd5b6102716004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611dda95505050505050565b005b34156104ca57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611e4d9050565b6040516001604060020a03909116815260200160405180910390f35b34156105a257600080fd5b6102716001604060020a036004351661227d565b005b34156105c357600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506124da915050565b6040516001604060020a03909116815260200160405180910390f35b341561068b57600080fd5b61027160046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506126ca95505050505050565b005b34156106dc57600080fd5b6102716001604060020a036004351660243561273d565b005b341561070057600080fd5b610365600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061298b95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6102716001604060020a03600435811690602435166129d8565b005b341561078757600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612d13915050565b005b341561084457600080fd5b610271600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612e00915050565b005b34156108ae57600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e77915050565b005b341561096b57600080fd5b6102716001604060020a0360043516602435612f64565b005b341561098f57600080fd5b6109a36001604060020a036004351661308e565b604051808960028111156109b357fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610a355780820151818401525b602001610a1c565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610a995780820151818401525b602001610a80565b50505050905090810190601f168015610ac65780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ae757600080fd5b610271600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061325495505050505050565b005b3415610b3857600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506132c7915050565b005b3415610bf557600080fd5b610bfd6133b4565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148e1565b600080610c30876133c3565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b8561340c565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b600080610d4c8361340c565b905060005b815460ff166002811115610d6157fe5b1415610d705760009150610dec565b60025b815460ff166002811115610d8357fe5b14610d8a57fe5b6003810154608060020a900460ff1615610da75760019150610dec565b6003810154604060020a90046001604060020a03161515610dcb5760009150610dec565b6003810154610de990604060020a90046001604060020a0316610d40565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1d57600080fd5b610e26846133c3565b915060015b600383015460c060020a900460ff166002811115610e4557fe5b14610e4f57600080fd5b836001604060020a0316610e6285613457565b6001604060020a031614610e7557600080fd5b6001820154600283018054610f2e926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ec55790505b505050506003860154600091508190608060020a90046001604060020a03166002613521565b9050610f3b848285613813565b5b5b50505050565b600080600080600080600080610f58896133c3565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fbe85611a12565b9450610fc9856133c3565b925060005b600384015460c060020a900460ff166002811115610fe857fe5b14610ff257600080fd5b6001830154611009906001604060020a031661340c565b91506111fe826101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60018301546002840180546112b7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561129157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161124e5790505b505050506003870154600091508190608060020a90046001604060020a03166001613521565b90506112c4858286613813565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561133957600080fd5b6102c65a03f1151561134a57600080fd5b5050505b5050505050565b600080600080600061136688611a12565b9750611371886133c3565b945061137c8661340c565b93506113878961340c565b925061157c836101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60005b600386015460c060020a900460ff16600281111561159957fe5b146115a357600080fd5b60018501546001604060020a038a8116911614156116545760005b845460ff1660028111156115ce57fe5b14156115e4576115df888888613925565b61164c565b60025b845460ff1660028111156115f757fe5b141561160d576115df88888861396b565b61164c565b60015b845460ff16600281111561162057fe5b141561164a5761163888888760020180549050613bca565b97506115df888888613cd6565b61164c565bfe5b5b5b5b611a06565b6117858560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561171e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116116db5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561177157fe5b600281111561177c57fe5b9052508a613e0a565b6001604060020a039081169250821461164a5760005b845460ff1660028111156117ab57fe5b14156117e25760018501546001604060020a038781169116146117ca57fe5b6117dc88888760020180549050613bca565b50611a06565b60015b845460ff1660028111156117f557fe5b14156119c15761192c8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156118c557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118825790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561191857fe5b600281111561192357fe5b90525087613e0a565b6001604060020a03908116915081141561196957611638888860018589600201805490500303613bca565b97506115df888888613cd6565b61164c565b8181111561199a57611638888860018589600201805490500303613bca565b97506115df888888613cd6565b61164c565b81811161164c576117dc888860018489600201805490500303613bca565b505b5b5b611a06565b60025b845460ff1660028111156119d457fe5b141561164a576119f1888860018589600201805490500303613bca565b975061164c888888613e71565b611a06565b5bfe5b5b505050505050505050565b600080600080611a21856133c3565b925060005b600384015460c060020a900460ff166002811115611a4057fe5b14611a4d57849350611bd6565b600383015460006001604060020a03909116118015611a8657506003830154604060020a90046001604060020a0316611a846141d3565b115b15611ba4576001830154600284018054611b43926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b1e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611adb5790505b505050506003870154600091508190608060020a90046001604060020a031681613521565b6003840154909250611b84906001604060020a03166000604051805910611b675750595b908082528060200260200182016040525b50600080866000613521565b9050611b9585828560000154613813565b809450611ba1856133c3565b92505b611bad85613457565b90506001604060020a0380821690861614611bd157611bd185828560000154613813565b5b8093505b505050919050565b600180549081808201611bf183826148f3565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611c7257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611cb8929160200190614925565b50606082015181600201908051611cd3929160200190614925565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b8351831015610f3b576001604060020a03848481518110611dfc57fe5b90602001906020020151169150604060020a848481518110611e1a57fe5b90602001906020020151811515611e2d57fe5b049050611e3a8282610fb0565b5b600190920191611ddf565b5b50505050565b6000806001604060020a0385161561208657611e688561340c565b905060025b815460ff166002811115611e7d57fe5b14611e8757600080fd5b601461207c826101006040519081016040528154909190829060ff166002811115611eae57fe5b6002811115611eb957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f855780601f10611f5a57610100808354040283529160200191611f85565b820191906000526020600020905b815481529060010190602001808311611f6857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120275780601f10611ffc57610100808354040283529160200191612027565b820191906000526020600020905b81548152906001019060200180831161200a57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141d8565b1061208657600080fd5b5b6001805492508280820161209b83826148f3565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561211d57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612163929160200190614925565b5060608201518160020190805161217e929160200190614925565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60006122888261340c565b905061247d816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25b5050565b6001805490818082016124ed83826148f3565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561256e57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516125b4929160200190614925565b506060820151816002019080516125cf929160200190614925565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600080805b8351831015610f3b576001604060020a038484815181106126ec57fe5b90602001906020020151169150604060020a84848151811061270a57fe5b9060200190602002015181151561271d57fe5b04905061272a8282610dfd565b5b6001909201916126cf565b5b50505050565b60008061274984611a12565b9350612754846133c3565b600181015490925061276e906001604060020a031661340c565b9050612963816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b6003820154610f3b908590608060020a90046001604060020a031685613813565b5b50505050565b600080805b83518210156129d0576001604060020a038483815181106129ad57fe5b906020019060200201511690506129c381611a12565b505b600190910190612990565b5b5050919050565b60008080806001604060020a0386161515612a1e57612a1b6020604051908101604052806000815250602060405190810160405260008082526203f480906124da565b95505b612a278661340c565b9350612c1c846101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60005b845460ff166002811115612c2f57fe5b14612c3957600080fd5b34925060008311612c4957600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612c7c57600080fd5b612cac866000604051805910612c8f5750595b908082528060200260200182016040525b50600080600080613521565b9150612cb7826133c3565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612d0a86838588611355565b5b505050505050565b6000612d1e8661340c565b905060015b815460ff166002811115612d3357fe5b14612d3d57600080fd5b805433600160a060020a039081166101009092041614612d5c57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612d8f929160200190614925565b5060028101838051612da5929160200190614925565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612d0a576001604060020a03858481518110612e2257fe5b90602001906020020151169150604060020a858481518110612e4057fe5b90602001906020020151811515612e5357fe5b049050612e6286838387611355565b5b600190920191612e05565b5b505050505050565b6000612e828661340c565b905060005b815460ff166002811115612e9757fe5b14612ea157600080fd5b805433600160a060020a039081166101009092041614612ec057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ef3929160200190614925565b5060028101838051612f09929160200190614925565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a03908116911614612f8457600080fd5b612f8d846133c3565b915060015b600383015460c060020a900460ff166002811115612fac57fe5b14612fb657600080fd5b600182015460028301805461306e926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561304957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130065790505b505050506003860154600091508190608060020a90046001604060020a031681613521565b9050610f2e81611a12565b9050610f3b848285613813565b5b5b50505050565b6000806130996148e1565b6130a16148e1565b60008060008060006130b28a61340c565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156131685780601f1061313d57610100808354040283529160200191613168565b820191906000526020600020905b81548152906001019060200180831161314b57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132075780601f106131dc57610100808354040283529160200191613207565b820191906000526020600020905b8154815290600101906020018083116131ea57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b8351831015610f3b576001604060020a0384848151811061327657fe5b90602001906020020151169150604060020a84848151811061329457fe5b906020019060200201518115156132a757fe5b0490506132b48282612f64565b5b600190920191613259565b5b50505050565b60006132d28661340c565b905060025b815460ff1660028111156132e757fe5b146132f157600080fd5b805433600160a060020a03908116610100909204161461331057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613343929160200190614925565b5060028101838051613359929160200190614925565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b600080546001604060020a038316106133db57600080fd5b600080546001604060020a0384169081106133f257fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061342657600080fd5b600180546001604060020a03841690811061343d57fe5b906000526020600020906005020160005b5090505b919050565b600080806001604060020a038416151561347457600092506129d0565b61347d846133c3565b6001810154909250613497906001604060020a031661340c565b905060005b815460ff1660028111156134ac57fe5b14156134ba578392506129d0565b60025b815460ff1660028111156134cd57fe5b146134d457fe5b60018201546134eb906001604060020a0316610d40565b15156134f9578392506129d0565b600382015461351790608060020a90046001604060020a0316613457565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b8381101561356f5780820151818401525b602001613556565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a0281526008018260028111156135dc57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561364557809250613807565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016136838382614a23565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a031681526020018860028111156136f557fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613740929160200190614a55565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156137fb57fe5b02179055505050508092505b50509695505050505050565b6000806000613825600187878761441a565b9250846001604060020a0316866001604060020a0316141561384657612d0a565b82151561385257612d0a565b61385b866133c3565b9150613866856133c3565b82549091508390101561387857600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36138d3600087878661441a565b505b505050505050565b8060200151600160a060020a031633600160a060020a0316148061391657508060e00151600160a060020a031633600160a060020a0316145b151561392157600080fd5b5b50565b6000610f2e826000604051805910612c8f5750595b908082528060200260200182016040525b50600080600080613521565b9050610f3b848285613813565b5b50505050565b6000806000613979866133c3565b92506014613aad8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a4757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a045790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a9a57fe5b6002811115613aa557fe5b905250614442565b10613ab757600080fd5b613ac084610d40565b15613aca57600080fd5b6001830154600284018054613b82926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b1e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611adb5790505b505050506003870154600091508190608060020a90046001604060020a031681613521565b9150613bb4846000604051805910611b675750595b908082528060200260200182016040525b50600080866000613521565b9050612d0a868287613813565b5b505050505050565b600080613bd56148e1565b600080613be1886133c3565b6002810154909450869003604051805910613bf95750595b908082528060200260200182016040525b509250600091505b6002840154869003821015613c8a5760028401805483908110613c3157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613c6757fe5b6001604060020a039092166020928302909101909101525b600190910190613c12565b60018401546003850154613cba916001604060020a039081169186916000918291608060020a9091041681613521565b9050613cc7888289613813565b8094505b505050509392505050565b6000613ce06148e1565b600080613cec876133c3565b600281015490945060149010613d0157600080fd5b6002840154600101604051805910613d165750595b908082528060200260200182016040525b509250600091505b6002840154821015613da45760028401805483908110613d4b57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613d8157fe5b6001604060020a039092166020928302909101909101525b600190910190613d2f565b60028401548590849081518110613db757fe5b6001604060020a039283166020918202909201015260018501546003860154613df3929182169186916000918291608060020a90041681613521565b90506138d3878288613813565b5b50505050505050565b6000805b836040015151811015613e5f57826001604060020a031684604001518281518110613e3557fe5b906020019060200201516001604060020a03161415613e5657809150613e6a565b5b600101613e0e565b6001604060020a0391505b5092915050565b600080613e7d856133c3565b91506014613fb18360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a4757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a045790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a9a57fe5b6002811115613aa557fe5b905250614442565b10613fbb57600080fd5b613fc483610d40565b15613fce57600080fd5b60018201546002830180546141be926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561406157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161401e5790505b5050505050856141978660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561413157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116140ee5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561418457fe5b600281111561418f57fe5b9052506145ad565b61419f6141d3565b6003880154910190608060020a90046001604060020a03166000613521565b905061134e858286613813565b5b5050505050565b425b90565b60008060025b835160028111156141eb57fe5b146141f257fe5b8260a001516001604060020a0316151561420f5760019150610dec565b61421c8360a0015161340c565b9050610de9816101006040519081016040528154909190829060ff166002811115611eae57fe5b6002811115611eb957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f855780601f10611f5a57610100808354040283529160200191611f85565b820191906000526020600020905b815481529060010190602001808311611f6857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120275780601f10611ffc57610100808354040283529160200191612027565b820191906000526020600020905b81548152906001019060200180831161200a57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141d8565b91505b50919050565b806144288585808685614640565b90506144378584868685614640565b90505b949350505050565b6000808260a001516001604060020a031615156144625760009150610dec565b61446f8360a001516133c3565b90506145a18160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a4757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a045790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a9a57fe5b6002811115613aa557fe5b905250614442565b60010191505b50919050565b60008060006145bf846020015161340c565b60038101546001604060020a031693509150600090505b8360400151518110156129d057614605846040015182815181106145f657fe5b9060200190602002015161340c565b60038101549092506001604060020a03168390111561462f5760038201546001604060020a031692505b5b6001016145d6565b5b5050919050565b600080600080866001604060020a0316886001604060020a0316146146675761010061466a565b60005b61ffff16925084935061467c886133c3565b600181015490925061469c908a906001604060020a031689898789614761565b9350600090505b60028201546001604060020a03821610156147195761470e8983600201836001604060020a03168154811015156146d657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189614761565b93505b6001016146a3565b600382015460006001604060020a039091161115614754576003820154614751908a906001604060020a0316898960ff880189614761565b93505b5b50505095945050505050565b8060008061476e8861340c565b6004810154909150600160a060020a03161580159061478d5750600083115b15613807578815614848576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561481757600080fd5b6102c65a03f1151561482857600080fd5b50505060405180519250508282111561484057600080fd5b819250613807565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156148be57600080fd5b6102c65a03f115156148cf57600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b81548183558181151161491f5760050281600502836000526020600020918201910161491f9190614b1f565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061496657805160ff1916838001178555614993565b82800160010185558215614993579182015b82811115614993578251825591602001919060010190614978565b5b506149a0929150614bb1565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061496657805160ff1916838001178555614993565b82800160010185558215614993579182015b82811115614993578251825591602001919060010190614978565b5b506149a0929150614bb1565b5090565b81548183558181151161491f5760040281600402836000526020600020918201910161491f9190614bd2565b5b505050565b82805482825590600052602060002090600301600490048101928215614afd5791602002820160005b83821115614ac857835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a7e565b8015614afb5782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614ac8565b505b506149a0929150614c39565b5090565b60206040519081016040526000815290565b610dfa91905b808211156149a057805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b586001830182614c65565b614b66600283016000614c65565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b25565b5090565b90565b610dfa91905b808211156149a05760008155600101614bb7565b5090565b90565b610dfa91905b808211156149a057600080825560018201805467ffffffffffffffff19169055614c056002830182614cad565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614bd8565b5090565b90565b610dfa91905b808211156149a057805467ffffffffffffffff19168155600101614c3f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c8b5750613921565b601f0160209004906000526020600020908101906139219190614bb1565b5b50565b5080546000825560030160049004906000526020600020908101906139219190614bb1565b5b505600a165627a7a723058202c436915f1bd792a6b40b5d1db7f01634d3820158d9a722453660e07b6fba7850029" exports.LiquidPledgingBaseAbi = [{"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":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"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":"intendedProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"projectAdmin","type":"address"},{"name":"parentProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addProject","outputs":[{"name":"idProject","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","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":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentProject","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateProject","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"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":"idProject","type":"uint64"}],"name":"ProjectAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"ProjectUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fb4833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d4f80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101835780632a8ec8cc146101b75780633f657a46146101dc57806352dc7dcc1461025c5780635503d9ba1461032657806372116e921461034b5780637f61fa9314610425578063cc19ecf7146104ef578063db7c2314146105ae578063eba8ba061461066d578063f6b24b1c146107c7578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b6101a367ffffffffffffffff600435166109dd565b604051901515815260200160405180910390f35b34156101c257600080fd5b6101ca610a9b565b60405190815260200160405180910390f35b34156101e757600080fd5b6101fc67ffffffffffffffff60043516610aa6565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024257fe5b60ff16815260200197505050505050505060405180910390f35b341561026757600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610b2e915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033157600080fd5b6101ca610d24565b60405190815260200160405180910390f35b341561035657600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610d2f9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561043057600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a0316925061116b915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156104fa57600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611360915050565b005b34156105b957600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061144e915050565b005b341561067857600080fd5b61068d67ffffffffffffffff6004351661153c565b6040518089600281111561069d57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107205780820151818401525b602001610707565b50505050905090810190601f16801561074d5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156107845780820151818401525b60200161076b565b50505050905090810190601f1680156107b15780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156107d257600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611708915050565b005b341561089157600080fd5b6108996117f6565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611ae6565b6000806108cc87611805565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff16945061091885611850565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b6000806109e983611850565b905060005b815460ff1660028111156109fe57fe5b1415610a0d5760009150610a95565b60025b815460ff166002811115610a2057fe5b14610a2757fe5b6003810154608060020a900460ff1615610a445760019150610a95565b600381015468010000000000000000900467ffffffffffffffff161515610a6e5760009150610a95565b6003810154610a929068010000000000000000900467ffffffffffffffff166109dd565b91505b50919050565b600054600019015b90565b600080600080600080600080610abb89611805565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610b418382611af8565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610bc357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610c09929160200190611b2a565b50606082015181600201908051610c24929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60008067ffffffffffffffff851615610f6f57610d4b85611850565b905060025b815460ff166002811115610d6057fe5b14610d6a57600080fd5b6014610f65826101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b10610f6f57600080fd5b5b60018054925082808201610f848382611af8565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561100757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161104d929160200190611b2a565b50606082015181600201908051611068929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60018054908180820161117e8382611af8565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561120057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611246929160200190611b2a565b50606082015181600201908051611261929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600061136b86611850565b905060015b815460ff16600281111561138057fe5b1461138a57600080fd5b805433600160a060020a0390811661010090920416146113a957600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113dc929160200190611b2a565b50600281018380516113f2929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600061145986611850565b905060005b815460ff16600281111561146e57fe5b1461147857600080fd5b805433600160a060020a03908116610100909204161461149757600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114ca929160200190611b2a565b50600281018380516114e0929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611547611ae6565b61154f611ae6565b60008060008060006115608a611850565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156116165780601f106115eb57610100808354040283529160200191611616565b820191906000526020600020905b8154815290600101906020018083116115f957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b55780601f1061168a576101008083540402835291602001916116b5565b820191906000526020600020905b81548152906001019060200180831161169857829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600061171386611850565b905060025b815460ff16600281111561172857fe5b1461173257600080fd5b805433600160a060020a03908116610100909204161461175157600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611784929160200190611b2a565b506002810183805161179a929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061181e57600080fd5b6000805467ffffffffffffffff841690811061183657fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061186b57600080fd5b6001805467ffffffffffffffff841690811061188357fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118b057fe5b146118b757fe5b8260a0015167ffffffffffffffff1615156118d55760019150610a95565b6118e28360a00151611850565b9050610a92816101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b2457600502816005028360005260206000209182019101611b249190611c28565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b610aa391905b80821115611ba557805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c616001830182611cdb565b611c6f600283016000611cdb565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c2e565b5090565b90565b610aa391905b80821115611ba55760008155600101611cc0565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d015750611d1f565b601f016020900490600052602060002090810190611d1f9190611cba565b5b505600a165627a7a723058203d1d95631b877a7f71ade816afb97dc9aa1146d6e3749cf1d2d2cc4dd4bfbd080029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fb4833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d4f80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101835780632a8ec8cc146101b75780633f657a46146101dc57806352dc7dcc1461025c5780635503d9ba1461032657806372116e921461034b5780637f61fa9314610425578063cc19ecf7146104ef578063db7c2314146105ae578063eba8ba061461066d578063f6b24b1c146107c7578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b6101a367ffffffffffffffff600435166109dd565b604051901515815260200160405180910390f35b34156101c257600080fd5b6101ca610a9b565b60405190815260200160405180910390f35b34156101e757600080fd5b6101fc67ffffffffffffffff60043516610aa6565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024257fe5b60ff16815260200197505050505050505060405180910390f35b341561026757600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610b2e915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033157600080fd5b6101ca610d24565b60405190815260200160405180910390f35b341561035657600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610d2f9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561043057600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a0316925061116b915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156104fa57600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611360915050565b005b34156105b957600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061144e915050565b005b341561067857600080fd5b61068d67ffffffffffffffff6004351661153c565b6040518089600281111561069d57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107205780820151818401525b602001610707565b50505050905090810190601f16801561074d5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156107845780820151818401525b60200161076b565b50505050905090810190601f1680156107b15780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156107d257600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611708915050565b005b341561089157600080fd5b6108996117f6565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611ae6565b6000806108cc87611805565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff16945061091885611850565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b6000806109e983611850565b905060005b815460ff1660028111156109fe57fe5b1415610a0d5760009150610a95565b60025b815460ff166002811115610a2057fe5b14610a2757fe5b6003810154608060020a900460ff1615610a445760019150610a95565b600381015468010000000000000000900467ffffffffffffffff161515610a6e5760009150610a95565b6003810154610a929068010000000000000000900467ffffffffffffffff166109dd565b91505b50919050565b600054600019015b90565b600080600080600080600080610abb89611805565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610b418382611af8565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610bc357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610c09929160200190611b2a565b50606082015181600201908051610c24929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60008067ffffffffffffffff851615610f6f57610d4b85611850565b905060025b815460ff166002811115610d6057fe5b14610d6a57600080fd5b6014610f65826101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b10610f6f57600080fd5b5b60018054925082808201610f848382611af8565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561100757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161104d929160200190611b2a565b50606082015181600201908051611068929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60018054908180820161117e8382611af8565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561120057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611246929160200190611b2a565b50606082015181600201908051611261929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600061136b86611850565b905060015b815460ff16600281111561138057fe5b1461138a57600080fd5b805433600160a060020a0390811661010090920416146113a957600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113dc929160200190611b2a565b50600281018380516113f2929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600061145986611850565b905060005b815460ff16600281111561146e57fe5b1461147857600080fd5b805433600160a060020a03908116610100909204161461149757600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114ca929160200190611b2a565b50600281018380516114e0929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611547611ae6565b61154f611ae6565b60008060008060006115608a611850565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156116165780601f106115eb57610100808354040283529160200191611616565b820191906000526020600020905b8154815290600101906020018083116115f957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b55780601f1061168a576101008083540402835291602001916116b5565b820191906000526020600020905b81548152906001019060200180831161169857829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600061171386611850565b905060025b815460ff16600281111561172857fe5b1461173257600080fd5b805433600160a060020a03908116610100909204161461175157600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611784929160200190611b2a565b506002810183805161179a929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061181e57600080fd5b6000805467ffffffffffffffff841690811061183657fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061186b57600080fd5b6001805467ffffffffffffffff841690811061188357fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118b057fe5b146118b757fe5b8260a0015167ffffffffffffffff1615156118d55760019150610a95565b6118e28360a00151611850565b9050610a92816101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b2457600502816005028360005260206000209182019101611b249190611c28565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b610aa391905b80821115611ba557805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c616001830182611cdb565b611c6f600283016000611cdb565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c2e565b5090565b90565b610aa391905b80821115611ba55760008155600101611cc0565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d015750611d1f565b601f016020900490600052602060002090810190611d1f9190611cba565b5b505600a165627a7a72305820a55ae68922ba313e34ff78d19cf73d0f517bf9c973505ad242c28d16f46005600029" 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 = "0x1e1e2675e00984637f773db3488b613e3c35a7570bc0c98a73cd5c0890c96e3e" +exports._sha256 = "0x3719452f967025bd63183ec6e8e365cbb4558eb6426dba7749a47ab2d8ba80e0" diff --git a/build/LiquidPledgingMock.sol.js b/build/LiquidPledgingMock.sol.js index 17a2bf6..b2647ac 100644 --- a/build/LiquidPledgingMock.sol.js +++ b/build/LiquidPledgingMock.sol.js @@ -3,12 +3,12 @@ exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","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":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":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"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":"intendedProject","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":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"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":"url","type":"string"},{"name":"projectAdmin","type":"address"},{"name":"parentProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addProject","outputs":[{"name":"idProject","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"}],"name":"cancelProject","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","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":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"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":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","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":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentProject","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":false,"inputs":[{"name":"idProject","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateProject","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"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":"idProject","type":"uint64"}],"name":"CancelProject","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":"idProject","type":"uint64"}],"name":"ProjectAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"ProjectUpdated","type":"event"}] -exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f49833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614ce080620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f75780632a8ec8cc1461022a5780632ee888081461024f5780633f657a461461027357806343387983146102f157806347c5ef431461031557806350f8a8031461034657806352dc7dcc146103815780635503d9ba1461044957806357adafb61461046e57806372116e92146104bf578063796d5654146105975780637f61fa93146105b85780639398f5a214610680578063af9f4563146106d1578063bce0906d146106f5578063bde60ac914610760578063cc19ecf71461077c578063d639cd7314610839578063db7c2314146108a3578063e9c211e214610960578063eba8ba0614610984578063ef3766e414610adc578063f6b24b1c14610b2d578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102166001604060020a0360043516610d40565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d610df2565b60405190815260200160405180910390f35b341561025a57600080fd5b6102716001604060020a0360043516602435610dfd565b005b341561027e57600080fd5b6102926001604060020a0360043516610f43565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d757fe5b60ff16815260200197505050505050505060405180910390f35b34156102fc57600080fd5b6102716001604060020a0360043516602435610fb0565b005b341561032057600080fd5b6102716001604060020a036004358116906024358116906044359060643516611355565b005b341561035157600080fd5b6103656001604060020a03600435166119f6565b6040516001604060020a03909116815260200160405180910390f35b341561038c57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611bc2915050565b6040516001604060020a03909116815260200160405180910390f35b341561045457600080fd5b61023d611db3565b60405190815260200160405180910390f35b341561047957600080fd5b6102716004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611dbe95505050505050565b005b34156104ca57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611e319050565b6040516001604060020a03909116815260200160405180910390f35b34156105a257600080fd5b6102716001604060020a0360043516612261565b005b34156105c357600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506124be915050565b6040516001604060020a03909116815260200160405180910390f35b341561068b57600080fd5b61027160046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506126ae95505050505050565b005b34156106dc57600080fd5b6102716001604060020a0360043516602435612721565b005b341561070057600080fd5b610365600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061296f95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6102716001604060020a03600435811690602435166129bc565b005b341561078757600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612cf7915050565b005b341561084457600080fd5b610271600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612de4915050565b005b34156108ae57600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e5b915050565b005b341561096b57600080fd5b6102716001604060020a0360043516602435612f48565b005b341561098f57600080fd5b6109a36001604060020a0360043516613072565b604051808960028111156109b357fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610a355780820151818401525b602001610a1c565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610a995780820151818401525b602001610a80565b50505050905090810190601f168015610ac65780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ae757600080fd5b610271600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061323895505050505050565b005b3415610b3857600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506132ab915050565b005b3415610bf557600080fd5b610bfd613398565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148bf565b600080610c30876133a7565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b856133f0565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b600080610d4c836133f0565b905060005b815460ff166002811115610d6157fe5b1415610d705760009150610dec565b60025b815460ff166002811115610d8357fe5b14610d8a57fe5b6003810154608060020a900460ff1615610da75760019150610dec565b6003810154604060020a90046001604060020a03161515610dcb5760009150610dec565b6003810154610de990604060020a90046001604060020a0316610d40565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1d57600080fd5b610e26846133a7565b915060015b600383015460c060020a900460ff166002811115610e4557fe5b14610e4f57600080fd5b836001604060020a0316610e628561343b565b6001604060020a031614610e7557600080fd5b6001820154600283018054610f2e926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ec55790505b505050506003860154600091508190608060020a90046001604060020a03166002613505565b9050610f3b8482856137f7565b5b5b50505050565b600080600080600080600080610f58896133a7565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fbe856119f6565b9450610fc9856133a7565b925060005b600384015460c060020a900460ff166002811115610fe857fe5b14610ff257600080fd5b6001830154611009906001604060020a03166133f0565b91506111fe826101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60018301546002840180546112b7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561129157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161124e5790505b505050506003870154600091508190608060020a90046001604060020a03166001613505565b90506112c48582866137f7565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561133957600080fd5b6102c65a03f1151561134a57600080fd5b5050505b5050505050565b6000806000806000611366886119f6565b9750611371886133a7565b945061137c866133f0565b9350611387896133f0565b925061157c836101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60005b600386015460c060020a900460ff16600281111561159957fe5b146115a357600080fd5b60018501546001604060020a038a8116911614156116405760005b845460ff1660028111156115ce57fe5b14156115e4576115df888888613909565b611638565b60025b845460ff1660028111156115f757fe5b141561160d576115df88888861394f565b611638565b60015b845460ff16600281111561162057fe5b1415611636576115df888888613bae565b611638565bfe5b5b5b5b6119ea565b6117718560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561170a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116116c75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561175d57fe5b600281111561176857fe5b9052508a613ce2565b6001604060020a03908116925082146116365760005b845460ff16600281111561179757fe5b14156117cd5760018501546001604060020a038781169116146117b657fe5b61163888888760020180549050613d49565b6119ea565b60015b845460ff1660028111156117e057fe5b14156119a7576119178560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156118b057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161186d5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561190357fe5b600281111561190e57fe5b90525087613ce2565b6001604060020a03908116915081141561195257611942888860018589600201805490500303613d49565b6115df888888613bae565b611638565b8181111561198157611942888860018589600201805490500303613d49565b6115df888888613bae565b611638565b81811161163857611638888860018489600201805490500303613d49565b5b5b5b6119ea565b60025b845460ff1660028111156119ba57fe5b1415611636576119d7888860018589600201805490500303613d49565b611638888888613e4f565b6119ea565b5bfe5b5b505050505050505050565b600080600080611a05856133a7565b925060005b600384015460c060020a900460ff166002811115611a2457fe5b14611a3157849350611bba565b600383015460006001604060020a03909116118015611a6a57506003830154604060020a90046001604060020a0316611a686141b1565b115b15611b88576001830154600284018054611b27926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b0257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611abf5790505b505050506003870154600091508190608060020a90046001604060020a031681613505565b6003840154909250611b68906001604060020a03166000604051805910611b4b5750595b908082528060200260200182016040525b50600080866000613505565b9050611b79858285600001546137f7565b809450611b85856133a7565b92505b611b918561343b565b90506001604060020a0380821690861614611bb557611bb5858285600001546137f7565b5b8093505b505050919050565b600180549081808201611bd583826148d1565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611c5657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611c9c929160200190614903565b50606082015181600201908051611cb7929160200190614903565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b8351831015610f3b576001604060020a03848481518110611de057fe5b90602001906020020151169150604060020a848481518110611dfe57fe5b90602001906020020151811515611e1157fe5b049050611e1e8282610fb0565b5b600190920191611dc3565b5b50505050565b6000806001604060020a0385161561206a57611e4c856133f0565b905060025b815460ff166002811115611e6157fe5b14611e6b57600080fd5b6014612060826101006040519081016040528154909190829060ff166002811115611e9257fe5b6002811115611e9d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f695780601f10611f3e57610100808354040283529160200191611f69565b820191906000526020600020905b815481529060010190602001808311611f4c57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561200b5780601f10611fe05761010080835404028352916020019161200b565b820191906000526020600020905b815481529060010190602001808311611fee57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141b6565b1061206a57600080fd5b5b6001805492508280820161207f83826148d1565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561210157fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612147929160200190614903565b50606082015181600201908051612162929160200190614903565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b600061226c826133f0565b9050612461816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25b5050565b6001805490818082016124d183826148d1565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561255257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612598929160200190614903565b506060820151816002019080516125b3929160200190614903565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600080805b8351831015610f3b576001604060020a038484815181106126d057fe5b90602001906020020151169150604060020a8484815181106126ee57fe5b9060200190602002015181151561270157fe5b04905061270e8282610dfd565b5b6001909201916126b3565b5b50505050565b60008061272d846119f6565b9350612738846133a7565b6001810154909250612752906001604060020a03166133f0565b9050612947816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b6003820154610f3b908590608060020a90046001604060020a0316856137f7565b5b50505050565b600080805b83518210156129b4576001604060020a0384838151811061299157fe5b906020019060200201511690506129a7816119f6565b505b600190910190612974565b5b5050919050565b60008080806001604060020a0386161515612a02576129ff6020604051908101604052806000815250602060405190810160405260008082526203f480906124be565b95505b612a0b866133f0565b9350612c00846101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138c1565b60005b845460ff166002811115612c1357fe5b14612c1d57600080fd5b34925060008311612c2d57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612c6057600080fd5b612c90866000604051805910612c735750595b908082528060200260200182016040525b50600080600080613505565b9150612c9b826133a7565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612cee86838588611355565b5b505050505050565b6000612d02866133f0565b905060015b815460ff166002811115612d1757fe5b14612d2157600080fd5b805433600160a060020a039081166101009092041614612d4057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612d73929160200190614903565b5060028101838051612d89929160200190614903565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612cee576001604060020a03858481518110612e0657fe5b90602001906020020151169150604060020a858481518110612e2457fe5b90602001906020020151811515612e3757fe5b049050612e4686838387611355565b5b600190920191612de9565b5b505050505050565b6000612e66866133f0565b905060005b815460ff166002811115612e7b57fe5b14612e8557600080fd5b805433600160a060020a039081166101009092041614612ea457600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ed7929160200190614903565b5060028101838051612eed929160200190614903565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a03908116911614612f6857600080fd5b612f71846133a7565b915060015b600383015460c060020a900460ff166002811115612f9057fe5b14612f9a57600080fd5b6001820154600283018054613052926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561302d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411612fea5790505b505050506003860154600091508190608060020a90046001604060020a031681613505565b9050610f2e816119f6565b9050610f3b8482856137f7565b5b5b50505050565b60008061307d6148bf565b6130856148bf565b60008060008060006130968a6133f0565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f8201819004810201604051908101604052809291908181526020018280546001816001161561010002031660029004801561314c5780601f106131215761010080835404028352916020019161314c565b820191906000526020600020905b81548152906001019060200180831161312f57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156131eb5780601f106131c0576101008083540402835291602001916131eb565b820191906000526020600020905b8154815290600101906020018083116131ce57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b8351831015610f3b576001604060020a0384848151811061325a57fe5b90602001906020020151169150604060020a84848151811061327857fe5b9060200190602002015181151561328b57fe5b0490506132988282612f48565b5b60019092019161323d565b5b50505050565b60006132b6866133f0565b905060025b815460ff1660028111156132cb57fe5b146132d557600080fd5b805433600160a060020a0390811661010090920416146132f457600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613327929160200190614903565b506002810183805161333d929160200190614903565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b600080546001604060020a038316106133bf57600080fd5b600080546001604060020a0384169081106133d657fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061340a57600080fd5b600180546001604060020a03841690811061342157fe5b906000526020600020906005020160005b5090505b919050565b600080806001604060020a038416151561345857600092506129b4565b613461846133a7565b600181015490925061347b906001604060020a03166133f0565b905060005b815460ff16600281111561349057fe5b141561349e578392506129b4565b60025b815460ff1660028111156134b157fe5b146134b857fe5b60018201546134cf906001604060020a0316610d40565b15156134dd578392506129b4565b60038201546134fb90608060020a90046001604060020a031661343b565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156135535780820151818401525b60200161353a565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a0281526008018260028111156135c057fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115613629578092506137eb565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016136678382614a01565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a031681526020018860028111156136d957fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613724929160200190614a33565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156137df57fe5b02179055505050508092505b50509695505050505050565b600080600061380960018787876143f8565b9250846001604060020a0316866001604060020a0316141561382a57612cee565b82151561383657612cee565b61383f866133a7565b915061384a856133a7565b82549091508390101561385c57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36138b760008787866143f8565b505b505050505050565b8060200151600160a060020a031633600160a060020a031614806138fa57508060e00151600160a060020a031633600160a060020a0316145b151561390557600080fd5b5b50565b6000610f2e826000604051805910612c735750595b908082528060200260200182016040525b50600080600080613505565b9050610f3b8482856137f7565b5b50505050565b600080600061395d866133a7565b92506014613a918460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a2b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139e85790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a7e57fe5b6002811115613a8957fe5b905250614420565b10613a9b57600080fd5b613aa484610d40565b15613aae57600080fd5b6001830154600284018054613b66926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b0257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611abf5790505b505050506003870154600091508190608060020a90046001604060020a031681613505565b9150613b98846000604051805910611b4b5750595b908082528060200260200182016040525b50600080866000613505565b9050612cee8682876137f7565b5b505050505050565b6000613bb86148bf565b600080613bc4876133a7565b600281015490945060149010613bd957600080fd5b6002840154600101604051805910613bee5750595b908082528060200260200182016040525b509250600091505b6002840154821015613c7c5760028401805483908110613c2357fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613c5957fe5b6001604060020a039092166020928302909101909101525b600190910190613c07565b60028401548590849081518110613c8f57fe5b6001604060020a039283166020918202909201015260018501546003860154613ccb929182169186916000918291608060020a90041681613505565b90506138b78782886137f7565b5b50505050505050565b6000805b836040015151811015613d3757826001604060020a031684604001518281518110613d0d57fe5b906020019060200201516001604060020a03161415613d2e57809150613d42565b5b600101613ce6565b6001604060020a0391505b5092915050565b6000613d536148bf565b600080613d5f876133a7565b6002810154909450859003604051805910613d775750595b908082528060200260200182016040525b509250600091505b6002840154859003821015613e085760028401805483908110613daf57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613de557fe5b6001604060020a039092166020928302909101909101525b600190910190613d90565b60018401546003850154613ccb916001604060020a039081169186916000918291608060020a9091041681613505565b90506138b78782886137f7565b5b50505050505050565b600080613e5b856133a7565b91506014613f8f8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a2b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139e85790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a7e57fe5b6002811115613a8957fe5b905250614420565b10613f9957600080fd5b613fa283610d40565b15613fac57600080fd5b600182015460028301805461419c926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561403f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613ffc5790505b5050505050856141758660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561410f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116140cc5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561416257fe5b600281111561416d57fe5b90525061458b565b61417d6141b1565b6003880154910190608060020a90046001604060020a03166000613505565b905061134e8582866137f7565b5b5050505050565b425b90565b60008060025b835160028111156141c957fe5b146141d057fe5b8260a001516001604060020a031615156141ed5760019150610dec565b6141fa8360a001516133f0565b9050610de9816101006040519081016040528154909190829060ff166002811115611e9257fe5b6002811115611e9d57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f695780601f10611f3e57610100808354040283529160200191611f69565b820191906000526020600020905b815481529060010190602001808311611f4c57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561200b5780601f10611fe05761010080835404028352916020019161200b565b820191906000526020600020905b815481529060010190602001808311611fee57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141b6565b91505b50919050565b80614406858580868561461e565b9050614415858486868561461e565b90505b949350505050565b6000808260a001516001604060020a031615156144405760009150610dec565b61444d8360a001516133a7565b905061457f8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a2b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116139e85790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a7e57fe5b6002811115613a8957fe5b905250614420565b60010191505b50919050565b600080600061459d84602001516133f0565b60038101546001604060020a031693509150600090505b8360400151518110156129b4576145e3846040015182815181106145d457fe5b906020019060200201516133f0565b60038101549092506001604060020a03168390111561460d5760038201546001604060020a031692505b5b6001016145b4565b5b5050919050565b600080600080866001604060020a0316886001604060020a03161461464557610100614648565b60005b61ffff16925084935061465a886133a7565b600181015490925061467a908a906001604060020a03168989878961473f565b9350600090505b60028201546001604060020a03821610156146f7576146ec8983600201836001604060020a03168154811015156146b457fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031689898588016001018961473f565b93505b600101614681565b600382015460006001604060020a03909116111561473257600382015461472f908a906001604060020a0316898960ff88018961473f565b93505b5b50505095945050505050565b8060008061474c886133f0565b6004810154909150600160a060020a03161580159061476b5750600083115b156137eb578815614826576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b15156147f557600080fd5b6102c65a03f1151561480657600080fd5b50505060405180519250508282111561481e57600080fd5b8192506137eb565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561489c57600080fd5b6102c65a03f115156148ad57600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b8154818355818115116148fd576005028160050283600052602060002091820191016148fd9190614afd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061494457805160ff1916838001178555614971565b82800160010185558215614971579182015b82811115614971578251825591602001919060010190614956565b5b5061497e929150614b8f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061494457805160ff1916838001178555614971565b82800160010185558215614971579182015b82811115614971578251825591602001919060010190614956565b5b5061497e929150614b8f565b5090565b8154818355818115116148fd576004028160040283600052602060002091820191016148fd9190614bb0565b5b505050565b82805482825590600052602060002090600301600490048101928215614adb5791602002820160005b83821115614aa657835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a5c565b8015614ad95782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614aa6565b505b5061497e929150614c17565b5090565b60206040519081016040526000815290565b610dfa91905b8082111561497e57805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b366001830182614c43565b614b44600283016000614c43565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b03565b5090565b90565b610dfa91905b8082111561497e5760008155600101614b95565b5090565b90565b610dfa91905b8082111561497e57600080825560018201805467ffffffffffffffff19169055614be36002830182614c8b565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614bb6565b5090565b90565b610dfa91905b8082111561497e57805467ffffffffffffffff19168155600101614c1d565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c695750613905565b601f0160209004906000526020600020908101906139059190614b8f565b5b50565b5080546000825560030160049004906000526020600020908101906139059190614b8f565b5b505600a165627a7a723058203ca8ee8f5ab9f1686721b3038cb7c65f999fec756a2fef59a45e653feaac562f0029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f6b833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614d0280620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f75780632a8ec8cc1461022a5780632ee888081461024f5780633f657a461461027357806343387983146102f157806347c5ef431461031557806350f8a8031461034657806352dc7dcc146103815780635503d9ba1461044957806357adafb61461046e57806372116e92146104bf578063796d5654146105975780637f61fa93146105b85780639398f5a214610680578063af9f4563146106d1578063bce0906d146106f5578063bde60ac914610760578063cc19ecf71461077c578063d639cd7314610839578063db7c2314146108a3578063e9c211e214610960578063eba8ba0614610984578063ef3766e414610adc578063f6b24b1c14610b2d578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102166001604060020a0360043516610d40565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d610df2565b60405190815260200160405180910390f35b341561025a57600080fd5b6102716001604060020a0360043516602435610dfd565b005b341561027e57600080fd5b6102926001604060020a0360043516610f43565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d757fe5b60ff16815260200197505050505050505060405180910390f35b34156102fc57600080fd5b6102716001604060020a0360043516602435610fb0565b005b341561032057600080fd5b6102716001604060020a036004358116906024358116906044359060643516611355565b005b341561035157600080fd5b6103656001604060020a0360043516611a12565b6040516001604060020a03909116815260200160405180910390f35b341561038c57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611bde915050565b6040516001604060020a03909116815260200160405180910390f35b341561045457600080fd5b61023d611dcf565b60405190815260200160405180910390f35b341561047957600080fd5b6102716004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611dda95505050505050565b005b34156104ca57600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611e4d9050565b6040516001604060020a03909116815260200160405180910390f35b34156105a257600080fd5b6102716001604060020a036004351661227d565b005b34156105c357600080fd5b61036560046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506124da915050565b6040516001604060020a03909116815260200160405180910390f35b341561068b57600080fd5b61027160046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506126ca95505050505050565b005b34156106dc57600080fd5b6102716001604060020a036004351660243561273d565b005b341561070057600080fd5b610365600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061298b95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6102716001604060020a03600435811690602435166129d8565b005b341561078757600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612d13915050565b005b341561084457600080fd5b610271600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612e00915050565b005b34156108ae57600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e77915050565b005b341561096b57600080fd5b6102716001604060020a0360043516602435612f64565b005b341561098f57600080fd5b6109a36001604060020a036004351661308e565b604051808960028111156109b357fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610a355780820151818401525b602001610a1c565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610a995780820151818401525b602001610a80565b50505050905090810190601f168015610ac65780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ae757600080fd5b610271600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061325495505050505050565b005b3415610b3857600080fd5b610271600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506132c7915050565b005b3415610bf557600080fd5b610bfd6133b4565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148e1565b600080610c30876133c3565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b8561340c565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b600080610d4c8361340c565b905060005b815460ff166002811115610d6157fe5b1415610d705760009150610dec565b60025b815460ff166002811115610d8357fe5b14610d8a57fe5b6003810154608060020a900460ff1615610da75760019150610dec565b6003810154604060020a90046001604060020a03161515610dcb5760009150610dec565b6003810154610de990604060020a90046001604060020a0316610d40565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e1d57600080fd5b610e26846133c3565b915060015b600383015460c060020a900460ff166002811115610e4557fe5b14610e4f57600080fd5b836001604060020a0316610e6285613457565b6001604060020a031614610e7557600080fd5b6001820154600283018054610f2e926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f0857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610ec55790505b505050506003860154600091508190608060020a90046001604060020a03166002613521565b9050610f3b848285613813565b5b5b50505050565b600080600080600080600080610f58896133c3565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b6000806000610fbe85611a12565b9450610fc9856133c3565b925060005b600384015460c060020a900460ff166002811115610fe857fe5b14610ff257600080fd5b6001830154611009906001604060020a031661340c565b91506111fe826101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60018301546002840180546112b7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561129157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161124e5790505b505050506003870154600091508190608060020a90046001604060020a03166001613521565b90506112c4858286613813565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561133957600080fd5b6102c65a03f1151561134a57600080fd5b5050505b5050505050565b600080600080600061136688611a12565b9750611371886133c3565b945061137c8661340c565b93506113878961340c565b925061157c836101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60005b600386015460c060020a900460ff16600281111561159957fe5b146115a357600080fd5b60018501546001604060020a038a8116911614156116545760005b845460ff1660028111156115ce57fe5b14156115e4576115df888888613925565b61164c565b60025b845460ff1660028111156115f757fe5b141561160d576115df88888861396b565b61164c565b60015b845460ff16600281111561162057fe5b141561164a5761163888888760020180549050613bca565b97506115df888888613cd6565b61164c565bfe5b5b5b5b611a06565b6117858560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561171e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116116db5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561177157fe5b600281111561177c57fe5b9052508a613e0a565b6001604060020a039081169250821461164a5760005b845460ff1660028111156117ab57fe5b14156117e25760018501546001604060020a038781169116146117ca57fe5b6117dc88888760020180549050613bca565b50611a06565b60015b845460ff1660028111156117f557fe5b14156119c15761192c8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156118c557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118825790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561191857fe5b600281111561192357fe5b90525087613e0a565b6001604060020a03908116915081141561196957611638888860018589600201805490500303613bca565b97506115df888888613cd6565b61164c565b8181111561199a57611638888860018589600201805490500303613bca565b97506115df888888613cd6565b61164c565b81811161164c576117dc888860018489600201805490500303613bca565b505b5b5b611a06565b60025b845460ff1660028111156119d457fe5b141561164a576119f1888860018589600201805490500303613bca565b975061164c888888613e71565b611a06565b5bfe5b5b505050505050505050565b600080600080611a21856133c3565b925060005b600384015460c060020a900460ff166002811115611a4057fe5b14611a4d57849350611bd6565b600383015460006001604060020a03909116118015611a8657506003830154604060020a90046001604060020a0316611a846141d3565b115b15611ba4576001830154600284018054611b43926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b1e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611adb5790505b505050506003870154600091508190608060020a90046001604060020a031681613521565b6003840154909250611b84906001604060020a03166000604051805910611b675750595b908082528060200260200182016040525b50600080866000613521565b9050611b9585828560000154613813565b809450611ba1856133c3565b92505b611bad85613457565b90506001604060020a0380821690861614611bd157611bd185828560000154613813565b5b8093505b505050919050565b600180549081808201611bf183826148f3565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611c7257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611cb8929160200190614925565b50606082015181600201908051611cd3929160200190614925565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b8351831015610f3b576001604060020a03848481518110611dfc57fe5b90602001906020020151169150604060020a848481518110611e1a57fe5b90602001906020020151811515611e2d57fe5b049050611e3a8282610fb0565b5b600190920191611ddf565b5b50505050565b6000806001604060020a0385161561208657611e688561340c565b905060025b815460ff166002811115611e7d57fe5b14611e8757600080fd5b601461207c826101006040519081016040528154909190829060ff166002811115611eae57fe5b6002811115611eb957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f855780601f10611f5a57610100808354040283529160200191611f85565b820191906000526020600020905b815481529060010190602001808311611f6857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120275780601f10611ffc57610100808354040283529160200191612027565b820191906000526020600020905b81548152906001019060200180831161200a57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141d8565b1061208657600080fd5b5b6001805492508280820161209b83826148f3565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561211d57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612163929160200190614925565b5060608201518160020190805161217e929160200190614925565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60006122888261340c565b905061247d816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25b5050565b6001805490818082016124ed83826148f3565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561256e57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516125b4929160200190614925565b506060820151816002019080516125cf929160200190614925565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600080805b8351831015610f3b576001604060020a038484815181106126ec57fe5b90602001906020020151169150604060020a84848151811061270a57fe5b9060200190602002015181151561271d57fe5b04905061272a8282610dfd565b5b6001909201916126cf565b5b50505050565b60008061274984611a12565b9350612754846133c3565b600181015490925061276e906001604060020a031661340c565b9050612963816101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b6003820154610f3b908590608060020a90046001604060020a031685613813565b5b50505050565b600080805b83518210156129d0576001604060020a038483815181106129ad57fe5b906020019060200201511690506129c381611a12565b505b600190910190612990565b5b5050919050565b60008080806001604060020a0386161515612a1e57612a1b6020604051908101604052806000815250602060405190810160405260008082526203f480906124da565b95505b612a278661340c565b9350612c1c846101006040519081016040528154909190829060ff16600281111561103057fe5b600281111561103b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138dd565b60005b845460ff166002811115612c2f57fe5b14612c3957600080fd5b34925060008311612c4957600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612c7c57600080fd5b612cac866000604051805910612c8f5750595b908082528060200260200182016040525b50600080600080613521565b9150612cb7826133c3565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612d0a86838588611355565b5b505050505050565b6000612d1e8661340c565b905060015b815460ff166002811115612d3357fe5b14612d3d57600080fd5b805433600160a060020a039081166101009092041614612d5c57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612d8f929160200190614925565b5060028101838051612da5929160200190614925565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612d0a576001604060020a03858481518110612e2257fe5b90602001906020020151169150604060020a858481518110612e4057fe5b90602001906020020151811515612e5357fe5b049050612e6286838387611355565b5b600190920191612e05565b5b505050505050565b6000612e828661340c565b905060005b815460ff166002811115612e9757fe5b14612ea157600080fd5b805433600160a060020a039081166101009092041614612ec057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ef3929160200190614925565b5060028101838051612f09929160200190614925565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a03908116911614612f8457600080fd5b612f8d846133c3565b915060015b600383015460c060020a900460ff166002811115612fac57fe5b14612fb657600080fd5b600182015460028301805461306e926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561304957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130065790505b505050506003860154600091508190608060020a90046001604060020a031681613521565b9050610f2e81611a12565b9050610f3b848285613813565b5b5b50505050565b6000806130996148e1565b6130a16148e1565b60008060008060006130b28a61340c565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156131685780601f1061313d57610100808354040283529160200191613168565b820191906000526020600020905b81548152906001019060200180831161314b57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132075780601f106131dc57610100808354040283529160200191613207565b820191906000526020600020905b8154815290600101906020018083116131ea57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b8351831015610f3b576001604060020a0384848151811061327657fe5b90602001906020020151169150604060020a84848151811061329457fe5b906020019060200201518115156132a757fe5b0490506132b48282612f64565b5b600190920191613259565b5b50505050565b60006132d28661340c565b905060025b815460ff1660028111156132e757fe5b146132f157600080fd5b805433600160a060020a03908116610100909204161461331057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613343929160200190614925565b5060028101838051613359929160200190614925565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b600080546001604060020a038316106133db57600080fd5b600080546001604060020a0384169081106133f257fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061342657600080fd5b600180546001604060020a03841690811061343d57fe5b906000526020600020906005020160005b5090505b919050565b600080806001604060020a038416151561347457600092506129d0565b61347d846133c3565b6001810154909250613497906001604060020a031661340c565b905060005b815460ff1660028111156134ac57fe5b14156134ba578392506129d0565b60025b815460ff1660028111156134cd57fe5b146134d457fe5b60018201546134eb906001604060020a0316610d40565b15156134f9578392506129d0565b600382015461351790608060020a90046001604060020a0316613457565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b8381101561356f5780820151818401525b602001613556565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a0281526008018260028111156135dc57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561364557809250613807565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016136838382614a23565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a031681526020018860028111156136f557fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613740929160200190614a55565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a8360028111156137fb57fe5b02179055505050508092505b50509695505050505050565b6000806000613825600187878761441a565b9250846001604060020a0316866001604060020a0316141561384657612d0a565b82151561385257612d0a565b61385b866133c3565b9150613866856133c3565b82549091508390101561387857600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36138d3600087878661441a565b505b505050505050565b8060200151600160a060020a031633600160a060020a0316148061391657508060e00151600160a060020a031633600160a060020a0316145b151561392157600080fd5b5b50565b6000610f2e826000604051805910612c8f5750595b908082528060200260200182016040525b50600080600080613521565b9050610f3b848285613813565b5b50505050565b6000806000613979866133c3565b92506014613aad8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a4757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a045790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a9a57fe5b6002811115613aa557fe5b905250614442565b10613ab757600080fd5b613ac084610d40565b15613aca57600080fd5b6001830154600284018054613b82926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b1e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611adb5790505b505050506003870154600091508190608060020a90046001604060020a031681613521565b9150613bb4846000604051805910611b675750595b908082528060200260200182016040525b50600080866000613521565b9050612d0a868287613813565b5b505050505050565b600080613bd56148e1565b600080613be1886133c3565b6002810154909450869003604051805910613bf95750595b908082528060200260200182016040525b509250600091505b6002840154869003821015613c8a5760028401805483908110613c3157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613c6757fe5b6001604060020a039092166020928302909101909101525b600190910190613c12565b60018401546003850154613cba916001604060020a039081169186916000918291608060020a9091041681613521565b9050613cc7888289613813565b8094505b505050509392505050565b6000613ce06148e1565b600080613cec876133c3565b600281015490945060149010613d0157600080fd5b6002840154600101604051805910613d165750595b908082528060200260200182016040525b509250600091505b6002840154821015613da45760028401805483908110613d4b57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613d8157fe5b6001604060020a039092166020928302909101909101525b600190910190613d2f565b60028401548590849081518110613db757fe5b6001604060020a039283166020918202909201015260018501546003860154613df3929182169186916000918291608060020a90041681613521565b90506138d3878288613813565b5b50505050505050565b6000805b836040015151811015613e5f57826001604060020a031684604001518281518110613e3557fe5b906020019060200201516001604060020a03161415613e5657809150613e6a565b5b600101613e0e565b6001604060020a0391505b5092915050565b600080613e7d856133c3565b91506014613fb18360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a4757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a045790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a9a57fe5b6002811115613aa557fe5b905250614442565b10613fbb57600080fd5b613fc483610d40565b15613fce57600080fd5b60018201546002830180546141be926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561406157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161401e5790505b5050505050856141978660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561413157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116140ee5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561418457fe5b600281111561418f57fe5b9052506145ad565b61419f6141d3565b6003880154910190608060020a90046001604060020a03166000613521565b905061134e858286613813565b5b5050505050565b425b90565b60008060025b835160028111156141eb57fe5b146141f257fe5b8260a001516001604060020a0316151561420f5760019150610dec565b61421c8360a0015161340c565b9050610de9816101006040519081016040528154909190829060ff166002811115611eae57fe5b6002811115611eb957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f855780601f10611f5a57610100808354040283529160200191611f85565b820191906000526020600020905b815481529060010190602001808311611f6857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120275780601f10611ffc57610100808354040283529160200191612027565b820191906000526020600020905b81548152906001019060200180831161200a57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526141d8565b91505b50919050565b806144288585808685614640565b90506144378584868685614640565b90505b949350505050565b6000808260a001516001604060020a031615156144625760009150610dec565b61446f8360a001516133c3565b90506145a18160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a4757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a045790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613a9a57fe5b6002811115613aa557fe5b905250614442565b60010191505b50919050565b60008060006145bf846020015161340c565b60038101546001604060020a031693509150600090505b8360400151518110156129d057614605846040015182815181106145f657fe5b9060200190602002015161340c565b60038101549092506001604060020a03168390111561462f5760038201546001604060020a031692505b5b6001016145d6565b5b5050919050565b600080600080866001604060020a0316886001604060020a0316146146675761010061466a565b60005b61ffff16925084935061467c886133c3565b600181015490925061469c908a906001604060020a031689898789614761565b9350600090505b60028201546001604060020a03821610156147195761470e8983600201836001604060020a03168154811015156146d657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189614761565b93505b6001016146a3565b600382015460006001604060020a039091161115614754576003820154614751908a906001604060020a0316898960ff880189614761565b93505b5b50505095945050505050565b8060008061476e8861340c565b6004810154909150600160a060020a03161580159061478d5750600083115b15613807578815614848576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561481757600080fd5b6102c65a03f1151561482857600080fd5b50505060405180519250508282111561484057600080fd5b819250613807565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156148be57600080fd5b6102c65a03f115156148cf57600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b81548183558181151161491f5760050281600502836000526020600020918201910161491f9190614b1f565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061496657805160ff1916838001178555614993565b82800160010185558215614993579182015b82811115614993578251825591602001919060010190614978565b5b506149a0929150614bb1565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061496657805160ff1916838001178555614993565b82800160010185558215614993579182015b82811115614993578251825591602001919060010190614978565b5b506149a0929150614bb1565b5090565b81548183558181151161491f5760040281600402836000526020600020918201910161491f9190614bd2565b5b505050565b82805482825590600052602060002090600301600490048101928215614afd5791602002820160005b83821115614ac857835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a7e565b8015614afb5782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614ac8565b505b506149a0929150614c39565b5090565b60206040519081016040526000815290565b610dfa91905b808211156149a057805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b586001830182614c65565b614b66600283016000614c65565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b25565b5090565b90565b610dfa91905b808211156149a05760008155600101614bb7565b5090565b90565b610dfa91905b808211156149a057600080825560018201805467ffffffffffffffff19169055614c056002830182614cad565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614bd8565b5090565b90565b610dfa91905b808211156149a057805467ffffffffffffffff19168155600101614c3f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c8b5750613921565b601f0160209004906000526020600020908101906139219190614bb1565b5b50565b5080546000825560030160049004906000526020600020908101906139219190614bb1565b5b505600a165627a7a72305820c792feb9df1401717c161c2d2812185beb9de7d5b88f36a880a3c0498717d19a0029" exports.LiquidPledgingBaseAbi = [{"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":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"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":"intendedProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"projectAdmin","type":"address"},{"name":"parentProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addProject","outputs":[{"name":"idProject","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","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":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentProject","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateProject","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"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":"idProject","type":"uint64"}],"name":"ProjectAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"ProjectUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fb4833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d4f80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101835780632a8ec8cc146101b75780633f657a46146101dc57806352dc7dcc1461025c5780635503d9ba1461032657806372116e921461034b5780637f61fa9314610425578063cc19ecf7146104ef578063db7c2314146105ae578063eba8ba061461066d578063f6b24b1c146107c7578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b6101a367ffffffffffffffff600435166109dd565b604051901515815260200160405180910390f35b34156101c257600080fd5b6101ca610a9b565b60405190815260200160405180910390f35b34156101e757600080fd5b6101fc67ffffffffffffffff60043516610aa6565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024257fe5b60ff16815260200197505050505050505060405180910390f35b341561026757600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610b2e915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033157600080fd5b6101ca610d24565b60405190815260200160405180910390f35b341561035657600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610d2f9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561043057600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a0316925061116b915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156104fa57600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611360915050565b005b34156105b957600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061144e915050565b005b341561067857600080fd5b61068d67ffffffffffffffff6004351661153c565b6040518089600281111561069d57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107205780820151818401525b602001610707565b50505050905090810190601f16801561074d5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156107845780820151818401525b60200161076b565b50505050905090810190601f1680156107b15780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156107d257600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611708915050565b005b341561089157600080fd5b6108996117f6565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611ae6565b6000806108cc87611805565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff16945061091885611850565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b6000806109e983611850565b905060005b815460ff1660028111156109fe57fe5b1415610a0d5760009150610a95565b60025b815460ff166002811115610a2057fe5b14610a2757fe5b6003810154608060020a900460ff1615610a445760019150610a95565b600381015468010000000000000000900467ffffffffffffffff161515610a6e5760009150610a95565b6003810154610a929068010000000000000000900467ffffffffffffffff166109dd565b91505b50919050565b600054600019015b90565b600080600080600080600080610abb89611805565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610b418382611af8565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610bc357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610c09929160200190611b2a565b50606082015181600201908051610c24929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60008067ffffffffffffffff851615610f6f57610d4b85611850565b905060025b815460ff166002811115610d6057fe5b14610d6a57600080fd5b6014610f65826101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b10610f6f57600080fd5b5b60018054925082808201610f848382611af8565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561100757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161104d929160200190611b2a565b50606082015181600201908051611068929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60018054908180820161117e8382611af8565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561120057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611246929160200190611b2a565b50606082015181600201908051611261929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600061136b86611850565b905060015b815460ff16600281111561138057fe5b1461138a57600080fd5b805433600160a060020a0390811661010090920416146113a957600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113dc929160200190611b2a565b50600281018380516113f2929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600061145986611850565b905060005b815460ff16600281111561146e57fe5b1461147857600080fd5b805433600160a060020a03908116610100909204161461149757600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114ca929160200190611b2a565b50600281018380516114e0929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611547611ae6565b61154f611ae6565b60008060008060006115608a611850565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156116165780601f106115eb57610100808354040283529160200191611616565b820191906000526020600020905b8154815290600101906020018083116115f957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b55780601f1061168a576101008083540402835291602001916116b5565b820191906000526020600020905b81548152906001019060200180831161169857829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600061171386611850565b905060025b815460ff16600281111561172857fe5b1461173257600080fd5b805433600160a060020a03908116610100909204161461175157600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611784929160200190611b2a565b506002810183805161179a929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061181e57600080fd5b6000805467ffffffffffffffff841690811061183657fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061186b57600080fd5b6001805467ffffffffffffffff841690811061188357fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118b057fe5b146118b757fe5b8260a0015167ffffffffffffffff1615156118d55760019150610a95565b6118e28360a00151611850565b9050610a92816101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b2457600502816005028360005260206000209182019101611b249190611c28565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b610aa391905b80821115611ba557805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c616001830182611cdb565b611c6f600283016000611cdb565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c2e565b5090565b90565b610aa391905b80821115611ba55760008155600101611cc0565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d015750611d1f565b601f016020900490600052602060002090810190611d1f9190611cba565b5b505600a165627a7a723058209cb0c9c4179deb6c92b8ead40f75b66cde633097af588d7889aa9bf737475bdb0029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fb4833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d4f80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101835780632a8ec8cc146101b75780633f657a46146101dc57806352dc7dcc1461025c5780635503d9ba1461032657806372116e921461034b5780637f61fa9314610425578063cc19ecf7146104ef578063db7c2314146105ae578063eba8ba061461066d578063f6b24b1c146107c7578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b6101a367ffffffffffffffff600435166109dd565b604051901515815260200160405180910390f35b34156101c257600080fd5b6101ca610a9b565b60405190815260200160405180910390f35b34156101e757600080fd5b6101fc67ffffffffffffffff60043516610aa6565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024257fe5b60ff16815260200197505050505050505060405180910390f35b341561026757600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610b2e915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033157600080fd5b6101ca610d24565b60405190815260200160405180910390f35b341561035657600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610d2f9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561043057600080fd5b61030960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a0316925061116b915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156104fa57600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611360915050565b005b34156105b957600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061144e915050565b005b341561067857600080fd5b61068d67ffffffffffffffff6004351661153c565b6040518089600281111561069d57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107205780820151818401525b602001610707565b50505050905090810190601f16801561074d5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156107845780820151818401525b60200161076b565b50505050905090810190601f1680156107b15780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156107d257600080fd5b6105ac6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611708915050565b005b341561089157600080fd5b6108996117f6565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611ae6565b6000806108cc87611805565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff16945061091885611850565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b6000806109e983611850565b905060005b815460ff1660028111156109fe57fe5b1415610a0d5760009150610a95565b60025b815460ff166002811115610a2057fe5b14610a2757fe5b6003810154608060020a900460ff1615610a445760019150610a95565b600381015468010000000000000000900467ffffffffffffffff161515610a6e5760009150610a95565b6003810154610a929068010000000000000000900467ffffffffffffffff166109dd565b91505b50919050565b600054600019015b90565b600080600080600080600080610abb89611805565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610b418382611af8565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610bc357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610c09929160200190611b2a565b50606082015181600201908051610c24929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60008067ffffffffffffffff851615610f6f57610d4b85611850565b905060025b815460ff166002811115610d6057fe5b14610d6a57600080fd5b6014610f65826101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b10610f6f57600080fd5b5b60018054925082808201610f848382611af8565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561100757fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161104d929160200190611b2a565b50606082015181600201908051611068929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60018054908180820161117e8382611af8565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561120057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611246929160200190611b2a565b50606082015181600201908051611261929160200190611b2a565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600061136b86611850565b905060015b815460ff16600281111561138057fe5b1461138a57600080fd5b805433600160a060020a0390811661010090920416146113a957600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113dc929160200190611b2a565b50600281018380516113f2929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600061145986611850565b905060005b815460ff16600281111561146e57fe5b1461147857600080fd5b805433600160a060020a03908116610100909204161461149757600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114ca929160200190611b2a565b50600281018380516114e0929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611547611ae6565b61154f611ae6565b60008060008060006115608a611850565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156116165780601f106115eb57610100808354040283529160200191611616565b820191906000526020600020905b8154815290600101906020018083116115f957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b55780601f1061168a576101008083540402835291602001916116b5565b820191906000526020600020905b81548152906001019060200180831161169857829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600061171386611850565b905060025b815460ff16600281111561172857fe5b1461173257600080fd5b805433600160a060020a03908116610100909204161461175157600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611784929160200190611b2a565b506002810183805161179a929160200190611b2a565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061181e57600080fd5b6000805467ffffffffffffffff841690811061183657fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061186b57600080fd5b6001805467ffffffffffffffff841690811061188357fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118b057fe5b146118b757fe5b8260a0015167ffffffffffffffff1615156118d55760019150610a95565b6118e28360a00151611850565b9050610a92816101006040519081016040528154909190829060ff166002811115610d9157fe5b6002811115610d9c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e685780601f10610e3d57610100808354040283529160200191610e68565b820191906000526020600020905b815481529060010190602001808311610e4b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f0a5780601f10610edf57610100808354040283529160200191610f0a565b820191906000526020600020905b815481529060010190602001808311610eed57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261189d565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b2457600502816005028360005260206000209182019101611b249190611c28565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b6b57805160ff1916838001178555611b98565b82800160010185558215611b98579182015b82811115611b98578251825591602001919060010190611b7d565b5b50611ba5929150611cba565b5090565b610aa391905b80821115611ba557805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c616001830182611cdb565b611c6f600283016000611cdb565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c2e565b5090565b90565b610aa391905b80821115611ba55760008155600101611cc0565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d015750611d1f565b601f016020900490600052602060002090810190611d1f9190611cba565b5b505600a165627a7a723058203f7b0aa3dc7065aea974169f7b77637d8fa151e561b988e273970aab45e201300029" exports.LiquidPledgingMockAbi = [{"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":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"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":"intendedProject","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":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"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":"url","type":"string"},{"name":"projectAdmin","type":"address"},{"name":"parentProject","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addProject","outputs":[{"name":"idProject","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"}],"name":"cancelProject","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","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":"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":"_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":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"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":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","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":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentProject","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":false,"inputs":[{"name":"idProject","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateProject","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"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":"idProject","type":"uint64"}],"name":"CancelProject","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":"idProject","type":"uint64"}],"name":"ProjectAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"ProjectUpdated","type":"event"}] -exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b60405160208062004fb5833981016040528080519150505b805b805b60016200003a818062000076565b5060016200004a600082620000ab565b5060028054600160a060020a031916600160a060020a0383161790555b505b50426004555b5062000261565b815481835581811511620000a557600502816005028360005260206000209182019101620000a59190620000e0565b5b505050565b815481835581811511620000a557600402816004028360005260206000209182019101620000a5919062000154565b5b505050565b6200015191905b808211156200014d578054600160a860020a031916815560006200010f6001830182620001c6565b6200011f600283016000620001c6565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000e7565b5090565b90565b6200015191905b808211156200014d57600080825560018201805467ffffffffffffffff191690556200018b600283018262000212565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200015b565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001ee57506200020e565b601f0160209004906000526020600020908101906200020e91906200023d565b5b50565b5080546000825560030160049004906000526020600020908101906200020e91906200023d565b5b50565b6200015191905b808211156200014d576000815560010162000244565b5090565b90565b614d4480620002716000396000f3006060604052361561014e5763ffffffff60e060020a60003504166314e7b1dc81146101535780632101a6ad1461020d5780632a8ec8cc146102405780632ee88808146102655780633f657a4614610289578063433879831461030757806347c5ef431461032b57806350f8a8031461035c57806352dc7dcc146103975780635503d9ba1461045f57806357adafb61461048457806372116e92146104d5578063796d5654146105ad5780637f61fa93146105ce5780639398f5a2146106965780639da47a6b146106e7578063ab8be2311461070c578063af9f456314610724578063bce0906d14610748578063bde60ac9146107b3578063cc19ecf7146107cf578063d639cd731461088c578063db7c2314146108f6578063e9c211e2146109b3578063eba8ba06146109d7578063ef3766e414610b2f578063f6b24b1c14610b80578063fbfa77cf14610c3d575b600080fd5b341561015e57600080fd5b6101756001604060020a0360043516602435610c6c565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101d05780820151818401525b6020016101b7565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561021857600080fd5b61022c6001604060020a0360043516610d93565b604051901515815260200160405180910390f35b341561024b57600080fd5b610253610e45565b60405190815260200160405180910390f35b341561027057600080fd5b6102876001604060020a0360043516602435610e50565b005b341561029457600080fd5b6102a86001604060020a0360043516610f96565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102ed57fe5b60ff16815260200197505050505050505060405180910390f35b341561031257600080fd5b6102876001604060020a0360043516602435611003565b005b341561033657600080fd5b6102876001604060020a0360043581169060243581169060443590606435166113a8565b005b341561036757600080fd5b61037b6001604060020a0360043516611a49565b6040516001604060020a03909116815260200160405180910390f35b34156103a257600080fd5b61037b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611c15915050565b6040516001604060020a03909116815260200160405180910390f35b341561046a57600080fd5b610253611e06565b60405190815260200160405180910390f35b341561048f57600080fd5b6102876004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611e1195505050505050565b005b34156104e057600080fd5b61037b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611e849050565b6040516001604060020a03909116815260200160405180910390f35b34156105b857600080fd5b6102876001604060020a03600435166122b4565b005b34156105d957600080fd5b61037b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250612511915050565b6040516001604060020a03909116815260200160405180910390f35b34156106a157600080fd5b610287600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061270195505050505050565b005b34156106f257600080fd5b610253612774565b60405190815260200160405180910390f35b341561071757600080fd5b61028760043561277a565b005b341561072f57600080fd5b6102876001604060020a0360043516602435612783565b005b341561075357600080fd5b61037b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129d195505050505050565b6040516001604060020a03909116815260200160405180910390f35b6102876001604060020a0360043581169060243516612a1e565b005b34156107da57600080fd5b610287600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612d59915050565b005b341561089757600080fd5b610287600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612e46915050565b005b341561090157600080fd5b610287600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612ebd915050565b005b34156109be57600080fd5b6102876001604060020a0360043516602435612faa565b005b34156109e257600080fd5b6109f66001604060020a03600435166130d4565b60405180896002811115610a0657fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610a885780820151818401525b602001610a6f565b50505050905090810190601f168015610ab55780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610aec5780820151818401525b602001610ad3565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610b3a57600080fd5b610287600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061329a95505050505050565b005b3415610b8b57600080fd5b610287600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061330d915050565b005b3415610c4857600080fd5b610c506133fa565b604051600160a060020a03909116815260200160405180910390f35b600080610c77614923565b600080610c8387613409565b91508160020160018703815481101515610c9957fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610cce85613452565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d825780601f10610d5757610100808354040283529160200191610d82565b820191906000526020600020905b815481529060010190602001808311610d6557829003601f168201915b505050505092505b50509250925092565b600080610d9f83613452565b905060005b815460ff166002811115610db457fe5b1415610dc35760009150610e3f565b60025b815460ff166002811115610dd657fe5b14610ddd57fe5b6003810154608060020a900460ff1615610dfa5760019150610e3f565b6003810154604060020a90046001604060020a03161515610e1e5760009150610e3f565b6003810154610e3c90604060020a90046001604060020a0316610d93565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e7057600080fd5b610e7984613409565b915060015b600383015460c060020a900460ff166002811115610e9857fe5b14610ea257600080fd5b836001604060020a0316610eb58561349d565b6001604060020a031614610ec857600080fd5b6001820154600283018054610f81926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f5b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610f185790505b505050506003860154600091508190608060020a90046001604060020a03166002613567565b9050610f8e848285613859565b5b5b50505050565b600080600080600080600080610fab89613409565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061101185611a49565b945061101c85613409565b925060005b600384015460c060020a900460ff16600281111561103b57fe5b1461104557600080fd5b600183015461105c906001604060020a0316613452565b9150611251826101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613923565b600183015460028401805461130a926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112e457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112a15790505b505050506003870154600091508190608060020a90046001604060020a03166001613567565b9050611317858286613859565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561138c57600080fd5b6102c65a03f1151561139d57600080fd5b5050505b5050505050565b60008060008060006113b988611a49565b97506113c488613409565b94506113cf86613452565b93506113da89613452565b92506115cf836101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613923565b60005b600386015460c060020a900460ff1660028111156115ec57fe5b146115f657600080fd5b60018501546001604060020a038a8116911614156116935760005b845460ff16600281111561162157fe5b14156116375761163288888861396b565b61168b565b60025b845460ff16600281111561164a57fe5b1415611660576116328888886139b1565b61168b565b60015b845460ff16600281111561167357fe5b141561168957611632888888613c10565b61168b565bfe5b5b5b5b611a3d565b6117c48560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561175d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161171a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156117b057fe5b60028111156117bb57fe5b9052508a613d44565b6001604060020a03908116925082146116895760005b845460ff1660028111156117ea57fe5b14156118205760018501546001604060020a0387811691161461180957fe5b61168b88888760020180549050613dab565b611a3d565b60015b845460ff16600281111561183357fe5b14156119fa5761196a8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561190357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118c05790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561195657fe5b600281111561196157fe5b90525087613d44565b6001604060020a0390811691508114156119a557611995888860018589600201805490500303613dab565b611632888888613c10565b61168b565b818111156119d457611995888860018589600201805490500303613dab565b611632888888613c10565b61168b565b81811161168b5761168b888860018489600201805490500303613dab565b5b5b5b611a3d565b60025b845460ff166002811115611a0d57fe5b141561168957611a2a888860018589600201805490500303613dab565b61168b888888613eb1565b611a3d565b5bfe5b5b505050505050505050565b600080600080611a5885613409565b925060005b600384015460c060020a900460ff166002811115611a7757fe5b14611a8457849350611c0d565b600383015460006001604060020a03909116118015611abd57506003830154604060020a90046001604060020a0316611abb614213565b115b15611bdb576001830154600284018054611b7a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b5557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611b125790505b505050506003870154600091508190608060020a90046001604060020a031681613567565b6003840154909250611bbb906001604060020a03166000604051805910611b9e5750595b908082528060200260200182016040525b50600080866000613567565b9050611bcc85828560000154613859565b809450611bd885613409565b92505b611be48561349d565b90506001604060020a0380821690861614611c0857611c0885828560000154613859565b5b8093505b505050919050565b600180549081808201611c288382614935565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611ca957fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611cef929160200190614967565b50606082015181600201908051611d0a929160200190614967565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b8351831015610f8e576001604060020a03848481518110611e3357fe5b90602001906020020151169150604060020a848481518110611e5157fe5b90602001906020020151811515611e6457fe5b049050611e718282611003565b5b600190920191611e16565b5b50505050565b6000806001604060020a038516156120bd57611e9f85613452565b905060025b815460ff166002811115611eb457fe5b14611ebe57600080fd5b60146120b3826101006040519081016040528154909190829060ff166002811115611ee557fe5b6002811115611ef057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fbc5780601f10611f9157610100808354040283529160200191611fbc565b820191906000526020600020905b815481529060010190602001808311611f9f57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561205e5780601f106120335761010080835404028352916020019161205e565b820191906000526020600020905b81548152906001019060200180831161204157829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261421a565b106120bd57600080fd5b5b600180549250828082016120d28382614935565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561215457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161219a929160200190614967565b506060820151816002019080516121b5929160200190614967565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60006122bf82613452565b90506124b4816101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613923565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25b5050565b6001805490818082016125248382614935565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156125a557fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516125eb929160200190614967565b50606082015181600201908051612606929160200190614967565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600080805b8351831015610f8e576001604060020a0384848151811061272357fe5b90602001906020020151169150604060020a84848151811061274157fe5b9060200190602002015181151561275457fe5b0490506127618282610e50565b5b600190920191612706565b5b50505050565b60045481565b60048190555b50565b60008061278f84611a49565b935061279a84613409565b60018101549092506127b4906001604060020a0316613452565b90506129a9816101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613923565b6003820154610f8e908590608060020a90046001604060020a031685613859565b5b50505050565b600080805b8351821015612a16576001604060020a038483815181106129f357fe5b90602001906020020151169050612a0981611a49565b505b6001909101906129d6565b5b5050919050565b60008080806001604060020a0386161515612a6457612a616020604051908101604052806000815250602060405190810160405260008082526203f48090612511565b95505b612a6d86613452565b9350612c62846101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613923565b60005b845460ff166002811115612c7557fe5b14612c7f57600080fd5b34925060008311612c8f57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612cc257600080fd5b612cf2866000604051805910612cd55750595b908082528060200260200182016040525b50600080600080613567565b9150612cfd82613409565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612d50868385886113a8565b5b505050505050565b6000612d6486613452565b905060015b815460ff166002811115612d7957fe5b14612d8357600080fd5b805433600160a060020a039081166101009092041614612da257600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612dd5929160200190614967565b5060028101838051612deb929160200190614967565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612d50576001604060020a03858481518110612e6857fe5b90602001906020020151169150604060020a858481518110612e8657fe5b90602001906020020151811515612e9957fe5b049050612ea8868383876113a8565b5b600190920191612e4b565b5b505050505050565b6000612ec886613452565b905060005b815460ff166002811115612edd57fe5b14612ee757600080fd5b805433600160a060020a039081166101009092041614612f0657600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612f39929160200190614967565b5060028101838051612f4f929160200190614967565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a03908116911614612fca57600080fd5b612fd384613409565b915060015b600383015460c060020a900460ff166002811115612ff257fe5b14612ffc57600080fd5b60018201546002830180546130b4926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561308f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161304c5790505b505050506003860154600091508190608060020a90046001604060020a031681613567565b9050610f8181611a49565b9050610f8e848285613859565b5b5b50505050565b6000806130df614923565b6130e7614923565b60008060008060006130f88a613452565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156131ae5780601f10613183576101008083540402835291602001916131ae565b820191906000526020600020905b81548152906001019060200180831161319157829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561324d5780601f106132225761010080835404028352916020019161324d565b820191906000526020600020905b81548152906001019060200180831161323057829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b8351831015610f8e576001604060020a038484815181106132bc57fe5b90602001906020020151169150604060020a8484815181106132da57fe5b906020019060200201518115156132ed57fe5b0490506132fa8282612faa565b5b60019092019161329f565b5b50505050565b600061331886613452565b905060025b815460ff16600281111561332d57fe5b1461333757600080fd5b805433600160a060020a03908116610100909204161461335657600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613389929160200190614967565b506002810183805161339f929160200190614967565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b600080546001604060020a0383161061342157600080fd5b600080546001604060020a03841690811061343857fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061346c57600080fd5b600180546001604060020a03841690811061348357fe5b906000526020600020906005020160005b5090505b919050565b600080806001604060020a03841615156134ba5760009250612a16565b6134c384613409565b60018101549092506134dd906001604060020a0316613452565b905060005b815460ff1660028111156134f257fe5b141561350057839250612a16565b60025b815460ff16600281111561351357fe5b1461351a57fe5b6001820154613531906001604060020a0316610d93565b151561353f57839250612a16565b600382015461355d90608060020a90046001604060020a031661349d565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156135b55780820151818401525b60200161359c565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561362257fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561368b5780925061384d565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016136c98382614a65565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561373b57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613786929160200190614a97565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a83600281111561384157fe5b02179055505050508092505b50509695505050505050565b600080600061386b600187878761445c565b9250846001604060020a0316866001604060020a0316141561388c57612d50565b82151561389857612d50565b6138a186613409565b91506138ac85613409565b8254909150839010156138be57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613919600087878661445c565b505b505050505050565b8060200151600160a060020a031633600160a060020a0316148061395c57508060e00151600160a060020a031633600160a060020a0316145b151561278057600080fd5b5b50565b6000610f81826000604051805910612cd55750595b908082528060200260200182016040525b50600080600080613567565b9050610f8e848285613859565b5b50505050565b60008060006139bf86613409565b92506014613af38460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a8d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a4a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613ae057fe5b6002811115613aeb57fe5b905250614484565b10613afd57600080fd5b613b0684610d93565b15613b1057600080fd5b6001830154600284018054613bc8926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b5557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611b125790505b505050506003870154600091508190608060020a90046001604060020a031681613567565b9150613bfa846000604051805910611b9e5750595b908082528060200260200182016040525b50600080866000613567565b9050612d50868287613859565b5b505050505050565b6000613c1a614923565b600080613c2687613409565b600281015490945060149010613c3b57600080fd5b6002840154600101604051805910613c505750595b908082528060200260200182016040525b509250600091505b6002840154821015613cde5760028401805483908110613c8557fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613cbb57fe5b6001604060020a039092166020928302909101909101525b600190910190613c69565b60028401548590849081518110613cf157fe5b6001604060020a039283166020918202909201015260018501546003860154613d2d929182169186916000918291608060020a90041681613567565b9050613919878288613859565b5b50505050505050565b6000805b836040015151811015613d9957826001604060020a031684604001518281518110613d6f57fe5b906020019060200201516001604060020a03161415613d9057809150613da4565b5b600101613d48565b6001604060020a0391505b5092915050565b6000613db5614923565b600080613dc187613409565b6002810154909450859003604051805910613dd95750595b908082528060200260200182016040525b509250600091505b6002840154859003821015613e6a5760028401805483908110613e1157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613e4757fe5b6001604060020a039092166020928302909101909101525b600190910190613df2565b60018401546003850154613d2d916001604060020a039081169186916000918291608060020a9091041681613567565b9050613919878288613859565b5b50505050505050565b600080613ebd85613409565b91506014613ff18360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a8d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a4a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613ae057fe5b6002811115613aeb57fe5b905250614484565b10613ffb57600080fd5b61400483610d93565b1561400e57600080fd5b60018201546002830180546141fe926001604060020a031691906020808202016040519081016040528092919081815260200182805480156140a157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161405e5790505b5050505050856141d78660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561417157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161412e5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156141c457fe5b60028111156141cf57fe5b9052506145ef565b6141df614213565b6003880154910190608060020a90046001604060020a03166000613567565b90506113a1858286613859565b5b5050505050565b6004545b90565b60008060025b8351600281111561422d57fe5b1461423457fe5b8260a001516001604060020a031615156142515760019150610e3f565b61425e8360a00151613452565b9050610e3c816101006040519081016040528154909190829060ff166002811115611ee557fe5b6002811115611ef057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fbc5780601f10611f9157610100808354040283529160200191611fbc565b820191906000526020600020905b815481529060010190602001808311611f9f57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561205e5780601f106120335761010080835404028352916020019161205e565b820191906000526020600020905b81548152906001019060200180831161204157829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261421a565b91505b50919050565b8061446a8585808685614682565b90506144798584868685614682565b90505b949350505050565b6000808260a001516001604060020a031615156144a45760009150610e3f565b6144b18360a00151613409565b90506145e38160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613a8d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a4a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613ae057fe5b6002811115613aeb57fe5b905250614484565b60010191505b50919050565b60008060006146018460200151613452565b60038101546001604060020a031693509150600090505b836040015151811015612a16576146478460400151828151811061463857fe5b90602001906020020151613452565b60038101549092506001604060020a0316839011156146715760038201546001604060020a031692505b5b600101614618565b5b5050919050565b600080600080866001604060020a0316886001604060020a0316146146a9576101006146ac565b60005b61ffff1692508493506146be88613409565b60018101549092506146de908a906001604060020a0316898987896147a3565b9350600090505b60028201546001604060020a038216101561475b576147508983600201836001604060020a031681548110151561471857fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03168989858801600101896147a3565b93505b6001016146e5565b600382015460006001604060020a039091161115614796576003820154614793908a906001604060020a0316898960ff8801896147a3565b93505b5b50505095945050505050565b806000806147b088613452565b6004810154909150600160a060020a0316158015906147cf5750600083115b1561384d57881561488a576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561485957600080fd5b6102c65a03f1151561486a57600080fd5b50505060405180519250508282111561488257600080fd5b81925061384d565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561490057600080fd5b6102c65a03f1151561491157600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b815481835581811511614961576005028160050283600052602060002091820191016149619190614b61565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149a857805160ff19168380011785556149d5565b828001600101855582156149d5579182015b828111156149d55782518255916020019190600101906149ba565b5b506149e2929150614bf3565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149a857805160ff19168380011785556149d5565b828001600101855582156149d5579182015b828111156149d55782518255916020019190600101906149ba565b5b506149e2929150614bf3565b5090565b815481835581811511614961576004028160040283600052602060002091820191016149619190614c14565b5b505050565b82805482825590600052602060002090600301600490048101928215614b3f5791602002820160005b83821115614b0a57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614ac0565b8015614b3d5782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614b0a565b505b506149e2929150614c7b565b5090565b60206040519081016040526000815290565b610e4d91905b808211156149e257805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b9a6001830182614ca7565b614ba8600283016000614ca7565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b67565b5090565b90565b610e4d91905b808211156149e25760008155600101614bf9565b5090565b90565b610e4d91905b808211156149e257600080825560018201805467ffffffffffffffff19169055614c476002830182614cef565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614c1a565b5090565b90565b610e4d91905b808211156149e257805467ffffffffffffffff19168155600101614c81565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614ccd5750612780565b601f0160209004906000526020600020908101906127809190614bf3565b5b50565b5080546000825560030160049004906000526020600020908101906127809190614bf3565b5b505600a165627a7a72305820add231c6fa331c8dee68901b9fce933e0292c48d292d1b709348be17de8e2de90029" +exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b60405160208062004fd7833981016040528080519150505b805b805b60016200003a818062000076565b5060016200004a600082620000ab565b5060028054600160a060020a031916600160a060020a0383161790555b505b50426004555b5062000261565b815481835581811511620000a557600502816005028360005260206000209182019101620000a59190620000e0565b5b505050565b815481835581811511620000a557600402816004028360005260206000209182019101620000a5919062000154565b5b505050565b6200015191905b808211156200014d578054600160a860020a031916815560006200010f6001830182620001c6565b6200011f600283016000620001c6565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000e7565b5090565b90565b6200015191905b808211156200014d57600080825560018201805467ffffffffffffffff191690556200018b600283018262000212565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200015b565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001ee57506200020e565b601f0160209004906000526020600020908101906200020e91906200023d565b5b50565b5080546000825560030160049004906000526020600020908101906200020e91906200023d565b5b50565b6200015191905b808211156200014d576000815560010162000244565b5090565b90565b614d6680620002716000396000f3006060604052361561014e5763ffffffff60e060020a60003504166314e7b1dc81146101535780632101a6ad1461020d5780632a8ec8cc146102405780632ee88808146102655780633f657a4614610289578063433879831461030757806347c5ef431461032b57806350f8a8031461035c57806352dc7dcc146103975780635503d9ba1461045f57806357adafb61461048457806372116e92146104d5578063796d5654146105ad5780637f61fa93146105ce5780639398f5a2146106965780639da47a6b146106e7578063ab8be2311461070c578063af9f456314610724578063bce0906d14610748578063bde60ac9146107b3578063cc19ecf7146107cf578063d639cd731461088c578063db7c2314146108f6578063e9c211e2146109b3578063eba8ba06146109d7578063ef3766e414610b2f578063f6b24b1c14610b80578063fbfa77cf14610c3d575b600080fd5b341561015e57600080fd5b6101756001604060020a0360043516602435610c6c565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101d05780820151818401525b6020016101b7565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561021857600080fd5b61022c6001604060020a0360043516610d93565b604051901515815260200160405180910390f35b341561024b57600080fd5b610253610e45565b60405190815260200160405180910390f35b341561027057600080fd5b6102876001604060020a0360043516602435610e50565b005b341561029457600080fd5b6102a86001604060020a0360043516610f96565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102ed57fe5b60ff16815260200197505050505050505060405180910390f35b341561031257600080fd5b6102876001604060020a0360043516602435611003565b005b341561033657600080fd5b6102876001604060020a0360043581169060243581169060443590606435166113a8565b005b341561036757600080fd5b61037b6001604060020a0360043516611a65565b6040516001604060020a03909116815260200160405180910390f35b34156103a257600080fd5b61037b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611c31915050565b6040516001604060020a03909116815260200160405180910390f35b341561046a57600080fd5b610253611e22565b60405190815260200160405180910390f35b341561048f57600080fd5b6102876004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611e2d95505050505050565b005b34156104e057600080fd5b61037b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611ea09050565b6040516001604060020a03909116815260200160405180910390f35b34156105b857600080fd5b6102876001604060020a03600435166122d0565b005b34156105d957600080fd5b61037b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061252d915050565b6040516001604060020a03909116815260200160405180910390f35b34156106a157600080fd5b610287600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061271d95505050505050565b005b34156106f257600080fd5b610253612790565b60405190815260200160405180910390f35b341561071757600080fd5b610287600435612796565b005b341561072f57600080fd5b6102876001604060020a036004351660243561279f565b005b341561075357600080fd5b61037b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129ed95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6102876001604060020a0360043581169060243516612a3a565b005b34156107da57600080fd5b610287600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612d75915050565b005b341561089757600080fd5b610287600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612e62915050565b005b341561090157600080fd5b610287600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612ed9915050565b005b34156109be57600080fd5b6102876001604060020a0360043516602435612fc6565b005b34156109e257600080fd5b6109f66001604060020a03600435166130f0565b60405180896002811115610a0657fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610a885780820151818401525b602001610a6f565b50505050905090810190601f168015610ab55780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610aec5780820151818401525b602001610ad3565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610b3a57600080fd5b61028760046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506132b695505050505050565b005b3415610b8b57600080fd5b610287600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250613329915050565b005b3415610c4857600080fd5b610c50613416565b604051600160a060020a03909116815260200160405180910390f35b600080610c77614945565b600080610c8387613425565b91508160020160018703815481101515610c9957fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610cce8561346e565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d825780601f10610d5757610100808354040283529160200191610d82565b820191906000526020600020905b815481529060010190602001808311610d6557829003601f168201915b505050505092505b50509250925092565b600080610d9f8361346e565b905060005b815460ff166002811115610db457fe5b1415610dc35760009150610e3f565b60025b815460ff166002811115610dd657fe5b14610ddd57fe5b6003810154608060020a900460ff1615610dfa5760019150610e3f565b6003810154604060020a90046001604060020a03161515610e1e5760009150610e3f565b6003810154610e3c90604060020a90046001604060020a0316610d93565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610e7057600080fd5b610e7984613425565b915060015b600383015460c060020a900460ff166002811115610e9857fe5b14610ea257600080fd5b836001604060020a0316610eb5856134b9565b6001604060020a031614610ec857600080fd5b6001820154600283018054610f81926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610f5b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610f185790505b505050506003860154600091508190608060020a90046001604060020a03166002613583565b9050610f8e848285613875565b5b5b50505050565b600080600080600080600080610fab89613425565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061101185611a65565b945061101c85613425565b925060005b600384015460c060020a900460ff16600281111561103b57fe5b1461104557600080fd5b600183015461105c906001604060020a031661346e565b9150611251826101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261393f565b600183015460028401805461130a926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112e457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112a15790505b505050506003870154600091508190608060020a90046001604060020a03166001613583565b9050611317858286613875565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561138c57600080fd5b6102c65a03f1151561139d57600080fd5b5050505b5050505050565b60008060008060006113b988611a65565b97506113c488613425565b94506113cf8661346e565b93506113da8961346e565b92506115cf836101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261393f565b60005b600386015460c060020a900460ff1660028111156115ec57fe5b146115f657600080fd5b60018501546001604060020a038a8116911614156116a75760005b845460ff16600281111561162157fe5b141561163757611632888888613987565b61169f565b60025b845460ff16600281111561164a57fe5b1415611660576116328888886139cd565b61169f565b60015b845460ff16600281111561167357fe5b141561169d5761168b88888760020180549050613c2c565b9750611632888888613d38565b61169f565bfe5b5b5b5b611a59565b6117d88560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561177157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161172e5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156117c457fe5b60028111156117cf57fe5b9052508a613e6c565b6001604060020a039081169250821461169d5760005b845460ff1660028111156117fe57fe5b14156118355760018501546001604060020a0387811691161461181d57fe5b61182f88888760020180549050613c2c565b50611a59565b60015b845460ff16600281111561184857fe5b1415611a145761197f8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561191857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118d55790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561196b57fe5b600281111561197657fe5b90525087613e6c565b6001604060020a0390811691508114156119bc5761168b888860018589600201805490500303613c2c565b9750611632888888613d38565b61169f565b818111156119ed5761168b888860018589600201805490500303613c2c565b9750611632888888613d38565b61169f565b81811161169f5761182f888860018489600201805490500303613c2c565b505b5b5b611a59565b60025b845460ff166002811115611a2757fe5b141561169d57611a44888860018589600201805490500303613c2c565b975061169f888888613ed3565b611a59565b5bfe5b5b505050505050505050565b600080600080611a7485613425565b925060005b600384015460c060020a900460ff166002811115611a9357fe5b14611aa057849350611c29565b600383015460006001604060020a03909116118015611ad957506003830154604060020a90046001604060020a0316611ad7614235565b115b15611bf7576001830154600284018054611b96926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b7157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611b2e5790505b505050506003870154600091508190608060020a90046001604060020a031681613583565b6003840154909250611bd7906001604060020a03166000604051805910611bba5750595b908082528060200260200182016040525b50600080866000613583565b9050611be885828560000154613875565b809450611bf485613425565b92505b611c00856134b9565b90506001604060020a0380821690861614611c2457611c2485828560000154613875565b5b8093505b505050919050565b600180549081808201611c448382614957565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611cc557fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611d0b929160200190614989565b50606082015181600201908051611d26929160200190614989565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b8351831015610f8e576001604060020a03848481518110611e4f57fe5b90602001906020020151169150604060020a848481518110611e6d57fe5b90602001906020020151811515611e8057fe5b049050611e8d8282611003565b5b600190920191611e32565b5b50505050565b6000806001604060020a038516156120d957611ebb8561346e565b905060025b815460ff166002811115611ed057fe5b14611eda57600080fd5b60146120cf826101006040519081016040528154909190829060ff166002811115611f0157fe5b6002811115611f0c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fd85780601f10611fad57610100808354040283529160200191611fd8565b820191906000526020600020905b815481529060010190602001808311611fbb57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561207a5780601f1061204f5761010080835404028352916020019161207a565b820191906000526020600020905b81548152906001019060200180831161205d57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261423c565b106120d957600080fd5b5b600180549250828082016120ee8382614957565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561217057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516121b6929160200190614989565b506060820151816002019080516121d1929160200190614989565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a25b509695505050505050565b60006122db8261346e565b90506124d0816101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261393f565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25b5050565b6001805490818082016125408382614957565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156125c157fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612607929160200190614989565b50606082015181600201908051612622929160200190614989565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b600080805b8351831015610f8e576001604060020a0384848151811061273f57fe5b90602001906020020151169150604060020a84848151811061275d57fe5b9060200190602002015181151561277057fe5b04905061277d8282610e50565b5b600190920191612722565b5b50505050565b60045481565b60048190555b50565b6000806127ab84611a65565b93506127b684613425565b60018101549092506127d0906001604060020a031661346e565b90506129c5816101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261393f565b6003820154610f8e908590608060020a90046001604060020a031685613875565b5b50505050565b600080805b8351821015612a32576001604060020a03848381518110612a0f57fe5b90602001906020020151169050612a2581611a65565b505b6001909101906129f2565b5b5050919050565b60008080806001604060020a0386161515612a8057612a7d6020604051908101604052806000815250602060405190810160405260008082526203f4809061252d565b95505b612a898661346e565b9350612c7e846101006040519081016040528154909190829060ff16600281111561108357fe5b600281111561108e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561115a5780601f1061112f5761010080835404028352916020019161115a565b820191906000526020600020905b81548152906001019060200180831161113d57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111fc5780601f106111d1576101008083540402835291602001916111fc565b820191906000526020600020905b8154815290600101906020018083116111df57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261393f565b60005b845460ff166002811115612c9157fe5b14612c9b57600080fd5b34925060008311612cab57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612cde57600080fd5b612d0e866000604051805910612cf15750595b908082528060200260200182016040525b50600080600080613583565b9150612d1982613425565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612d6c868385886113a8565b5b505050505050565b6000612d808661346e565b905060015b815460ff166002811115612d9557fe5b14612d9f57600080fd5b805433600160a060020a039081166101009092041614612dbe57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612df1929160200190614989565b5060028101838051612e07929160200190614989565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612d6c576001604060020a03858481518110612e8457fe5b90602001906020020151169150604060020a858481518110612ea257fe5b90602001906020020151811515612eb557fe5b049050612ec4868383876113a8565b5b600190920191612e67565b5b505050505050565b6000612ee48661346e565b905060005b815460ff166002811115612ef957fe5b14612f0357600080fd5b805433600160a060020a039081166101009092041614612f2257600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612f55929160200190614989565b5060028101838051612f6b929160200190614989565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a03908116911614612fe657600080fd5b612fef84613425565b915060015b600383015460c060020a900460ff16600281111561300e57fe5b1461301857600080fd5b60018201546002830180546130d0926001604060020a031691906020808202016040519081016040528092919081815260200182805480156130ab57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130685790505b505050506003860154600091508190608060020a90046001604060020a031681613583565b9050610f8181611a65565b9050610f8e848285613875565b5b5b50505050565b6000806130fb614945565b613103614945565b60008060008060006131148a61346e565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156131ca5780601f1061319f576101008083540402835291602001916131ca565b820191906000526020600020905b8154815290600101906020018083116131ad57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132695780601f1061323e57610100808354040283529160200191613269565b820191906000526020600020905b81548152906001019060200180831161324c57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b8351831015610f8e576001604060020a038484815181106132d857fe5b90602001906020020151169150604060020a8484815181106132f657fe5b9060200190602002015181151561330957fe5b0490506133168282612fc6565b5b6001909201916132bb565b5b50505050565b60006133348661346e565b905060025b815460ff16600281111561334957fe5b1461335357600080fd5b805433600160a060020a03908116610100909204161461337257600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516133a5929160200190614989565b50600281018380516133bb929160200190614989565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a25b505050505050565b600254600160a060020a031681565b600080546001604060020a0383161061343d57600080fd5b600080546001604060020a03841690811061345457fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061348857600080fd5b600180546001604060020a03841690811061349f57fe5b906000526020600020906005020160005b5090505b919050565b600080806001604060020a03841615156134d65760009250612a32565b6134df84613425565b60018101549092506134f9906001604060020a031661346e565b905060005b815460ff16600281111561350e57fe5b141561351c57839250612a32565b60025b815460ff16600281111561352f57fe5b1461353657fe5b600182015461354d906001604060020a0316610d93565b151561355b57839250612a32565b600382015461357990608060020a90046001604060020a03166134b9565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156135d15780820151818401525b6020016135b8565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561363e57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a0390911691508111156136a757809250613869565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016136e58382614a87565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561375757fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a03929092169190911790556040820151816002019080516137a2929160200190614ab9565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a83600281111561385d57fe5b02179055505050508092505b50509695505050505050565b6000806000613887600187878761447e565b9250846001604060020a0316866001604060020a031614156138a857612d6c565b8215156138b457612d6c565b6138bd86613425565b91506138c885613425565b8254909150839010156138da57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613935600087878661447e565b505b505050505050565b8060200151600160a060020a031633600160a060020a0316148061397857508060e00151600160a060020a031633600160a060020a0316145b151561279c57600080fd5b5b50565b6000610f81826000604051805910612cf15750595b908082528060200260200182016040525b50600080600080613583565b9050610f8e848285613875565b5b50505050565b60008060006139db86613425565b92506014613b0f8460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613aa957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a665790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613afc57fe5b6002811115613b0757fe5b9052506144a6565b10613b1957600080fd5b613b2284610d93565b15613b2c57600080fd5b6001830154600284018054613be4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611b7157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611b2e5790505b505050506003870154600091508190608060020a90046001604060020a031681613583565b9150613c16846000604051805910611bba5750595b908082528060200260200182016040525b50600080866000613583565b9050612d6c868287613875565b5b505050505050565b600080613c37614945565b600080613c4388613425565b6002810154909450869003604051805910613c5b5750595b908082528060200260200182016040525b509250600091505b6002840154869003821015613cec5760028401805483908110613c9357fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613cc957fe5b6001604060020a039092166020928302909101909101525b600190910190613c74565b60018401546003850154613d1c916001604060020a039081169186916000918291608060020a9091041681613583565b9050613d29888289613875565b8094505b505050509392505050565b6000613d42614945565b600080613d4e87613425565b600281015490945060149010613d6357600080fd5b6002840154600101604051805910613d785750595b908082528060200260200182016040525b509250600091505b6002840154821015613e065760028401805483908110613dad57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613de357fe5b6001604060020a039092166020928302909101909101525b600190910190613d91565b60028401548590849081518110613e1957fe5b6001604060020a039283166020918202909201015260018501546003860154613e55929182169186916000918291608060020a90041681613583565b9050613935878288613875565b5b50505050505050565b6000805b836040015151811015613ec157826001604060020a031684604001518281518110613e9757fe5b906020019060200201516001604060020a03161415613eb857809150613ecc565b5b600101613e70565b6001604060020a0391505b5092915050565b600080613edf85613425565b915060146140138360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613aa957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a665790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613afc57fe5b6002811115613b0757fe5b9052506144a6565b1061401d57600080fd5b61402683610d93565b1561403057600080fd5b6001820154600283018054614220926001604060020a031691906020808202016040519081016040528092919081815260200182805480156140c357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116140805790505b5050505050856141f98660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561419357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116141505790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156141e657fe5b60028111156141f157fe5b905250614611565b614201614235565b6003880154910190608060020a90046001604060020a03166000613583565b90506113a1858286613875565b5b5050505050565b6004545b90565b60008060025b8351600281111561424f57fe5b1461425657fe5b8260a001516001604060020a031615156142735760019150610e3f565b6142808360a0015161346e565b9050610e3c816101006040519081016040528154909190829060ff166002811115611f0157fe5b6002811115611f0c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fd85780601f10611fad57610100808354040283529160200191611fd8565b820191906000526020600020905b815481529060010190602001808311611fbb57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561207a5780601f1061204f5761010080835404028352916020019161207a565b820191906000526020600020905b81548152906001019060200180831161205d57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261423c565b91505b50919050565b8061448c85858086856146a4565b905061449b85848686856146a4565b90505b949350505050565b6000808260a001516001604060020a031615156144c65760009150610e3f565b6144d38360a00151613425565b90506146058160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613aa957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613a665790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613afc57fe5b6002811115613b0757fe5b9052506144a6565b60010191505b50919050565b6000806000614623846020015161346e565b60038101546001604060020a031693509150600090505b836040015151811015612a32576146698460400151828151811061465a57fe5b9060200190602002015161346e565b60038101549092506001604060020a0316839011156146935760038201546001604060020a031692505b5b60010161463a565b5b5050919050565b600080600080866001604060020a0316886001604060020a0316146146cb576101006146ce565b60005b61ffff1692508493506146e088613425565b6001810154909250614700908a906001604060020a0316898987896147c5565b9350600090505b60028201546001604060020a038216101561477d576147728983600201836001604060020a031681548110151561473a57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03168989858801600101896147c5565b93505b600101614707565b600382015460006001604060020a0390911611156147b85760038201546147b5908a906001604060020a0316898960ff8801896147c5565b93505b5b50505095945050505050565b806000806147d28861346e565b6004810154909150600160a060020a0316158015906147f15750600083115b156138695788156148ac576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561487b57600080fd5b6102c65a03f1151561488c57600080fd5b5050506040518051925050828211156148a457600080fd5b819250613869565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561492257600080fd5b6102c65a03f1151561493357600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b815481835581811511614983576005028160050283600052602060002091820191016149839190614b83565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149ca57805160ff19168380011785556149f7565b828001600101855582156149f7579182015b828111156149f75782518255916020019190600101906149dc565b5b50614a04929150614c15565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149ca57805160ff19168380011785556149f7565b828001600101855582156149f7579182015b828111156149f75782518255916020019190600101906149dc565b5b50614a04929150614c15565b5090565b815481835581811511614983576004028160040283600052602060002091820191016149839190614c36565b5b505050565b82805482825590600052602060002090600301600490048101928215614b615791602002820160005b83821115614b2c57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614ae2565b8015614b5f5782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614b2c565b505b50614a04929150614c9d565b5090565b60206040519081016040526000815290565b610e4d91905b80821115614a0457805474ffffffffffffffffffffffffffffffffffffffffff191681556000614bbc6001830182614cc9565b614bca600283016000614cc9565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b89565b5090565b90565b610e4d91905b80821115614a045760008155600101614c1b565b5090565b90565b610e4d91905b80821115614a0457600080825560018201805467ffffffffffffffff19169055614c696002830182614d11565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614c3c565b5090565b90565b610e4d91905b80821115614a0457805467ffffffffffffffff19168155600101614ca3565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614cef575061279c565b601f01602090049060005260206000209081019061279c9190614c15565b5b50565b50805460008255600301600490049060005260206000209081019061279c9190614c15565b5b505600a165627a7a72305820b9c0248006724243357afb193eb50e51660adb6264126c7caeef005ec6f58d530029" 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 = "0x4789dc65053ae2e6952ca69e4abd35f504d3ac68a10ac1b6b99209a470ce8ff6" +exports._sha256 = "0x5504b905d268eb180b6f677b071573999687d1d9b3bbca60a995b6d76307e3e9" diff --git a/build/LiquidPledgingMock_all.sol b/build/LiquidPledgingMock_all.sol index 73244a2..96c9d75 100644 --- a/build/LiquidPledgingMock_all.sol +++ b/build/LiquidPledgingMock_all.sol @@ -495,6 +495,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } else if (receiver.adminType == PledgeAdminType.Project) { transferOwnershipToProject(idPledge, amount, idReceiver); } else if (receiver.adminType == PledgeAdminType.Delegate) { + idPledge = undelegate(idPledge, amount, n.delegationChain.length); appendDelegate(idPledge, amount, idReceiver); } else { assert(false); @@ -520,14 +521,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // If the receiver is not in the delegate list if (receiverDIdx == NOTFOUND) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); appendDelegate(idPledge, amount, idReceiver); // If the receiver is already part of the delegate chain and is // after the sender, then all of the other delegates after the sender are // removed and the receiver is appended at the end of the delegation chain } else if (receiverDIdx > senderDIdx) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); appendDelegate(idPledge, amount, idReceiver); // If the receiver is already part of the delegate chain and is @@ -544,7 +545,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // If the delegate wants to support a project, they undelegate all // the delegates after them in the chain and choose a project if (receiver.adminType == PledgeAdminType.Project) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); proposeAssignProject(idPledge, amount, idReceiver); return; } @@ -767,7 +768,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } /// @param q Number of undelegations - function undelegate(uint64 idPledge, uint amount, uint q) internal { + function undelegate(uint64 idPledge, uint amount, uint q) internal returns (uint64){ Pledge storage n = findPledge(idPledge); uint64[] memory newDelegationChain = new uint64[](n.delegationChain.length - q); for (uint i=0; i senderDIdx) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); appendDelegate(idPledge, amount, idReceiver); // If the receiver is already part of the delegate chain and is @@ -544,7 +545,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // If the delegate wants to support a project, they undelegate all // the delegates after them in the chain and choose a project if (receiver.adminType == PledgeAdminType.Project) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); proposeAssignProject(idPledge, amount, idReceiver); return; } @@ -767,7 +768,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } /// @param q Number of undelegations - function undelegate(uint64 idPledge, uint amount, uint q) internal { + function undelegate(uint64 idPledge, uint amount, uint q) internal returns (uint64){ Pledge storage n = findPledge(idPledge); uint64[] memory newDelegationChain = new uint64[](n.delegationChain.length - q); for (uint i=0; i senderDIdx) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); appendDelegate(idPledge, amount, idReceiver); // If the receiver is already part of the delegate chain and is @@ -130,7 +131,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // If the delegate wants to support a project, they undelegate all // the delegates after them in the chain and choose a project if (receiver.adminType == PledgeAdminType.Project) { - undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); + idPledge = undelegate(idPledge, amount, n.delegationChain.length - senderDIdx - 1); proposeAssignProject(idPledge, amount, idReceiver); return; } @@ -353,7 +354,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } /// @param q Number of undelegations - function undelegate(uint64 idPledge, uint amount, uint q) internal { + function undelegate(uint64 idPledge, uint amount, uint q) internal returns (uint64){ Pledge storage n = findPledge(idPledge); uint64[] memory newDelegationChain = new uint64[](n.delegationChain.length - q); for (uint i=0; i { }; describe('LiquidPledging test', () => { + let testrpc; let web3; let accounts; let liquidPledging; @@ -52,7 +53,7 @@ describe('LiquidPledging test', () => { let adminProject3; let delegate2; before(async () => { - const testrpc = TestRPC.server({ + testrpc = TestRPC.server({ ws: true, gasLimit: 5800000, total_accounts: 10, @@ -71,6 +72,11 @@ describe('LiquidPledging test', () => { giver2 = accounts[7]; adminProject3 = accounts[8]; }); + + after((done) => { + testrpc.close(); + done(); + }); it('Should deploy LiquidPledging contract', async () => { vault = await Vault.new(web3); liquidPledging = await LiquidPledging.new(web3, vault.$address, { gas: 5800000 }); diff --git a/test/VetoDelegation.js b/test/VetoDelegation.js new file mode 100644 index 0000000..815a47e --- /dev/null +++ b/test/VetoDelegation.js @@ -0,0 +1,115 @@ +/* eslint-env mocha */ +/* eslint-disable no-await-in-loop */ +const TestRPC = require('ethereumjs-testrpc'); +const Web3 = require('web3'); +const chai = require('chai'); +const liquidpledging = require('../index.js'); +const assertFail = require('./helpers/assertFail'); + +const { utils } = Web3; + +const LiquidPledging = liquidpledging.LiquidPledging(true); +const Vault = liquidpledging.Vault; +const assert = chai.assert; + +const printState = async (liquidPledging) => { + const st = await liquidPledging.getState(); + console.log(JSON.stringify(st, null, 2)); +}; + +describe('LiquidPledging test', function() { + this.timeout(0); + let testrpc; + let web3; + let accounts; + let liquidPledging; + let vault; + let giver1; + let giver2; + let delegate1; + let adminProject1; + let adminProject2; + let adminProject2a; + let delegate2; + + before(async () => { + + testrpc = TestRPC.server({ + ws: true, + gasLimit: 5800000, + total_accounts: 10, + }); + + testrpc.listen(8546, '127.0.0.1'); + + web3 = new Web3('ws://localhost:8546'); + accounts = await web3.eth.getAccounts(); + giver1 = accounts[ 1 ]; + delegate1 = accounts[ 2 ]; + adminProject1 = accounts[ 3 ]; + adminProject2 = accounts[ 4 ]; + adminProject2a = accounts[ 5 ]; + delegate2 = accounts[ 6 ]; + giver2 = accounts[ 7 ]; + }); + + after((done) => { + testrpc.close(); + done(); + }); + + it('Should deploy LiquidPledgin contract', async () => { + vault = await Vault.new(web3); + liquidPledging = await LiquidPledging.new(web3, vault.$address, { gas: 5800000 }); + await vault.setLiquidPledging(liquidPledging.$address); + }); + + it('Should create a delegate', async () => { + await liquidPledging.addDelegate('Delegate1', 'URLDelegate1', 0, 0, { from: delegate1 }); + const nAdmins = await liquidPledging.numberOfPledgeAdmins(); + assert.equal(nAdmins, 1); + const res = await liquidPledging.getPledgeAdmin(1); + assert.equal(res[0], 1); // Giver + assert.equal(res[1], delegate1); + assert.equal(res[2], 'Delegate1'); + assert.equal(res[3], 'URLDelegate1'); + assert.equal(res[4], 0); + }).timeout(6000); + + it('Should make a donation and create giver', async () => { + await liquidPledging.donate(0, 1, { from: giver1, value: '1000', gas: 2000000 }); + const nPledges = await liquidPledging.numberOfPledges(); + assert.equal(nPledges, 2); + const nAdmins = await liquidPledging.numberOfPledgeAdmins(); + assert.equal(nAdmins, 2); + const res = await liquidPledging.getPledgeAdmin(nAdmins); + assert.equal(res[0], 0); // Giver + assert.equal(res[1], giver1); + assert.equal(res[2], ''); + assert.equal(res[3], ''); + assert.equal(res[4], 259200); // default to 3 day commitTime + }); + + it('Should not append delegate on veto delegation', async function() { + await liquidPledging.addProject('Project 1', 'url', adminProject1, 0, 0, 0); + // propose the delegation + await liquidPledging.transfer(1, 2, '1000', 3, { from: delegate1, gas: 400000 }); + // await liquidPledging.transfer(1, 2, '1000', 5, { from: giver1, gas: 400000 }); + + const origPledge = await liquidPledging.getPledge(2); + assert.equal(origPledge.amount, '0'); + +// await printState(liquidPledging); + // veto the delegation + await liquidPledging.transfer(2, 3, '1000', 1, { from: giver1, gas: 400000 }); + + const currentPledge = await liquidPledging.getPledge(2); + +// await printState(liquidPledging); + + assert.equal(currentPledge.amount, '1000'); + assert.equal(currentPledge.nDelegates, 1); + }); + + +})