diff --git a/build/LiquidPledging.sol.js b/build/LiquidPledging.sol.js index 91156df..e068dd2 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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"}],"name":"cancelProject","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"stateMutability":"payable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","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 = "0x606060405234156200001057600080fd5b6040516020806200431883398101604052808051915081905060016200003781806200006f565b50600162000047600082620000a3565b5060028054600160a060020a031916600160a060020a0392909216919091179055506200023b565b8154818355818115116200009e576005028160050283600052602060002091820191016200009e9190620000d2565b505050565b8154818355818115116200009e576004028160040283600052602060002091820191016200009e919062000146565b6200014391905b808211156200013f578054600160a860020a03191681556000620001016001830182620001b1565b62000111600283016000620001b1565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d9565b5090565b90565b6200014391905b808211156200013f57600080825560018201805467ffffffffffffffff191690556200017d6002830182620001fc565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014d565b50805460018160011615610100020316600290046000825580601f10620001d95750620001f9565b601f016020900490600052602060002090810190620001f991906200021e565b50565b508054600082556003016004900490600052602060002090810190620001f991905b6200014391905b808211156200013f576000815560010162000225565b6140cd806200024b6000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f65780632a8ec8cc146102295780632ee888081461024e5780633f657a461461027257806343387983146102f057806347c5ef431461031257806350f8a8031461034157806352dc7dcc1461037c5780635503d9ba1461042857806357adafb61461043b57806372116e921461048a578063796d5654146105465780637f61fa93146105655780639398f5a214610611578063af9f456314610660578063bce0906d14610682578063bde60ac9146106d1578063cc19ecf7146106eb578063d639cd73146107a6578063db7c23141461080e578063e9c211e2146108c9578063eba8ba06146108eb578063ef3766e414610a41578063f6b24b1c14610a90578063fbfa77cf14610b4b575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610b7a565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101b95780820151838201526020016101a1565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020157600080fd5b6102156001604060020a0360043516610c9f565b604051901515815260200160405180910390f35b341561023457600080fd5b61023c610d4f565b60405190815260200160405180910390f35b341561025957600080fd5b6102706001604060020a0360043516602435610d5a565b005b341561027d57600080fd5b6102916001604060020a0360043516610e9d565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d657fe5b60ff16815260200197505050505050505060405180910390f35b34156102fb57600080fd5b6102706001604060020a0360043516602435610f02565b341561031d57600080fd5b6102706001604060020a0360043581169060243581169060443590606435166112a5565b341561034c57600080fd5b6103606001604060020a0360043516611739565b6040516001604060020a03909116815260200160405180910390f35b341561038757600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611902915050565b341561043357600080fd5b61023c611af0565b341561044657600080fd5b6102706004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611afa95505050505050565b341561049557600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611b659050565b341561055157600080fd5b6102706001604060020a0360043516611faf565b341561057057600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061203d915050565b341561061c57600080fd5b610270600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061222a95505050505050565b341561066b57600080fd5b6102706001604060020a0360043516602435612295565b341561068d57600080fd5b610360600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061230e95505050505050565b6102706001604060020a0360043581169060243516612359565b34156106f657600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506124c3915050565b34156107b157600080fd5b610270600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506125ae915050565b341561081957600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061261b915050565b34156108d457600080fd5b6102706001604060020a0360043516602435612706565b34156108f657600080fd5b61090a6001604060020a036004351661281a565b6040518089600281111561091a57fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b8381101561099b578082015183820152602001610983565b50505050905090810190601f1680156109c85780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156109fe5780820151838201526020016109e6565b50505050905090810190601f168015610a2b5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610a4c57600080fd5b61027060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129df95505050505050565b3415610a9b57600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612a4a915050565b3415610b5657600080fd5b610b5e612b35565b604051600160a060020a03909116815260200160405180910390f35b600080610b85613d6d565b600080610b9187612b44565b91508160020160018703815481101515610ba757fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169450610bdb85612b88565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c8f5780601f10610c6457610100808354040283529160200191610c8f565b820191906000526020600020905b815481529060010190602001808311610c7257829003601f168201915b5050505050925050509250925092565b600080610cab83612b88565b90506000815460ff166002811115610cbf57fe5b1415610cce5760009150610d49565b6002815460ff166002811115610ce057fe5b14610ce757fe5b6003810154608060020a900460ff1615610d045760019150610d49565b6003810154604060020a90046001604060020a03161515610d285760009150610d49565b6003810154610d4690604060020a90046001604060020a0316610c9f565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610d7a57600080fd5b610d8384612b44565b91506001600383015460c060020a900460ff166002811115610da157fe5b14610dab57600080fd5b836001604060020a0316610dbe85612bce565b6001604060020a031614610dd157600080fd5b6001820154600283018054610e8a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610e6457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610e215790505b505050506003860154600091508190608060020a90046001604060020a03166002612c94565b9050610e97848285612f84565b50505050565b600080600080600080600080610eb289612b44565b805460018201546002830154600390930154919c6001604060020a039182169c50929a508082169950604060020a820481169850608060020a820416965060c060020a900460ff16945092505050565b6000806000610f1085611739565b9450610f1b85612b44565b92506000600384015460c060020a900460ff166002811115610f3957fe5b14610f4357600080fd5b6001830154610f5a906001604060020a0316612b88565b915061114f826101006040519081016040528154909190829060ff166002811115610f8157fe5b6002811115610f8c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110fa5780601f106110cf576101008083540402835291602001916110fa565b820191906000526020600020905b8154815290600101906020018083116110dd57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261304d565b6001830154600284018054611208926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161119f5790505b505050506003870154600091508190608060020a90046001604060020a03166001612c94565b9050611215858286612f84565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128a57600080fd5b6102c65a03f1151561129b57600080fd5b5050505050505050565b60008060008060006112b688611739565b97506112c188612b44565b94506112cc86612b88565b93506112d789612b88565b92506112fe836101006040519081016040528154909190829060ff166002811115610f8157fe5b6000600386015460c060020a900460ff16600281111561131a57fe5b1461132457600080fd5b60018501546001604060020a038a8116911614156113b1576000845460ff16600281111561134e57fe5b14156113645761135f888888613094565b6113ac565b6002845460ff16600281111561137657fe5b14156113875761135f8888886130c4565b6001845460ff16600281111561139957fe5b14156113aa5761135f8888886132ed565bfe5b61172e565b6114e28560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561147b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116114385790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156114ce57fe5b60028111156114d957fe5b9052508a613414565b6001604060020a03908116925082146113aa576000845460ff16600281111561150757fe5b14156115385760018501546001604060020a0387811691161461152657fe5b6113ac8888876002018054905061347a565b6001845460ff16600281111561154a57fe5b14156116f4576116818560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561161a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115d75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561166d57fe5b600281111561167857fe5b90525087613414565b6001604060020a0390811691508114156116b7576116ac88886001858960020180549050030361347a565b61135f8888886132ed565b818111156116d6576116ac88886001858960020180549050030361347a565b8181116113ac576113ac88886001848960020180549050030361347a565b6002845460ff16600281111561170657fe5b14156113aa5761172388886001858960020180549050030361347a565b6113ac888888613566565b505050505050505050565b60008060008061174885612b44565b92506000600384015460c060020a900460ff16600281111561176657fe5b14611773578493506118fa565b600383015460006001604060020a039091161180156117ac57506003830154604060020a90046001604060020a03166117aa613889565b115b156118c9576001830154600284018054611869926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118015790505b505050506003870154600091508190608060020a90046001604060020a031681612c94565b60038401549092506118a9906001604060020a0316600060405180591061188d5750595b9080825280602002602001820160405250600080866000612c94565b90506118ba85828560000154612f84565b8094506118c685612b44565b92505b6118d285612bce565b90506001604060020a03808216908616146118f6576118f685828560000154612f84565b8093505b505050919050565b6001805490818082016119158382613d7f565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561199457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516119da929160200190613db0565b506060820151816002019080516119f5929160200190613db0565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b600080805b8351831015610e97576001604060020a03848481518110611b1c57fe5b90602001906020020151169150604060020a848481518110611b3a57fe5b90602001906020020151811515611b4d57fe5b049050611b5a8282610f02565b600190920191611aff565b6000806001604060020a03851615611dbc57611b8085612b88565b90506002815460ff166002811115611b9457fe5b14611b9e57600080fd5b805433600160a060020a039081166101009092041614611bbd57600080fd5b6014611db2826101006040519081016040528154909190829060ff166002811115611be457fe5b6002811115611bef57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611cbb5780601f10611c9057610100808354040283529160200191611cbb565b820191906000526020600020905b815481529060010190602001808311611c9e57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d5d5780601f10611d3257610100808354040283529160200191611d5d565b820191906000526020600020905b815481529060010190602001808311611d4057829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261388d565b10611dbc57600080fd5b60018054925082808201611dd08382613d7f565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115611e5057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611e96929160200190613db0565b50606082015181600201908051611eb1929160200190613db0565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b6000611fba82612b88565b9050611fe1816101006040519081016040528154909190829060ff166002811115610f8157fe5b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25050565b6001805490818082016120508382613d7f565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156120cf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612115929160200190613db0565b50606082015181600201908051612130929160200190613db0565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600080805b8351831015610e97576001604060020a0384848151811061224c57fe5b90602001906020020151169150604060020a84848151811061226a57fe5b9060200190602002015181151561227d57fe5b04905061228a8282610d5a565b60019092019161222f565b6000806122a184611739565b93506122ac84612b44565b60018101549092506122c6906001604060020a0316612b88565b90506122ed816101006040519081016040528154909190829060ff166002811115610f8157fe5b6003820154610e97908590608060020a90046001604060020a031685612f84565b600080805b8351821015612352576001604060020a0384838151811061233057fe5b9060200190602002015116905061234681611739565b50600190910190612313565b5050919050565b60008080806001604060020a038616151561239f5761239c6020604051908101604052806000815250602060405190810160405260008082526203f4809061203d565b95505b6123a886612b88565b93506123cf846101006040519081016040528154909190829060ff166002811115610f8157fe5b6000845460ff1660028111156123e157fe5b146123eb57600080fd5b349250600083116123fb57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561242e57600080fd5b61245d8660006040518059106124415750595b9080825280602002602001820160405250600080600080612c94565b915061246882612b44565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36124bb868385886112a5565b505050505050565b60006124ce86612b88565b90506001815460ff1660028111156124e257fe5b146124ec57600080fd5b805433600160a060020a03908116610100909204161461250b57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161253e929160200190613db0565b5060028101838051612554929160200190613db0565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600080805b84518310156124bb576001604060020a038584815181106125d057fe5b90602001906020020151169150604060020a8584815181106125ee57fe5b9060200190602002015181151561260157fe5b049050612610868383876112a5565b6001909201916125b3565b600061262686612b88565b90506000815460ff16600281111561263a57fe5b1461264457600080fd5b805433600160a060020a03908116610100909204161461266357600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612696929160200190613db0565b50600281018380516126ac929160200190613db0565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b600254600090819033600160a060020a0390811691161461272657600080fd5b61272f84612b44565b91506001600383015460c060020a900460ff16600281111561274d57fe5b1461275757600080fd5b600182015460028301805461280f926001604060020a031691906020808202016040519081016040528092919081815260200182805480156127ea57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127a75790505b505050506003860154600091508190608060020a90046001604060020a031681612c94565b9050610e8a81611739565b600080612825613d6d565b61282d613d6d565b600080600080600061283e8a612b88565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156128f45780601f106128c9576101008083540402835291602001916128f4565b820191906000526020600020905b8154815290600101906020018083116128d757829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129935780601f1061296857610100808354040283529160200191612993565b820191906000526020600020905b81548152906001019060200180831161297657829003601f168201915b5050505060038301546004909301549a9c999b50979990986001604060020a038084169950604060020a8404169750608060020a90920460ff169550600160a060020a03169350915050565b600080805b8351831015610e97576001604060020a03848481518110612a0157fe5b90602001906020020151169150604060020a848481518110612a1f57fe5b90602001906020020151811515612a3257fe5b049050612a3f8282612706565b6001909201916129e4565b6000612a5586612b88565b90506002815460ff166002811115612a6957fe5b14612a7357600080fd5b805433600160a060020a039081166101009092041614612a9257600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ac5929160200190613db0565b5060028101838051612adb929160200190613db0565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b600080546001604060020a03831610612b5c57600080fd5b600080546001604060020a038416908110612b7357fe5b90600052602060002090600402019050919050565b6001546000906001604060020a03831610612ba257600080fd5b600180546001604060020a038416908110612bb957fe5b90600052602060002090600502019050919050565b600080806001604060020a0384161515612beb5760009250612352565b612bf484612b44565b6001810154909250612c0e906001604060020a0316612b88565b90506000815460ff166002811115612c2257fe5b1415612c3057839250612352565b6002815460ff166002811115612c4257fe5b14612c4957fe5b6001820154612c60906001604060020a0316610c9f565b1515612c6e57839250612352565b6003820154612c8c90608060020a90046001604060020a0316612bce565b949350505050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612ce1578082015183820152602001612cc9565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612d4e57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612db757809250612f78565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612df58382613e2e565b9160005260206000209060040201600060e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612e6657fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051612eb1929160200190613e5a565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115612f6c57fe5b02179055505050508092505b50509695505050505050565b6000806000612f9660018787876138f7565b9250846001604060020a0316866001604060020a03161415612fb7576124bb565b821515612fc3576124bb565b612fcc86612b44565b9150612fd785612b44565b825490915083901015612fe957600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361304460008787866138f7565b50505050505050565b8060200151600160a060020a031633600160a060020a0316148061308657508060e00151600160a060020a031633600160a060020a0316145b151561309157600080fd5b50565b6000610e8a8260006040518059106124415750599080825280602002602001820160405250600080600080612c94565b60008060006130d286612b44565b925060146132068460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131a057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161315d5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131f357fe5b60028111156131fe57fe5b90525061391d565b1061321057600080fd5b61321984610c9f565b1561322357600080fd5b60018301546002840180546132b0926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457600091825260209182902080546001604060020a031684529082028301929091600891018084116118015750505050600388015460009250829150608060020a90046001604060020a031681612c94565b91506132e084600060405180591061188d5750599080825280602002602001820160405250600080866000612c94565b90506124bb868287612f84565b60006132f7613d6d565b60008061330387612b44565b60028101549094506014901061331857600080fd5b600284015460010160405180591061332d5750595b90808252806020026020018201604052509250600091505b60028401548210156133b8576002840180548390811061336157fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061339657fe5b6001604060020a03909216602092830290910190910152600190910190613345565b600284015485908490815181106133cb57fe5b6001604060020a039283166020918202909201015260018501546003860154613407929182169186916000918291608060020a90041681612c94565b9050613044878288612f84565b6000805b83604001515181101561346857826001604060020a03168460400151828151811061343f57fe5b906020019060200201516001604060020a0316141561346057809150613473565b600101613418565b6001604060020a0391505b5092915050565b6000613484613d6d565b60008061349087612b44565b60028101549094508590036040518059106134a85750595b90808252806020026020018201604052509250600091505b600284015485900382101561353657600284018054839081106134df57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061351457fe5b6001604060020a039092166020928302909101909101526001909101906134c0565b60018401546003850154613407916001604060020a039081169186916000918291608060020a9091041681612c94565b60008061357285612b44565b915060146136688360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131a057600091825260209182902080546001604060020a0316845290820283019290916008910180841161315d5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131f357fe5b1061367257600080fd5b61367b83610c9f565b1561368557600080fd5b6001820154600283018054613875926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561371857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116136d55790505b50505050508561384e8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156137e857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137a55790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561383b57fe5b600281111561384657fe5b905250613a48565b613856613889565b6003880154910190608060020a90046001604060020a03166000612c94565b9050613882858286612f84565b5050505050565b4290565b60008060028351600281111561389f57fe5b146138a657fe5b8260a001516001604060020a031615156138c35760019150610d49565b6138d08360a00151612b88565b9050610d46816101006040519081016040528154909190829060ff166002811115611be457fe5b806139058585808685613ad2565b90506139148584868685613ad2565b95945050505050565b6000808260a001516001604060020a0316151561393d5760009150610d49565b61394a8360a00151612b44565b9050613a3e8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131a057600091825260209182902080546001604060020a0316845290820283019290916008910180841161315d5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131f357fe5b6001019392505050565b6000806000613a5a8460200151612b88565b60038101546001604060020a031693509150600090505b83604001515181101561235257613aa084604001518281518110613a9157fe5b90602001906020020151612b88565b60038101549092506001604060020a031683901115613aca5760038201546001604060020a031692505b600101613a71565b600080600080866001604060020a0316886001604060020a031614613af957610100613afc565b60005b61ffff169250849350613b0e88612b44565b6001810154909250613b2e908a906001604060020a031689898789613bf0565b9350600090505b60028201546001604060020a0382161015613ba957613b9f8983600201836001604060020a0316815481101515613b6857fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316898985880160010189613bf0565b9350600101613b35565b600382015460006001604060020a039091161115613be4576003820154613be1908a906001604060020a0316898960ff880189613bf0565b93505b50505095945050505050565b80600080613bfd88612b88565b6004810154909150600160a060020a031615801590613c1c5750600083115b15612f78578815613cd7576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b1515613ca657600080fd5b6102c65a03f11515613cb757600080fd5b505050604051805192505082821115613ccf57600080fd5b819250612f78565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b1515613d4d57600080fd5b6102c65a03f11515613d5e57600080fd5b50505050509695505050505050565b60206040519081016040526000815290565b815481835581811511613dab57600502816005028360005260206000209182019101613dab9190613f0e565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613df157805160ff1916838001178555613e1e565b82800160010185558215613e1e579182015b82811115613e1e578251825591602001919060010190613e03565b50613e2a929150613f99565b5090565b815481835581811511613dab57600402816004028360005260206000209182019101613dab9190613fb3565b82805482825590600052602060002090600301600490048101928215613f025791602002820160005b83821115613ecd57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302613e83565b8015613f005782816101000a8154906001604060020a030219169055600801602081600701049283019260010302613ecd565b505b50613e2a929150614013565b610d5791905b80821115613e2a57805474ffffffffffffffffffffffffffffffffffffffffff191681556000613f476001830182614038565b613f55600283016000614038565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501613f14565b610d5791905b80821115613e2a5760008155600101613f9f565b610d5791905b80821115613e2a57600080825560018201805467ffffffffffffffff19169055613fe6600283018261407c565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401613fb9565b610d5791905b80821115613e2a57805467ffffffffffffffff19168155600101614019565b50805460018160011615610100020316600290046000825580601f1061405e5750613091565b601f0160209004906000526020600020908101906130919190613f99565b5080546000825560030160049004906000526020600020908101906130919190613f995600a165627a7a72305820bec48535525533970ba53f4c6f07cbda18c611354eca995dfef2791d29009e6e0029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b604051602080620042f983398101604052808051915081905060016200003781806200006f565b50600162000047600082620000a3565b5060028054600160a060020a031916600160a060020a0392909216919091179055506200023b565b8154818355818115116200009e576005028160050283600052602060002091820191016200009e9190620000d2565b505050565b8154818355818115116200009e576004028160040283600052602060002091820191016200009e919062000146565b6200014391905b808211156200013f578054600160a860020a03191681556000620001016001830182620001b1565b62000111600283016000620001b1565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d9565b5090565b90565b6200014391905b808211156200013f57600080825560018201805467ffffffffffffffff191690556200017d6002830182620001fc565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014d565b50805460018160011615610100020316600290046000825580601f10620001d95750620001f9565b601f016020900490600052602060002090810190620001f991906200021e565b50565b508054600082556003016004900490600052602060002090810190620001f991905b6200014391905b808211156200013f576000815560010162000225565b6140ae806200024b6000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f65780632a8ec8cc146102295780632ee888081461024e5780633f657a461461027257806343387983146102f057806347c5ef431461031257806350f8a8031461034157806352dc7dcc1461037c5780635503d9ba1461042857806357adafb61461043b57806372116e921461048a578063796d5654146105465780637f61fa93146105655780639398f5a214610611578063af9f456314610660578063bce0906d14610682578063bde60ac9146106d1578063cc19ecf7146106eb578063d639cd73146107a6578063db7c23141461080e578063e9c211e2146108c9578063eba8ba06146108eb578063ef3766e414610a41578063f6b24b1c14610a90578063fbfa77cf14610b4b575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610b7a565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101b95780820151838201526020016101a1565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020157600080fd5b6102156001604060020a0360043516610c9f565b604051901515815260200160405180910390f35b341561023457600080fd5b61023c610d4f565b60405190815260200160405180910390f35b341561025957600080fd5b6102706001604060020a0360043516602435610d5a565b005b341561027d57600080fd5b6102916001604060020a0360043516610e9d565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d657fe5b60ff16815260200197505050505050505060405180910390f35b34156102fb57600080fd5b6102706001604060020a0360043516602435610f02565b341561031d57600080fd5b6102706001604060020a0360043581169060243581169060443590606435166112a5565b341561034c57600080fd5b6103606001604060020a0360043516611739565b6040516001604060020a03909116815260200160405180910390f35b341561038757600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611902915050565b341561043357600080fd5b61023c611af0565b341561044657600080fd5b6102706004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611afa95505050505050565b341561049557600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611b659050565b341561055157600080fd5b6102706001604060020a0360043516611f90565b341561057057600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061201e915050565b341561061c57600080fd5b610270600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061220b95505050505050565b341561066b57600080fd5b6102706001604060020a0360043516602435612276565b341561068d57600080fd5b61036060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506122ef95505050505050565b6102706001604060020a036004358116906024351661233a565b34156106f657600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506124a4915050565b34156107b157600080fd5b610270600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a0316925061258f915050565b341561081957600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506125fc915050565b34156108d457600080fd5b6102706001604060020a03600435166024356126e7565b34156108f657600080fd5b61090a6001604060020a03600435166127fb565b6040518089600281111561091a57fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b8381101561099b578082015183820152602001610983565b50505050905090810190601f1680156109c85780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156109fe5780820151838201526020016109e6565b50505050905090810190601f168015610a2b5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610a4c57600080fd5b61027060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129c095505050505050565b3415610a9b57600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612a2b915050565b3415610b5657600080fd5b610b5e612b16565b604051600160a060020a03909116815260200160405180910390f35b600080610b85613d4e565b600080610b9187612b25565b91508160020160018703815481101515610ba757fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169450610bdb85612b69565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c8f5780601f10610c6457610100808354040283529160200191610c8f565b820191906000526020600020905b815481529060010190602001808311610c7257829003601f168201915b5050505050925050509250925092565b600080610cab83612b69565b90506000815460ff166002811115610cbf57fe5b1415610cce5760009150610d49565b6002815460ff166002811115610ce057fe5b14610ce757fe5b6003810154608060020a900460ff1615610d045760019150610d49565b6003810154604060020a90046001604060020a03161515610d285760009150610d49565b6003810154610d4690604060020a90046001604060020a0316610c9f565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610d7a57600080fd5b610d8384612b25565b91506001600383015460c060020a900460ff166002811115610da157fe5b14610dab57600080fd5b836001604060020a0316610dbe85612baf565b6001604060020a031614610dd157600080fd5b6001820154600283018054610e8a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610e6457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610e215790505b505050506003860154600091508190608060020a90046001604060020a03166002612c75565b9050610e97848285612f65565b50505050565b600080600080600080600080610eb289612b25565b805460018201546002830154600390930154919c6001604060020a039182169c50929a508082169950604060020a820481169850608060020a820416965060c060020a900460ff16945092505050565b6000806000610f1085611739565b9450610f1b85612b25565b92506000600384015460c060020a900460ff166002811115610f3957fe5b14610f4357600080fd5b6001830154610f5a906001604060020a0316612b69565b915061114f826101006040519081016040528154909190829060ff166002811115610f8157fe5b6002811115610f8c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110fa5780601f106110cf576101008083540402835291602001916110fa565b820191906000526020600020905b8154815290600101906020018083116110dd57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261302e565b6001830154600284018054611208926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161119f5790505b505050506003870154600091508190608060020a90046001604060020a03166001612c75565b9050611215858286612f65565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128a57600080fd5b6102c65a03f1151561129b57600080fd5b5050505050505050565b60008060008060006112b688611739565b97506112c188612b25565b94506112cc86612b69565b93506112d789612b69565b92506112fe836101006040519081016040528154909190829060ff166002811115610f8157fe5b6000600386015460c060020a900460ff16600281111561131a57fe5b1461132457600080fd5b60018501546001604060020a038a8116911614156113b1576000845460ff16600281111561134e57fe5b14156113645761135f888888613075565b6113ac565b6002845460ff16600281111561137657fe5b14156113875761135f8888886130a5565b6001845460ff16600281111561139957fe5b14156113aa5761135f8888886132ce565bfe5b61172e565b6114e28560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561147b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116114385790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156114ce57fe5b60028111156114d957fe5b9052508a6133f5565b6001604060020a03908116925082146113aa576000845460ff16600281111561150757fe5b14156115385760018501546001604060020a0387811691161461152657fe5b6113ac8888876002018054905061345b565b6001845460ff16600281111561154a57fe5b14156116f4576116818560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561161a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115d75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561166d57fe5b600281111561167857fe5b905250876133f5565b6001604060020a0390811691508114156116b7576116ac88886001858960020180549050030361345b565b61135f8888886132ce565b818111156116d6576116ac88886001858960020180549050030361345b565b8181116113ac576113ac88886001848960020180549050030361345b565b6002845460ff16600281111561170657fe5b14156113aa5761172388886001858960020180549050030361345b565b6113ac888888613547565b505050505050505050565b60008060008061174885612b25565b92506000600384015460c060020a900460ff16600281111561176657fe5b14611773578493506118fa565b600383015460006001604060020a039091161180156117ac57506003830154604060020a90046001604060020a03166117aa61386a565b115b156118c9576001830154600284018054611869926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118015790505b505050506003870154600091508190608060020a90046001604060020a031681612c75565b60038401549092506118a9906001604060020a0316600060405180591061188d5750595b9080825280602002602001820160405250600080866000612c75565b90506118ba85828560000154612f65565b8094506118c685612b25565b92505b6118d285612baf565b90506001604060020a03808216908616146118f6576118f685828560000154612f65565b8093505b505050919050565b6001805490818082016119158382613d60565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561199457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516119da929160200190613d91565b506060820151816002019080516119f5929160200190613d91565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b600080805b8351831015610e97576001604060020a03848481518110611b1c57fe5b90602001906020020151169150604060020a848481518110611b3a57fe5b90602001906020020151811515611b4d57fe5b049050611b5a8282610f02565b600190920191611aff565b6000806001604060020a03851615611d9d57611b8085612b69565b90506002815460ff166002811115611b9457fe5b14611b9e57600080fd5b6014611d93826101006040519081016040528154909190829060ff166002811115611bc557fe5b6002811115611bd057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d3e5780601f10611d1357610100808354040283529160200191611d3e565b820191906000526020600020905b815481529060010190602001808311611d2157829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261386e565b10611d9d57600080fd5b60018054925082808201611db18382613d60565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115611e3157fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611e77929160200190613d91565b50606082015181600201908051611e92929160200190613d91565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b6000611f9b82612b69565b9050611fc2816101006040519081016040528154909190829060ff166002811115610f8157fe5b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25050565b6001805490818082016120318382613d60565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156120b057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516120f6929160200190613d91565b50606082015181600201908051612111929160200190613d91565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600080805b8351831015610e97576001604060020a0384848151811061222d57fe5b90602001906020020151169150604060020a84848151811061224b57fe5b9060200190602002015181151561225e57fe5b04905061226b8282610d5a565b600190920191612210565b60008061228284611739565b935061228d84612b25565b60018101549092506122a7906001604060020a0316612b69565b90506122ce816101006040519081016040528154909190829060ff166002811115610f8157fe5b6003820154610e97908590608060020a90046001604060020a031685612f65565b600080805b8351821015612333576001604060020a0384838151811061231157fe5b9060200190602002015116905061232781611739565b506001909101906122f4565b5050919050565b60008080806001604060020a03861615156123805761237d6020604051908101604052806000815250602060405190810160405260008082526203f4809061201e565b95505b61238986612b69565b93506123b0846101006040519081016040528154909190829060ff166002811115610f8157fe5b6000845460ff1660028111156123c257fe5b146123cc57600080fd5b349250600083116123dc57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561240f57600080fd5b61243e8660006040518059106124225750595b9080825280602002602001820160405250600080600080612c75565b915061244982612b25565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361249c868385886112a5565b505050505050565b60006124af86612b69565b90506001815460ff1660028111156124c357fe5b146124cd57600080fd5b805433600160a060020a0390811661010090920416146124ec57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161251f929160200190613d91565b5060028101838051612535929160200190613d91565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600080805b845183101561249c576001604060020a038584815181106125b157fe5b90602001906020020151169150604060020a8584815181106125cf57fe5b906020019060200201518115156125e257fe5b0490506125f1868383876112a5565b600190920191612594565b600061260786612b69565b90506000815460ff16600281111561261b57fe5b1461262557600080fd5b805433600160a060020a03908116610100909204161461264457600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612677929160200190613d91565b506002810183805161268d929160200190613d91565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b600254600090819033600160a060020a0390811691161461270757600080fd5b61271084612b25565b91506001600383015460c060020a900460ff16600281111561272e57fe5b1461273857600080fd5b60018201546002830180546127f0926001604060020a031691906020808202016040519081016040528092919081815260200182805480156127cb57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127885790505b505050506003860154600091508190608060020a90046001604060020a031681612c75565b9050610e8a81611739565b600080612806613d4e565b61280e613d4e565b600080600080600061281f8a612b69565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156128d55780601f106128aa576101008083540402835291602001916128d5565b820191906000526020600020905b8154815290600101906020018083116128b857829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129745780601f1061294957610100808354040283529160200191612974565b820191906000526020600020905b81548152906001019060200180831161295757829003601f168201915b5050505060038301546004909301549a9c999b50979990986001604060020a038084169950604060020a8404169750608060020a90920460ff169550600160a060020a03169350915050565b600080805b8351831015610e97576001604060020a038484815181106129e257fe5b90602001906020020151169150604060020a848481518110612a0057fe5b90602001906020020151811515612a1357fe5b049050612a2082826126e7565b6001909201916129c5565b6000612a3686612b69565b90506002815460ff166002811115612a4a57fe5b14612a5457600080fd5b805433600160a060020a039081166101009092041614612a7357600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612aa6929160200190613d91565b5060028101838051612abc929160200190613d91565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b600080546001604060020a03831610612b3d57600080fd5b600080546001604060020a038416908110612b5457fe5b90600052602060002090600402019050919050565b6001546000906001604060020a03831610612b8357600080fd5b600180546001604060020a038416908110612b9a57fe5b90600052602060002090600502019050919050565b600080806001604060020a0384161515612bcc5760009250612333565b612bd584612b25565b6001810154909250612bef906001604060020a0316612b69565b90506000815460ff166002811115612c0357fe5b1415612c1157839250612333565b6002815460ff166002811115612c2357fe5b14612c2a57fe5b6001820154612c41906001604060020a0316610c9f565b1515612c4f57839250612333565b6003820154612c6d90608060020a90046001604060020a0316612baf565b949350505050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612cc2578082015183820152602001612caa565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612d2f57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612d9857809250612f59565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612dd68382613e0f565b9160005260206000209060040201600060e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612e4757fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051612e92929160200190613e3b565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115612f4d57fe5b02179055505050508092505b50509695505050505050565b6000806000612f7760018787876138d8565b9250846001604060020a0316866001604060020a03161415612f985761249c565b821515612fa45761249c565b612fad86612b25565b9150612fb885612b25565b825490915083901015612fca57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361302560008787866138d8565b50505050505050565b8060200151600160a060020a031633600160a060020a0316148061306757508060e00151600160a060020a031633600160a060020a0316145b151561307257600080fd5b50565b6000610e8a8260006040518059106124225750599080825280602002602001820160405250600080600080612c75565b60008060006130b386612b25565b925060146131e78460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561318157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161313e5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131d457fe5b60028111156131df57fe5b9052506138fe565b106131f157600080fd5b6131fa84610c9f565b1561320457600080fd5b6001830154600284018054613291926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457600091825260209182902080546001604060020a031684529082028301929091600891018084116118015750505050600388015460009250829150608060020a90046001604060020a031681612c75565b91506132c184600060405180591061188d5750599080825280602002602001820160405250600080866000612c75565b905061249c868287612f65565b60006132d8613d4e565b6000806132e487612b25565b6002810154909450601490106132f957600080fd5b600284015460010160405180591061330e5750595b90808252806020026020018201604052509250600091505b6002840154821015613399576002840180548390811061334257fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061337757fe5b6001604060020a03909216602092830290910190910152600190910190613326565b600284015485908490815181106133ac57fe5b6001604060020a0392831660209182029092010152600185015460038601546133e8929182169186916000918291608060020a90041681612c75565b9050613025878288612f65565b6000805b83604001515181101561344957826001604060020a03168460400151828151811061342057fe5b906020019060200201516001604060020a0316141561344157809150613454565b6001016133f9565b6001604060020a0391505b5092915050565b6000613465613d4e565b60008061347187612b25565b60028101549094508590036040518059106134895750595b90808252806020026020018201604052509250600091505b600284015485900382101561351757600284018054839081106134c057fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03168383815181106134f557fe5b6001604060020a039092166020928302909101909101526001909101906134a1565b600184015460038501546133e8916001604060020a039081169186916000918291608060020a9091041681612c75565b60008061355385612b25565b915060146136498360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561318157600091825260209182902080546001604060020a0316845290820283019290916008910180841161313e5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131d457fe5b1061365357600080fd5b61365c83610c9f565b1561366657600080fd5b6001820154600283018054613856926001604060020a031691906020808202016040519081016040528092919081815260200182805480156136f957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116136b65790505b50505050508561382f8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156137c957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137865790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561381c57fe5b600281111561382757fe5b905250613a29565b61383761386a565b6003880154910190608060020a90046001604060020a03166000612c75565b9050613863858286612f65565b5050505050565b4290565b60008060028351600281111561388057fe5b1461388757fe5b8260a001516001604060020a031615156138a45760019150610d49565b6138b18360a00151612b69565b9050610d46816101006040519081016040528154909190829060ff166002811115611bc557fe5b806138e68585808685613ab3565b90506138f58584868685613ab3565b95945050505050565b6000808260a001516001604060020a0316151561391e5760009150610d49565b61392b8360a00151612b25565b9050613a1f8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561318157600091825260209182902080546001604060020a0316845290820283019290916008910180841161313e5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131d457fe5b6001019392505050565b6000806000613a3b8460200151612b69565b60038101546001604060020a031693509150600090505b83604001515181101561233357613a8184604001518281518110613a7257fe5b90602001906020020151612b69565b60038101549092506001604060020a031683901115613aab5760038201546001604060020a031692505b600101613a52565b600080600080866001604060020a0316886001604060020a031614613ada57610100613add565b60005b61ffff169250849350613aef88612b25565b6001810154909250613b0f908a906001604060020a031689898789613bd1565b9350600090505b60028201546001604060020a0382161015613b8a57613b808983600201836001604060020a0316815481101515613b4957fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316898985880160010189613bd1565b9350600101613b16565b600382015460006001604060020a039091161115613bc5576003820154613bc2908a906001604060020a0316898960ff880189613bd1565b93505b50505095945050505050565b80600080613bde88612b69565b6004810154909150600160a060020a031615801590613bfd5750600083115b15612f59578815613cb8576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b1515613c8757600080fd5b6102c65a03f11515613c9857600080fd5b505050604051805192505082821115613cb057600080fd5b819250612f59565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b1515613d2e57600080fd5b6102c65a03f11515613d3f57600080fd5b50505050509695505050505050565b60206040519081016040526000815290565b815481835581811511613d8c57600502816005028360005260206000209182019101613d8c9190613eef565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613dd257805160ff1916838001178555613dff565b82800160010185558215613dff579182015b82811115613dff578251825591602001919060010190613de4565b50613e0b929150613f7a565b5090565b815481835581811511613d8c57600402816004028360005260206000209182019101613d8c9190613f94565b82805482825590600052602060002090600301600490048101928215613ee35791602002820160005b83821115613eae57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302613e64565b8015613ee15782816101000a8154906001604060020a030219169055600801602081600701049283019260010302613eae565b505b50613e0b929150613ff4565b610d5791905b80821115613e0b57805474ffffffffffffffffffffffffffffffffffffffffff191681556000613f286001830182614019565b613f36600283016000614019565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501613ef5565b610d5791905b80821115613e0b5760008155600101613f80565b610d5791905b80821115613e0b57600080825560018201805467ffffffffffffffff19169055613fc7600283018261405d565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401613f9a565b610d5791905b80821115613e0b57805467ffffffffffffffff19168155600101613ffa565b50805460018160011615610100020316600290046000825580601f1061403f5750613072565b601f0160209004906000526020600020908101906130729190613f7a565b5080546000825560030160049004906000526020600020908101906130729190613f7a5600a165627a7a72305820440eafb8d706c70cd0048387367a79af9d70e947c63fccaafa1ea5018188a8a60029" 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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","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 = "0x606060405234156200001057600080fd5b60405160208062001ccd833981016040528080519150600190506200003681806200006d565b50600162000046600082620000a1565b5060028054600160a060020a031916600160a060020a039290921691909117905562000239565b8154818355818115116200009c576005028160050283600052602060002091820191016200009c9190620000d0565b505050565b8154818355818115116200009c576004028160040283600052602060002091820191016200009c919062000144565b6200014191905b808211156200013d578054600160a860020a03191681556000620000ff6001830182620001af565b6200010f600283016000620001af565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b6002830182620001fa565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b50805460018160011615610100020316600290046000825580601f10620001d75750620001f7565b601f016020900490600052602060002090810190620001f791906200021c565b50565b508054600082556003016004900490600052602060002090810190620001f791905b6200014191905b808211156200013d576000815560010162000223565b611a8480620002496000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101825780632a8ec8cc146101b65780633f657a46146101db57806352dc7dcc1461025b5780635503d9ba1461032557806372116e92146103385780637f61fa93146103f5578063cc19ecf7146104a2578063db7c231414610561578063eba8ba061461061e578063f6b24b1c14610776578063fbfa77cf14610833575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff60043516602435610862565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561014557808201518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018d57600080fd5b6101a267ffffffffffffffff60043516610988565b604051901515815260200160405180910390f35b34156101c157600080fd5b6101c9610a44565b60405190815260200160405180910390f35b34156101e657600080fd5b6101fb67ffffffffffffffff60043516610a4f565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024157fe5b60ff16815260200197505050505050505060405180910390f35b341561026657600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610acf915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033057600080fd5b6101c9610cc2565b341561034357600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610ccc9050565b341561040057600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611122915050565b34156104ad57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611314915050565b005b341561056c57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611400915050565b341561062957600080fd5b61063e67ffffffffffffffff600435166114ec565b6040518089600281111561064e57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156106d05780820151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b8381101561073357808201518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561078157600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506116b7915050565b341561083e57600080fd5b6108466117a3565b604051600160a060020a03909116815260200160405180910390f35b60008061086d6118ab565b600080610879876117b2565b9150816002016001870381548110151561088f57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1694506108c4856117f8565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109785780601f1061094d57610100808354040283529160200191610978565b820191906000526020600020905b81548152906001019060200180831161095b57829003601f168201915b5050505050925050509250925092565b600080610994836117f8565b90506000815460ff1660028111156109a857fe5b14156109b75760009150610a3e565b6002815460ff1660028111156109c957fe5b146109d057fe5b6003810154608060020a900460ff16156109ed5760019150610a3e565b600381015468010000000000000000900467ffffffffffffffff161515610a175760009150610a3e565b6003810154610a3b9068010000000000000000900467ffffffffffffffff16610988565b91505b50919050565b600054600019015b90565b600080600080600080600080610a64896117b2565b805460018201546002830154600390930154919c67ffffffffffffffff9182169c50929a50808216995068010000000000000000820481169850608060020a82041696507801000000000000000000000000000000000000000000000000900460ff16945092505050565b600180549081808201610ae283826118bd565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610b6257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610ba89291602001906118ee565b50606082015181600201908051610bc39291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b60008067ffffffffffffffff851615610f2a57610ce8856117f8565b90506002815460ff166002811115610cfc57fe5b14610d0657600080fd5b805433600160a060020a039081166101009092041614610d2557600080fd5b6014610f20826101006040519081016040528154909190829060ff166002811115610d4c57fe5b6002811115610d5757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e235780601f10610df857610100808354040283529160200191610e23565b820191906000526020600020905b815481529060010190602001808311610e0657829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec55780601f10610e9a57610100808354040283529160200191610ec5565b820191906000526020600020905b815481529060010190602001808311610ea857829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152611840565b10610f2a57600080fd5b60018054925082808201610f3e83826118bd565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610fbf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110059291602001906118ee565b506060820151816002019080516110209291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b60018054908180820161113583826118bd565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156111b557fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516111fb9291602001906118ee565b506060820151816002019080516112169291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600061131f866117f8565b90506001815460ff16600281111561133357fe5b1461133d57600080fd5b805433600160a060020a03908116610100909204161461135c57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161138f9291602001906118ee565b50600281018380516113a59291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600061140b866117f8565b90506000815460ff16600281111561141f57fe5b1461142957600080fd5b805433600160a060020a03908116610100909204161461144857600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161147b9291602001906118ee565b50600281018380516114919291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b6000806114f76118ab565b6114ff6118ab565b60008060008060006115108a6117f8565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156115c65780601f1061159b576101008083540402835291602001916115c6565b820191906000526020600020905b8154815290600101906020018083116115a957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116655780601f1061163a57610100808354040283529160200191611665565b820191906000526020600020905b81548152906001019060200180831161164857829003601f168201915b5050505060038301546004909301549a9c999b509799909867ffffffffffffffff8084169950680100000000000000008404169750608060020a90920460ff169550600160a060020a03169350915050565b60006116c2866117f8565b90506002815460ff1660028111156116d657fe5b146116e057600080fd5b805433600160a060020a0390811661010090920416146116ff57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516117329291602001906118ee565b50600281018380516117489291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff8316106117cb57600080fd5b6000805467ffffffffffffffff84169081106117e357fe5b90600052602060002090600402019050919050565b60015460009067ffffffffffffffff83161061181357600080fd5b6001805467ffffffffffffffff841690811061182b57fe5b90600052602060002090600502019050919050565b60008060028351600281111561185257fe5b1461185957fe5b8260a0015167ffffffffffffffff1615156118775760019150610a3e565b6118848360a001516117f8565b9050610a3b816101006040519081016040528154909190829060ff166002811115610d4c57fe5b60206040519081016040526000815290565b8154818355818115116118e9576005028160050283600052602060002091820191016118e9919061196c565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061192f57805160ff191683800117855561195c565b8280016001018555821561195c579182015b8281111561195c578251825591602001919060010190611941565b506119689291506119f7565b5090565b610a4c91905b8082111561196857805474ffffffffffffffffffffffffffffffffffffffffff1916815560006119a56001830182611a11565b6119b3600283016000611a11565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611972565b610a4c91905b8082111561196857600081556001016119fd565b50805460018160011615610100020316600290046000825580601f10611a375750611a55565b601f016020900490600052602060002090810190611a5591906119f7565b505600a165627a7a723058204ccf2be49411bfe224a6642b6216a2d3fa0d2453c182fe0aae6663468683394f0029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001cae833981016040528080519150600190506200003681806200006d565b50600162000046600082620000a1565b5060028054600160a060020a031916600160a060020a039290921691909117905562000239565b8154818355818115116200009c576005028160050283600052602060002091820191016200009c9190620000d0565b505050565b8154818355818115116200009c576004028160040283600052602060002091820191016200009c919062000144565b6200014191905b808211156200013d578054600160a860020a03191681556000620000ff6001830182620001af565b6200010f600283016000620001af565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b6002830182620001fa565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b50805460018160011615610100020316600290046000825580601f10620001d75750620001f7565b601f016020900490600052602060002090810190620001f791906200021c565b50565b508054600082556003016004900490600052602060002090810190620001f791905b6200014191905b808211156200013d576000815560010162000223565b611a6580620002496000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101825780632a8ec8cc146101b65780633f657a46146101db57806352dc7dcc1461025b5780635503d9ba1461032557806372116e92146103385780637f61fa93146103f5578063cc19ecf7146104a2578063db7c231414610561578063eba8ba061461061e578063f6b24b1c14610776578063fbfa77cf14610833575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff60043516602435610862565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561014557808201518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018d57600080fd5b6101a267ffffffffffffffff60043516610988565b604051901515815260200160405180910390f35b34156101c157600080fd5b6101c9610a44565b60405190815260200160405180910390f35b34156101e657600080fd5b6101fb67ffffffffffffffff60043516610a4f565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024157fe5b60ff16815260200197505050505050505060405180910390f35b341561026657600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610acf915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033057600080fd5b6101c9610cc2565b341561034357600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610ccc9050565b341561040057600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611103915050565b34156104ad57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506112f5915050565b005b341561056c57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506113e1915050565b341561062957600080fd5b61063e67ffffffffffffffff600435166114cd565b6040518089600281111561064e57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156106d05780820151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b8381101561073357808201518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561078157600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611698915050565b341561083e57600080fd5b610846611784565b604051600160a060020a03909116815260200160405180910390f35b60008061086d61188c565b60008061087987611793565b9150816002016001870381548110151561088f57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1694506108c4856117d9565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109785780601f1061094d57610100808354040283529160200191610978565b820191906000526020600020905b81548152906001019060200180831161095b57829003601f168201915b5050505050925050509250925092565b600080610994836117d9565b90506000815460ff1660028111156109a857fe5b14156109b75760009150610a3e565b6002815460ff1660028111156109c957fe5b146109d057fe5b6003810154608060020a900460ff16156109ed5760019150610a3e565b600381015468010000000000000000900467ffffffffffffffff161515610a175760009150610a3e565b6003810154610a3b9068010000000000000000900467ffffffffffffffff16610988565b91505b50919050565b600054600019015b90565b600080600080600080600080610a6489611793565b805460018201546002830154600390930154919c67ffffffffffffffff9182169c50929a50808216995068010000000000000000820481169850608060020a82041696507801000000000000000000000000000000000000000000000000900460ff16945092505050565b600180549081808201610ae2838261189e565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610b6257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610ba89291602001906118cf565b50606082015181600201908051610bc39291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b60008067ffffffffffffffff851615610f0b57610ce8856117d9565b90506002815460ff166002811115610cfc57fe5b14610d0657600080fd5b6014610f01826101006040519081016040528154909190829060ff166002811115610d2d57fe5b6002811115610d3857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea65780601f10610e7b57610100808354040283529160200191610ea6565b820191906000526020600020905b815481529060010190602001808311610e8957829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152611821565b10610f0b57600080fd5b60018054925082808201610f1f838261189e565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610fa057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fe69291602001906118cf565b506060820151816002019080516110019291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b600180549081808201611116838261189e565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561119657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516111dc9291602001906118cf565b506060820151816002019080516111f79291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b6000611300866117d9565b90506001815460ff16600281111561131457fe5b1461131e57600080fd5b805433600160a060020a03908116610100909204161461133d57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113709291602001906118cf565b50600281018380516113869291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b60006113ec866117d9565b90506000815460ff16600281111561140057fe5b1461140a57600080fd5b805433600160a060020a03908116610100909204161461142957600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161145c9291602001906118cf565b50600281018380516114729291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b6000806114d861188c565b6114e061188c565b60008060008060006114f18a6117d9565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156115a75780601f1061157c576101008083540402835291602001916115a7565b820191906000526020600020905b81548152906001019060200180831161158a57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116465780601f1061161b57610100808354040283529160200191611646565b820191906000526020600020905b81548152906001019060200180831161162957829003601f168201915b5050505060038301546004909301549a9c999b509799909867ffffffffffffffff8084169950680100000000000000008404169750608060020a90920460ff169550600160a060020a03169350915050565b60006116a3866117d9565b90506002815460ff1660028111156116b757fe5b146116c157600080fd5b805433600160a060020a0390811661010090920416146116e057600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516117139291602001906118cf565b50600281018380516117299291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff8316106117ac57600080fd5b6000805467ffffffffffffffff84169081106117c457fe5b90600052602060002090600402019050919050565b60015460009067ffffffffffffffff8316106117f457600080fd5b6001805467ffffffffffffffff841690811061180c57fe5b90600052602060002090600502019050919050565b60008060028351600281111561183357fe5b1461183a57fe5b8260a0015167ffffffffffffffff1615156118585760019150610a3e565b6118658360a001516117d9565b9050610a3b816101006040519081016040528154909190829060ff166002811115610d2d57fe5b60206040519081016040526000815290565b8154818355818115116118ca576005028160050283600052602060002091820191016118ca919061194d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061191057805160ff191683800117855561193d565b8280016001018555821561193d579182015b8281111561193d578251825591602001919060010190611922565b506119499291506119d8565b5090565b610a4c91905b8082111561194957805474ffffffffffffffffffffffffffffffffffffffffff19168155600061198660018301826119f2565b6119946002830160006119f2565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611953565b610a4c91905b8082111561194957600081556001016119de565b50805460018160011615610100020316600290046000825580601f10611a185750611a36565b601f016020900490600052602060002090810190611a3691906119d8565b505600a165627a7a72305820db36d92ba5845ca16a80a1b7027c3eeb2b1a9c80bf65b9232321b335cdf3849a0029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.17+commit.bdeb9e52.Emscripten.clang" -exports._sha256 = "0xd885a6e34cba3b350c61533518dfe4468e05e3e38a04f96e3d371a1f660bddd4" +exports._sha256 = "0x1e1e2675e00984637f773db3488b613e3c35a7570bc0c98a73cd5c0890c96e3e" diff --git a/build/LiquidPledgingBase.sol.js b/build/LiquidPledgingBase.sol.js index 63e15e2..c6bbc90 100644 --- a/build/LiquidPledgingBase.sol.js +++ b/build/LiquidPledgingBase.sol.js @@ -3,8 +3,8 @@ 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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" 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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","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 = "0x606060405234156200001057600080fd5b60405160208062001ccd833981016040528080519150600190506200003681806200006d565b50600162000046600082620000a1565b5060028054600160a060020a031916600160a060020a039290921691909117905562000239565b8154818355818115116200009c576005028160050283600052602060002091820191016200009c9190620000d0565b505050565b8154818355818115116200009c576004028160040283600052602060002091820191016200009c919062000144565b6200014191905b808211156200013d578054600160a860020a03191681556000620000ff6001830182620001af565b6200010f600283016000620001af565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b6002830182620001fa565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b50805460018160011615610100020316600290046000825580601f10620001d75750620001f7565b601f016020900490600052602060002090810190620001f791906200021c565b50565b508054600082556003016004900490600052602060002090810190620001f791905b6200014191905b808211156200013d576000815560010162000223565b611a8480620002496000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101825780632a8ec8cc146101b65780633f657a46146101db57806352dc7dcc1461025b5780635503d9ba1461032557806372116e92146103385780637f61fa93146103f5578063cc19ecf7146104a2578063db7c231414610561578063eba8ba061461061e578063f6b24b1c14610776578063fbfa77cf14610833575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff60043516602435610862565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561014557808201518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018d57600080fd5b6101a267ffffffffffffffff60043516610988565b604051901515815260200160405180910390f35b34156101c157600080fd5b6101c9610a44565b60405190815260200160405180910390f35b34156101e657600080fd5b6101fb67ffffffffffffffff60043516610a4f565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024157fe5b60ff16815260200197505050505050505060405180910390f35b341561026657600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610acf915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033057600080fd5b6101c9610cc2565b341561034357600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610ccc9050565b341561040057600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611122915050565b34156104ad57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611314915050565b005b341561056c57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611400915050565b341561062957600080fd5b61063e67ffffffffffffffff600435166114ec565b6040518089600281111561064e57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156106d05780820151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b8381101561073357808201518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561078157600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506116b7915050565b341561083e57600080fd5b6108466117a3565b604051600160a060020a03909116815260200160405180910390f35b60008061086d6118ab565b600080610879876117b2565b9150816002016001870381548110151561088f57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1694506108c4856117f8565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109785780601f1061094d57610100808354040283529160200191610978565b820191906000526020600020905b81548152906001019060200180831161095b57829003601f168201915b5050505050925050509250925092565b600080610994836117f8565b90506000815460ff1660028111156109a857fe5b14156109b75760009150610a3e565b6002815460ff1660028111156109c957fe5b146109d057fe5b6003810154608060020a900460ff16156109ed5760019150610a3e565b600381015468010000000000000000900467ffffffffffffffff161515610a175760009150610a3e565b6003810154610a3b9068010000000000000000900467ffffffffffffffff16610988565b91505b50919050565b600054600019015b90565b600080600080600080600080610a64896117b2565b805460018201546002830154600390930154919c67ffffffffffffffff9182169c50929a50808216995068010000000000000000820481169850608060020a82041696507801000000000000000000000000000000000000000000000000900460ff16945092505050565b600180549081808201610ae283826118bd565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610b6257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610ba89291602001906118ee565b50606082015181600201908051610bc39291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b60008067ffffffffffffffff851615610f2a57610ce8856117f8565b90506002815460ff166002811115610cfc57fe5b14610d0657600080fd5b805433600160a060020a039081166101009092041614610d2557600080fd5b6014610f20826101006040519081016040528154909190829060ff166002811115610d4c57fe5b6002811115610d5757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e235780601f10610df857610100808354040283529160200191610e23565b820191906000526020600020905b815481529060010190602001808311610e0657829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec55780601f10610e9a57610100808354040283529160200191610ec5565b820191906000526020600020905b815481529060010190602001808311610ea857829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152611840565b10610f2a57600080fd5b60018054925082808201610f3e83826118bd565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610fbf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110059291602001906118ee565b506060820151816002019080516110209291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b60018054908180820161113583826118bd565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156111b557fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516111fb9291602001906118ee565b506060820151816002019080516112169291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600061131f866117f8565b90506001815460ff16600281111561133357fe5b1461133d57600080fd5b805433600160a060020a03908116610100909204161461135c57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161138f9291602001906118ee565b50600281018380516113a59291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600061140b866117f8565b90506000815460ff16600281111561141f57fe5b1461142957600080fd5b805433600160a060020a03908116610100909204161461144857600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161147b9291602001906118ee565b50600281018380516114919291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b6000806114f76118ab565b6114ff6118ab565b60008060008060006115108a6117f8565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156115c65780601f1061159b576101008083540402835291602001916115c6565b820191906000526020600020905b8154815290600101906020018083116115a957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116655780601f1061163a57610100808354040283529160200191611665565b820191906000526020600020905b81548152906001019060200180831161164857829003601f168201915b5050505060038301546004909301549a9c999b509799909867ffffffffffffffff8084169950680100000000000000008404169750608060020a90920460ff169550600160a060020a03169350915050565b60006116c2866117f8565b90506002815460ff1660028111156116d657fe5b146116e057600080fd5b805433600160a060020a0390811661010090920416146116ff57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516117329291602001906118ee565b50600281018380516117489291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff8316106117cb57600080fd5b6000805467ffffffffffffffff84169081106117e357fe5b90600052602060002090600402019050919050565b60015460009067ffffffffffffffff83161061181357600080fd5b6001805467ffffffffffffffff841690811061182b57fe5b90600052602060002090600502019050919050565b60008060028351600281111561185257fe5b1461185957fe5b8260a0015167ffffffffffffffff1615156118775760019150610a3e565b6118848360a001516117f8565b9050610a3b816101006040519081016040528154909190829060ff166002811115610d4c57fe5b60206040519081016040526000815290565b8154818355818115116118e9576005028160050283600052602060002091820191016118e9919061196c565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061192f57805160ff191683800117855561195c565b8280016001018555821561195c579182015b8281111561195c578251825591602001919060010190611941565b506119689291506119f7565b5090565b610a4c91905b8082111561196857805474ffffffffffffffffffffffffffffffffffffffffff1916815560006119a56001830182611a11565b6119b3600283016000611a11565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611972565b610a4c91905b8082111561196857600081556001016119fd565b50805460018160011615610100020316600290046000825580601f10611a375750611a55565b601f016020900490600052602060002090810190611a5591906119f7565b505600a165627a7a72305820ac6ccf50f8fadec0b26bc1b9dd568b2f66e7e329f7ca0cb02e620b95252c47290029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001cae833981016040528080519150600190506200003681806200006d565b50600162000046600082620000a1565b5060028054600160a060020a031916600160a060020a039290921691909117905562000239565b8154818355818115116200009c576005028160050283600052602060002091820191016200009c9190620000d0565b505050565b8154818355818115116200009c576004028160040283600052602060002091820191016200009c919062000144565b6200014191905b808211156200013d578054600160a860020a03191681556000620000ff6001830182620001af565b6200010f600283016000620001af565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b6002830182620001fa565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b50805460018160011615610100020316600290046000825580601f10620001d75750620001f7565b601f016020900490600052602060002090810190620001f791906200021c565b50565b508054600082556003016004900490600052602060002090810190620001f791905b6200014191905b808211156200013d576000815560010162000223565b611a6580620002496000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101825780632a8ec8cc146101b65780633f657a46146101db57806352dc7dcc1461025b5780635503d9ba1461032557806372116e92146103385780637f61fa93146103f5578063cc19ecf7146104a2578063db7c231414610561578063eba8ba061461061e578063f6b24b1c14610776578063fbfa77cf14610833575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff60043516602435610862565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561014557808201518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018d57600080fd5b6101a267ffffffffffffffff60043516610988565b604051901515815260200160405180910390f35b34156101c157600080fd5b6101c9610a44565b60405190815260200160405180910390f35b34156101e657600080fd5b6101fb67ffffffffffffffff60043516610a4f565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024157fe5b60ff16815260200197505050505050505060405180910390f35b341561026657600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610acf915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033057600080fd5b6101c9610cc2565b341561034357600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610ccc9050565b341561040057600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611103915050565b34156104ad57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506112f5915050565b005b341561056c57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506113e1915050565b341561062957600080fd5b61063e67ffffffffffffffff600435166114cd565b6040518089600281111561064e57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156106d05780820151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b8381101561073357808201518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561078157600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611698915050565b341561083e57600080fd5b610846611784565b604051600160a060020a03909116815260200160405180910390f35b60008061086d61188c565b60008061087987611793565b9150816002016001870381548110151561088f57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1694506108c4856117d9565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109785780601f1061094d57610100808354040283529160200191610978565b820191906000526020600020905b81548152906001019060200180831161095b57829003601f168201915b5050505050925050509250925092565b600080610994836117d9565b90506000815460ff1660028111156109a857fe5b14156109b75760009150610a3e565b6002815460ff1660028111156109c957fe5b146109d057fe5b6003810154608060020a900460ff16156109ed5760019150610a3e565b600381015468010000000000000000900467ffffffffffffffff161515610a175760009150610a3e565b6003810154610a3b9068010000000000000000900467ffffffffffffffff16610988565b91505b50919050565b600054600019015b90565b600080600080600080600080610a6489611793565b805460018201546002830154600390930154919c67ffffffffffffffff9182169c50929a50808216995068010000000000000000820481169850608060020a82041696507801000000000000000000000000000000000000000000000000900460ff16945092505050565b600180549081808201610ae2838261189e565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610b6257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610ba89291602001906118cf565b50606082015181600201908051610bc39291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b60008067ffffffffffffffff851615610f0b57610ce8856117d9565b90506002815460ff166002811115610cfc57fe5b14610d0657600080fd5b6014610f01826101006040519081016040528154909190829060ff166002811115610d2d57fe5b6002811115610d3857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea65780601f10610e7b57610100808354040283529160200191610ea6565b820191906000526020600020905b815481529060010190602001808311610e8957829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152611821565b10610f0b57600080fd5b60018054925082808201610f1f838261189e565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610fa057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fe69291602001906118cf565b506060820151816002019080516110019291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b600180549081808201611116838261189e565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561119657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516111dc9291602001906118cf565b506060820151816002019080516111f79291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b6000611300866117d9565b90506001815460ff16600281111561131457fe5b1461131e57600080fd5b805433600160a060020a03908116610100909204161461133d57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113709291602001906118cf565b50600281018380516113869291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b60006113ec866117d9565b90506000815460ff16600281111561140057fe5b1461140a57600080fd5b805433600160a060020a03908116610100909204161461142957600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161145c9291602001906118cf565b50600281018380516114729291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b6000806114d861188c565b6114e061188c565b60008060008060006114f18a6117d9565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156115a75780601f1061157c576101008083540402835291602001916115a7565b820191906000526020600020905b81548152906001019060200180831161158a57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116465780601f1061161b57610100808354040283529160200191611646565b820191906000526020600020905b81548152906001019060200180831161162957829003601f168201915b5050505060038301546004909301549a9c999b509799909867ffffffffffffffff8084169950680100000000000000008404169750608060020a90920460ff169550600160a060020a03169350915050565b60006116a3866117d9565b90506002815460ff1660028111156116b757fe5b146116c157600080fd5b805433600160a060020a0390811661010090920416146116e057600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516117139291602001906118cf565b50600281018380516117299291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff8316106117ac57600080fd5b6000805467ffffffffffffffff84169081106117c457fe5b90600052602060002090600402019050919050565b60015460009067ffffffffffffffff8316106117f457600080fd5b6001805467ffffffffffffffff841690811061180c57fe5b90600052602060002090600502019050919050565b60008060028351600281111561183357fe5b1461183a57fe5b8260a0015167ffffffffffffffff1615156118585760019150610a3e565b6118658360a001516117d9565b9050610a3b816101006040519081016040528154909190829060ff166002811115610d2d57fe5b60206040519081016040526000815290565b8154818355818115116118ca576005028160050283600052602060002091820191016118ca919061194d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061191057805160ff191683800117855561193d565b8280016001018555821561193d579182015b8281111561193d578251825591602001919060010190611922565b506119499291506119d8565b5090565b610a4c91905b8082111561194957805474ffffffffffffffffffffffffffffffffffffffffff19168155600061198660018301826119f2565b6119946002830160006119f2565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611953565b610a4c91905b8082111561194957600081556001016119de565b50805460018160011615610100020316600290046000825580601f10611a185750611a36565b601f016020900490600052602060002090810190611a3691906119d8565b505600a165627a7a7230582052f82c2965983fee315bd16360143900bc5e7155294cea167fd46ed1456f2ca20029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.17+commit.bdeb9e52.Emscripten.clang" -exports._sha256 = "0x2fc54776ce620e647df85aa7d5eb74388c0b7ff7a7df4fe2b001efa7a0129adc" +exports._sha256 = "0x4015d9fdc97a031838e6efed18f8963efc7f634dfd0f0c3a0077ef4dec1ada6b" diff --git a/build/LiquidPledgingBase_all.sol b/build/LiquidPledgingBase_all.sol index d3abd2d..656eed3 100644 --- a/build/LiquidPledgingBase_all.sol +++ b/build/LiquidPledgingBase_all.sol @@ -197,7 +197,6 @@ contract LiquidPledgingBase { if (parentProject != 0) { PledgeAdmin storage pa = findAdmin(parentProject); require(pa.adminType == PledgeAdminType.Project); - require(pa.addr == msg.sender); require(getProjectLevel(pa) < MAX_SUBPROJECT_LEVEL); } diff --git a/build/LiquidPledgingMock.sol.js b/build/LiquidPledgingMock.sol.js index a554790..0edce92 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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"}],"name":"cancelProject","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"stateMutability":"payable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","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 = "0x606060405234156200001057600080fd5b6040516020806200431883398101604052808051915081905060016200003781806200006f565b50600162000047600082620000a3565b5060028054600160a060020a031916600160a060020a0392909216919091179055506200023b565b8154818355818115116200009e576005028160050283600052602060002091820191016200009e9190620000d2565b505050565b8154818355818115116200009e576004028160040283600052602060002091820191016200009e919062000146565b6200014391905b808211156200013f578054600160a860020a03191681556000620001016001830182620001b1565b62000111600283016000620001b1565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d9565b5090565b90565b6200014391905b808211156200013f57600080825560018201805467ffffffffffffffff191690556200017d6002830182620001fc565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014d565b50805460018160011615610100020316600290046000825580601f10620001d95750620001f9565b601f016020900490600052602060002090810190620001f991906200021e565b50565b508054600082556003016004900490600052602060002090810190620001f991905b6200014391905b808211156200013f576000815560010162000225565b6140cd806200024b6000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f65780632a8ec8cc146102295780632ee888081461024e5780633f657a461461027257806343387983146102f057806347c5ef431461031257806350f8a8031461034157806352dc7dcc1461037c5780635503d9ba1461042857806357adafb61461043b57806372116e921461048a578063796d5654146105465780637f61fa93146105655780639398f5a214610611578063af9f456314610660578063bce0906d14610682578063bde60ac9146106d1578063cc19ecf7146106eb578063d639cd73146107a6578063db7c23141461080e578063e9c211e2146108c9578063eba8ba06146108eb578063ef3766e414610a41578063f6b24b1c14610a90578063fbfa77cf14610b4b575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610b7a565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101b95780820151838201526020016101a1565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020157600080fd5b6102156001604060020a0360043516610c9f565b604051901515815260200160405180910390f35b341561023457600080fd5b61023c610d4f565b60405190815260200160405180910390f35b341561025957600080fd5b6102706001604060020a0360043516602435610d5a565b005b341561027d57600080fd5b6102916001604060020a0360043516610e9d565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d657fe5b60ff16815260200197505050505050505060405180910390f35b34156102fb57600080fd5b6102706001604060020a0360043516602435610f02565b341561031d57600080fd5b6102706001604060020a0360043581169060243581169060443590606435166112a5565b341561034c57600080fd5b6103606001604060020a0360043516611739565b6040516001604060020a03909116815260200160405180910390f35b341561038757600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611902915050565b341561043357600080fd5b61023c611af0565b341561044657600080fd5b6102706004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611afa95505050505050565b341561049557600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611b659050565b341561055157600080fd5b6102706001604060020a0360043516611faf565b341561057057600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061203d915050565b341561061c57600080fd5b610270600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061222a95505050505050565b341561066b57600080fd5b6102706001604060020a0360043516602435612295565b341561068d57600080fd5b610360600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061230e95505050505050565b6102706001604060020a0360043581169060243516612359565b34156106f657600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506124c3915050565b34156107b157600080fd5b610270600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506125ae915050565b341561081957600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061261b915050565b34156108d457600080fd5b6102706001604060020a0360043516602435612706565b34156108f657600080fd5b61090a6001604060020a036004351661281a565b6040518089600281111561091a57fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b8381101561099b578082015183820152602001610983565b50505050905090810190601f1680156109c85780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156109fe5780820151838201526020016109e6565b50505050905090810190601f168015610a2b5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610a4c57600080fd5b61027060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129df95505050505050565b3415610a9b57600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612a4a915050565b3415610b5657600080fd5b610b5e612b35565b604051600160a060020a03909116815260200160405180910390f35b600080610b85613d6d565b600080610b9187612b44565b91508160020160018703815481101515610ba757fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169450610bdb85612b88565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c8f5780601f10610c6457610100808354040283529160200191610c8f565b820191906000526020600020905b815481529060010190602001808311610c7257829003601f168201915b5050505050925050509250925092565b600080610cab83612b88565b90506000815460ff166002811115610cbf57fe5b1415610cce5760009150610d49565b6002815460ff166002811115610ce057fe5b14610ce757fe5b6003810154608060020a900460ff1615610d045760019150610d49565b6003810154604060020a90046001604060020a03161515610d285760009150610d49565b6003810154610d4690604060020a90046001604060020a0316610c9f565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610d7a57600080fd5b610d8384612b44565b91506001600383015460c060020a900460ff166002811115610da157fe5b14610dab57600080fd5b836001604060020a0316610dbe85612bce565b6001604060020a031614610dd157600080fd5b6001820154600283018054610e8a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610e6457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610e215790505b505050506003860154600091508190608060020a90046001604060020a03166002612c94565b9050610e97848285612f84565b50505050565b600080600080600080600080610eb289612b44565b805460018201546002830154600390930154919c6001604060020a039182169c50929a508082169950604060020a820481169850608060020a820416965060c060020a900460ff16945092505050565b6000806000610f1085611739565b9450610f1b85612b44565b92506000600384015460c060020a900460ff166002811115610f3957fe5b14610f4357600080fd5b6001830154610f5a906001604060020a0316612b88565b915061114f826101006040519081016040528154909190829060ff166002811115610f8157fe5b6002811115610f8c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110fa5780601f106110cf576101008083540402835291602001916110fa565b820191906000526020600020905b8154815290600101906020018083116110dd57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261304d565b6001830154600284018054611208926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161119f5790505b505050506003870154600091508190608060020a90046001604060020a03166001612c94565b9050611215858286612f84565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128a57600080fd5b6102c65a03f1151561129b57600080fd5b5050505050505050565b60008060008060006112b688611739565b97506112c188612b44565b94506112cc86612b88565b93506112d789612b88565b92506112fe836101006040519081016040528154909190829060ff166002811115610f8157fe5b6000600386015460c060020a900460ff16600281111561131a57fe5b1461132457600080fd5b60018501546001604060020a038a8116911614156113b1576000845460ff16600281111561134e57fe5b14156113645761135f888888613094565b6113ac565b6002845460ff16600281111561137657fe5b14156113875761135f8888886130c4565b6001845460ff16600281111561139957fe5b14156113aa5761135f8888886132ed565bfe5b61172e565b6114e28560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561147b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116114385790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156114ce57fe5b60028111156114d957fe5b9052508a613414565b6001604060020a03908116925082146113aa576000845460ff16600281111561150757fe5b14156115385760018501546001604060020a0387811691161461152657fe5b6113ac8888876002018054905061347a565b6001845460ff16600281111561154a57fe5b14156116f4576116818560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561161a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115d75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561166d57fe5b600281111561167857fe5b90525087613414565b6001604060020a0390811691508114156116b7576116ac88886001858960020180549050030361347a565b61135f8888886132ed565b818111156116d6576116ac88886001858960020180549050030361347a565b8181116113ac576113ac88886001848960020180549050030361347a565b6002845460ff16600281111561170657fe5b14156113aa5761172388886001858960020180549050030361347a565b6113ac888888613566565b505050505050505050565b60008060008061174885612b44565b92506000600384015460c060020a900460ff16600281111561176657fe5b14611773578493506118fa565b600383015460006001604060020a039091161180156117ac57506003830154604060020a90046001604060020a03166117aa613889565b115b156118c9576001830154600284018054611869926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118015790505b505050506003870154600091508190608060020a90046001604060020a031681612c94565b60038401549092506118a9906001604060020a0316600060405180591061188d5750595b9080825280602002602001820160405250600080866000612c94565b90506118ba85828560000154612f84565b8094506118c685612b44565b92505b6118d285612bce565b90506001604060020a03808216908616146118f6576118f685828560000154612f84565b8093505b505050919050565b6001805490818082016119158382613d7f565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561199457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516119da929160200190613db0565b506060820151816002019080516119f5929160200190613db0565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b600080805b8351831015610e97576001604060020a03848481518110611b1c57fe5b90602001906020020151169150604060020a848481518110611b3a57fe5b90602001906020020151811515611b4d57fe5b049050611b5a8282610f02565b600190920191611aff565b6000806001604060020a03851615611dbc57611b8085612b88565b90506002815460ff166002811115611b9457fe5b14611b9e57600080fd5b805433600160a060020a039081166101009092041614611bbd57600080fd5b6014611db2826101006040519081016040528154909190829060ff166002811115611be457fe5b6002811115611bef57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611cbb5780601f10611c9057610100808354040283529160200191611cbb565b820191906000526020600020905b815481529060010190602001808311611c9e57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d5d5780601f10611d3257610100808354040283529160200191611d5d565b820191906000526020600020905b815481529060010190602001808311611d4057829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261388d565b10611dbc57600080fd5b60018054925082808201611dd08382613d7f565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115611e5057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611e96929160200190613db0565b50606082015181600201908051611eb1929160200190613db0565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b6000611fba82612b88565b9050611fe1816101006040519081016040528154909190829060ff166002811115610f8157fe5b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25050565b6001805490818082016120508382613d7f565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156120cf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612115929160200190613db0565b50606082015181600201908051612130929160200190613db0565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600080805b8351831015610e97576001604060020a0384848151811061224c57fe5b90602001906020020151169150604060020a84848151811061226a57fe5b9060200190602002015181151561227d57fe5b04905061228a8282610d5a565b60019092019161222f565b6000806122a184611739565b93506122ac84612b44565b60018101549092506122c6906001604060020a0316612b88565b90506122ed816101006040519081016040528154909190829060ff166002811115610f8157fe5b6003820154610e97908590608060020a90046001604060020a031685612f84565b600080805b8351821015612352576001604060020a0384838151811061233057fe5b9060200190602002015116905061234681611739565b50600190910190612313565b5050919050565b60008080806001604060020a038616151561239f5761239c6020604051908101604052806000815250602060405190810160405260008082526203f4809061203d565b95505b6123a886612b88565b93506123cf846101006040519081016040528154909190829060ff166002811115610f8157fe5b6000845460ff1660028111156123e157fe5b146123eb57600080fd5b349250600083116123fb57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561242e57600080fd5b61245d8660006040518059106124415750595b9080825280602002602001820160405250600080600080612c94565b915061246882612b44565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36124bb868385886112a5565b505050505050565b60006124ce86612b88565b90506001815460ff1660028111156124e257fe5b146124ec57600080fd5b805433600160a060020a03908116610100909204161461250b57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161253e929160200190613db0565b5060028101838051612554929160200190613db0565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600080805b84518310156124bb576001604060020a038584815181106125d057fe5b90602001906020020151169150604060020a8584815181106125ee57fe5b9060200190602002015181151561260157fe5b049050612610868383876112a5565b6001909201916125b3565b600061262686612b88565b90506000815460ff16600281111561263a57fe5b1461264457600080fd5b805433600160a060020a03908116610100909204161461266357600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612696929160200190613db0565b50600281018380516126ac929160200190613db0565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b600254600090819033600160a060020a0390811691161461272657600080fd5b61272f84612b44565b91506001600383015460c060020a900460ff16600281111561274d57fe5b1461275757600080fd5b600182015460028301805461280f926001604060020a031691906020808202016040519081016040528092919081815260200182805480156127ea57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127a75790505b505050506003860154600091508190608060020a90046001604060020a031681612c94565b9050610e8a81611739565b600080612825613d6d565b61282d613d6d565b600080600080600061283e8a612b88565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156128f45780601f106128c9576101008083540402835291602001916128f4565b820191906000526020600020905b8154815290600101906020018083116128d757829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129935780601f1061296857610100808354040283529160200191612993565b820191906000526020600020905b81548152906001019060200180831161297657829003601f168201915b5050505060038301546004909301549a9c999b50979990986001604060020a038084169950604060020a8404169750608060020a90920460ff169550600160a060020a03169350915050565b600080805b8351831015610e97576001604060020a03848481518110612a0157fe5b90602001906020020151169150604060020a848481518110612a1f57fe5b90602001906020020151811515612a3257fe5b049050612a3f8282612706565b6001909201916129e4565b6000612a5586612b88565b90506002815460ff166002811115612a6957fe5b14612a7357600080fd5b805433600160a060020a039081166101009092041614612a9257600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ac5929160200190613db0565b5060028101838051612adb929160200190613db0565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b600080546001604060020a03831610612b5c57600080fd5b600080546001604060020a038416908110612b7357fe5b90600052602060002090600402019050919050565b6001546000906001604060020a03831610612ba257600080fd5b600180546001604060020a038416908110612bb957fe5b90600052602060002090600502019050919050565b600080806001604060020a0384161515612beb5760009250612352565b612bf484612b44565b6001810154909250612c0e906001604060020a0316612b88565b90506000815460ff166002811115612c2257fe5b1415612c3057839250612352565b6002815460ff166002811115612c4257fe5b14612c4957fe5b6001820154612c60906001604060020a0316610c9f565b1515612c6e57839250612352565b6003820154612c8c90608060020a90046001604060020a0316612bce565b949350505050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612ce1578082015183820152602001612cc9565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612d4e57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612db757809250612f78565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612df58382613e2e565b9160005260206000209060040201600060e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612e6657fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051612eb1929160200190613e5a565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115612f6c57fe5b02179055505050508092505b50509695505050505050565b6000806000612f9660018787876138f7565b9250846001604060020a0316866001604060020a03161415612fb7576124bb565b821515612fc3576124bb565b612fcc86612b44565b9150612fd785612b44565b825490915083901015612fe957600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361304460008787866138f7565b50505050505050565b8060200151600160a060020a031633600160a060020a0316148061308657508060e00151600160a060020a031633600160a060020a0316145b151561309157600080fd5b50565b6000610e8a8260006040518059106124415750599080825280602002602001820160405250600080600080612c94565b60008060006130d286612b44565b925060146132068460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131a057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161315d5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131f357fe5b60028111156131fe57fe5b90525061391d565b1061321057600080fd5b61321984610c9f565b1561322357600080fd5b60018301546002840180546132b0926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457600091825260209182902080546001604060020a031684529082028301929091600891018084116118015750505050600388015460009250829150608060020a90046001604060020a031681612c94565b91506132e084600060405180591061188d5750599080825280602002602001820160405250600080866000612c94565b90506124bb868287612f84565b60006132f7613d6d565b60008061330387612b44565b60028101549094506014901061331857600080fd5b600284015460010160405180591061332d5750595b90808252806020026020018201604052509250600091505b60028401548210156133b8576002840180548390811061336157fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061339657fe5b6001604060020a03909216602092830290910190910152600190910190613345565b600284015485908490815181106133cb57fe5b6001604060020a039283166020918202909201015260018501546003860154613407929182169186916000918291608060020a90041681612c94565b9050613044878288612f84565b6000805b83604001515181101561346857826001604060020a03168460400151828151811061343f57fe5b906020019060200201516001604060020a0316141561346057809150613473565b600101613418565b6001604060020a0391505b5092915050565b6000613484613d6d565b60008061349087612b44565b60028101549094508590036040518059106134a85750595b90808252806020026020018201604052509250600091505b600284015485900382101561353657600284018054839081106134df57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061351457fe5b6001604060020a039092166020928302909101909101526001909101906134c0565b60018401546003850154613407916001604060020a039081169186916000918291608060020a9091041681612c94565b60008061357285612b44565b915060146136688360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131a057600091825260209182902080546001604060020a0316845290820283019290916008910180841161315d5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131f357fe5b1061367257600080fd5b61367b83610c9f565b1561368557600080fd5b6001820154600283018054613875926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561371857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116136d55790505b50505050508561384e8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156137e857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137a55790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561383b57fe5b600281111561384657fe5b905250613a48565b613856613889565b6003880154910190608060020a90046001604060020a03166000612c94565b9050613882858286612f84565b5050505050565b4290565b60008060028351600281111561389f57fe5b146138a657fe5b8260a001516001604060020a031615156138c35760019150610d49565b6138d08360a00151612b88565b9050610d46816101006040519081016040528154909190829060ff166002811115611be457fe5b806139058585808685613ad2565b90506139148584868685613ad2565b95945050505050565b6000808260a001516001604060020a0316151561393d5760009150610d49565b61394a8360a00151612b44565b9050613a3e8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131a057600091825260209182902080546001604060020a0316845290820283019290916008910180841161315d5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131f357fe5b6001019392505050565b6000806000613a5a8460200151612b88565b60038101546001604060020a031693509150600090505b83604001515181101561235257613aa084604001518281518110613a9157fe5b90602001906020020151612b88565b60038101549092506001604060020a031683901115613aca5760038201546001604060020a031692505b600101613a71565b600080600080866001604060020a0316886001604060020a031614613af957610100613afc565b60005b61ffff169250849350613b0e88612b44565b6001810154909250613b2e908a906001604060020a031689898789613bf0565b9350600090505b60028201546001604060020a0382161015613ba957613b9f8983600201836001604060020a0316815481101515613b6857fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316898985880160010189613bf0565b9350600101613b35565b600382015460006001604060020a039091161115613be4576003820154613be1908a906001604060020a0316898960ff880189613bf0565b93505b50505095945050505050565b80600080613bfd88612b88565b6004810154909150600160a060020a031615801590613c1c5750600083115b15612f78578815613cd7576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b1515613ca657600080fd5b6102c65a03f11515613cb757600080fd5b505050604051805192505082821115613ccf57600080fd5b819250612f78565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b1515613d4d57600080fd5b6102c65a03f11515613d5e57600080fd5b50505050509695505050505050565b60206040519081016040526000815290565b815481835581811511613dab57600502816005028360005260206000209182019101613dab9190613f0e565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613df157805160ff1916838001178555613e1e565b82800160010185558215613e1e579182015b82811115613e1e578251825591602001919060010190613e03565b50613e2a929150613f99565b5090565b815481835581811511613dab57600402816004028360005260206000209182019101613dab9190613fb3565b82805482825590600052602060002090600301600490048101928215613f025791602002820160005b83821115613ecd57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302613e83565b8015613f005782816101000a8154906001604060020a030219169055600801602081600701049283019260010302613ecd565b505b50613e2a929150614013565b610d5791905b80821115613e2a57805474ffffffffffffffffffffffffffffffffffffffffff191681556000613f476001830182614038565b613f55600283016000614038565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501613f14565b610d5791905b80821115613e2a5760008155600101613f9f565b610d5791905b80821115613e2a57600080825560018201805467ffffffffffffffff19169055613fe6600283018261407c565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401613fb9565b610d5791905b80821115613e2a57805467ffffffffffffffff19168155600101614019565b50805460018160011615610100020316600290046000825580601f1061405e5750613091565b601f0160209004906000526020600020908101906130919190613f99565b5080546000825560030160049004906000526020600020908101906130919190613f995600a165627a7a723058202647bfe2440451a715cfbeadc69a30715fe05d5a64906f0c5ffdef0f7abc54cd0029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b604051602080620042f983398101604052808051915081905060016200003781806200006f565b50600162000047600082620000a3565b5060028054600160a060020a031916600160a060020a0392909216919091179055506200023b565b8154818355818115116200009e576005028160050283600052602060002091820191016200009e9190620000d2565b505050565b8154818355818115116200009e576004028160040283600052602060002091820191016200009e919062000146565b6200014391905b808211156200013f578054600160a860020a03191681556000620001016001830182620001b1565b62000111600283016000620001b1565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d9565b5090565b90565b6200014391905b808211156200013f57600080825560018201805467ffffffffffffffff191690556200017d6002830182620001fc565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014d565b50805460018160011615610100020316600290046000825580601f10620001d95750620001f9565b601f016020900490600052602060002090810190620001f991906200021e565b50565b508054600082556003016004900490600052602060002090810190620001f991905b6200014391905b808211156200013f576000815560010162000225565b6140ae806200024b6000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632101a6ad146101f65780632a8ec8cc146102295780632ee888081461024e5780633f657a461461027257806343387983146102f057806347c5ef431461031257806350f8a8031461034157806352dc7dcc1461037c5780635503d9ba1461042857806357adafb61461043b57806372116e921461048a578063796d5654146105465780637f61fa93146105655780639398f5a214610611578063af9f456314610660578063bce0906d14610682578063bde60ac9146106d1578063cc19ecf7146106eb578063d639cd73146107a6578063db7c23141461080e578063e9c211e2146108c9578063eba8ba06146108eb578063ef3766e414610a41578063f6b24b1c14610a90578063fbfa77cf14610b4b575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610b7a565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101b95780820151838201526020016101a1565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020157600080fd5b6102156001604060020a0360043516610c9f565b604051901515815260200160405180910390f35b341561023457600080fd5b61023c610d4f565b60405190815260200160405180910390f35b341561025957600080fd5b6102706001604060020a0360043516602435610d5a565b005b341561027d57600080fd5b6102916001604060020a0360043516610e9d565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102d657fe5b60ff16815260200197505050505050505060405180910390f35b34156102fb57600080fd5b6102706001604060020a0360043516602435610f02565b341561031d57600080fd5b6102706001604060020a0360043581169060243581169060443590606435166112a5565b341561034c57600080fd5b6103606001604060020a0360043516611739565b6040516001604060020a03909116815260200160405180910390f35b341561038757600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611902915050565b341561043357600080fd5b61023c611af0565b341561044657600080fd5b6102706004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611afa95505050505050565b341561049557600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611b659050565b341561055157600080fd5b6102706001604060020a0360043516611f90565b341561057057600080fd5b61036060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061201e915050565b341561061c57600080fd5b610270600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061220b95505050505050565b341561066b57600080fd5b6102706001604060020a0360043516602435612276565b341561068d57600080fd5b61036060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506122ef95505050505050565b6102706001604060020a036004358116906024351661233a565b34156106f657600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506124a4915050565b34156107b157600080fd5b610270600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a0316925061258f915050565b341561081957600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506125fc915050565b34156108d457600080fd5b6102706001604060020a03600435166024356126e7565b34156108f657600080fd5b61090a6001604060020a03600435166127fb565b6040518089600281111561091a57fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b8381101561099b578082015183820152602001610983565b50505050905090810190601f1680156109c85780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156109fe5780820151838201526020016109e6565b50505050905090810190601f168015610a2b5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610a4c57600080fd5b61027060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506129c095505050505050565b3415610a9b57600080fd5b610270600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612a2b915050565b3415610b5657600080fd5b610b5e612b16565b604051600160a060020a03909116815260200160405180910390f35b600080610b85613d4e565b600080610b9187612b25565b91508160020160018703815481101515610ba757fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169450610bdb85612b69565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c8f5780601f10610c6457610100808354040283529160200191610c8f565b820191906000526020600020905b815481529060010190602001808311610c7257829003601f168201915b5050505050925050509250925092565b600080610cab83612b69565b90506000815460ff166002811115610cbf57fe5b1415610cce5760009150610d49565b6002815460ff166002811115610ce057fe5b14610ce757fe5b6003810154608060020a900460ff1615610d045760019150610d49565b6003810154604060020a90046001604060020a03161515610d285760009150610d49565b6003810154610d4690604060020a90046001604060020a0316610c9f565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610d7a57600080fd5b610d8384612b25565b91506001600383015460c060020a900460ff166002811115610da157fe5b14610dab57600080fd5b836001604060020a0316610dbe85612baf565b6001604060020a031614610dd157600080fd5b6001820154600283018054610e8a926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610e6457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610e215790505b505050506003860154600091508190608060020a90046001604060020a03166002612c75565b9050610e97848285612f65565b50505050565b600080600080600080600080610eb289612b25565b805460018201546002830154600390930154919c6001604060020a039182169c50929a508082169950604060020a820481169850608060020a820416965060c060020a900460ff16945092505050565b6000806000610f1085611739565b9450610f1b85612b25565b92506000600384015460c060020a900460ff166002811115610f3957fe5b14610f4357600080fd5b6001830154610f5a906001604060020a0316612b69565b915061114f826101006040519081016040528154909190829060ff166002811115610f8157fe5b6002811115610f8c57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110fa5780601f106110cf576101008083540402835291602001916110fa565b820191906000526020600020905b8154815290600101906020018083116110dd57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261302e565b6001830154600284018054611208926001604060020a031691906020808202016040519081016040528092919081815260200182805480156111e257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161119f5790505b505050506003870154600091508190608060020a90046001604060020a03166001612c75565b9050611215858286612f65565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561128a57600080fd5b6102c65a03f1151561129b57600080fd5b5050505050505050565b60008060008060006112b688611739565b97506112c188612b25565b94506112cc86612b69565b93506112d789612b69565b92506112fe836101006040519081016040528154909190829060ff166002811115610f8157fe5b6000600386015460c060020a900460ff16600281111561131a57fe5b1461132457600080fd5b60018501546001604060020a038a8116911614156113b1576000845460ff16600281111561134e57fe5b14156113645761135f888888613075565b6113ac565b6002845460ff16600281111561137657fe5b14156113875761135f8888886130a5565b6001845460ff16600281111561139957fe5b14156113aa5761135f8888886132ce565bfe5b61172e565b6114e28560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561147b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116114385790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156114ce57fe5b60028111156114d957fe5b9052508a6133f5565b6001604060020a03908116925082146113aa576000845460ff16600281111561150757fe5b14156115385760018501546001604060020a0387811691161461152657fe5b6113ac8888876002018054905061345b565b6001845460ff16600281111561154a57fe5b14156116f4576116818560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561161a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115d75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561166d57fe5b600281111561167857fe5b905250876133f5565b6001604060020a0390811691508114156116b7576116ac88886001858960020180549050030361345b565b61135f8888886132ce565b818111156116d6576116ac88886001858960020180549050030361345b565b8181116113ac576113ac88886001848960020180549050030361345b565b6002845460ff16600281111561170657fe5b14156113aa5761172388886001858960020180549050030361345b565b6113ac888888613547565b505050505050505050565b60008060008061174885612b25565b92506000600384015460c060020a900460ff16600281111561176657fe5b14611773578493506118fa565b600383015460006001604060020a039091161180156117ac57506003830154604060020a90046001604060020a03166117aa61386a565b115b156118c9576001830154600284018054611869926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118015790505b505050506003870154600091508190608060020a90046001604060020a031681612c75565b60038401549092506118a9906001604060020a0316600060405180591061188d5750595b9080825280602002602001820160405250600080866000612c75565b90506118ba85828560000154612f65565b8094506118c685612b25565b92505b6118d285612baf565b90506001604060020a03808216908616146118f6576118f685828560000154612f65565b8093505b505050919050565b6001805490818082016119158382613d60565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561199457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516119da929160200190613d91565b506060820151816002019080516119f5929160200190613d91565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b600080805b8351831015610e97576001604060020a03848481518110611b1c57fe5b90602001906020020151169150604060020a848481518110611b3a57fe5b90602001906020020151811515611b4d57fe5b049050611b5a8282610f02565b600190920191611aff565b6000806001604060020a03851615611d9d57611b8085612b69565b90506002815460ff166002811115611b9457fe5b14611b9e57600080fd5b6014611d93826101006040519081016040528154909190829060ff166002811115611bc557fe5b6002811115611bd057fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d3e5780601f10611d1357610100808354040283529160200191611d3e565b820191906000526020600020905b815481529060010190602001808311611d2157829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261386e565b10611d9d57600080fd5b60018054925082808201611db18382613d60565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115611e3157fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611e77929160200190613d91565b50606082015181600201908051611e92929160200190613d91565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b6000611f9b82612b69565b9050611fc2816101006040519081016040528154909190829060ff166002811115610f8157fe5b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25050565b6001805490818082016120318382613d60565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156120b057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516120f6929160200190613d91565b50606082015181600201908051612111929160200190613d91565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600080805b8351831015610e97576001604060020a0384848151811061222d57fe5b90602001906020020151169150604060020a84848151811061224b57fe5b9060200190602002015181151561225e57fe5b04905061226b8282610d5a565b600190920191612210565b60008061228284611739565b935061228d84612b25565b60018101549092506122a7906001604060020a0316612b69565b90506122ce816101006040519081016040528154909190829060ff166002811115610f8157fe5b6003820154610e97908590608060020a90046001604060020a031685612f65565b600080805b8351821015612333576001604060020a0384838151811061231157fe5b9060200190602002015116905061232781611739565b506001909101906122f4565b5050919050565b60008080806001604060020a03861615156123805761237d6020604051908101604052806000815250602060405190810160405260008082526203f4809061201e565b95505b61238986612b69565b93506123b0846101006040519081016040528154909190829060ff166002811115610f8157fe5b6000845460ff1660028111156123c257fe5b146123cc57600080fd5b349250600083116123dc57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561240f57600080fd5b61243e8660006040518059106124225750595b9080825280602002602001820160405250600080600080612c75565b915061244982612b25565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361249c868385886112a5565b505050505050565b60006124af86612b69565b90506001815460ff1660028111156124c357fe5b146124cd57600080fd5b805433600160a060020a0390811661010090920416146124ec57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161251f929160200190613d91565b5060028101838051612535929160200190613d91565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600080805b845183101561249c576001604060020a038584815181106125b157fe5b90602001906020020151169150604060020a8584815181106125cf57fe5b906020019060200201518115156125e257fe5b0490506125f1868383876112a5565b600190920191612594565b600061260786612b69565b90506000815460ff16600281111561261b57fe5b1461262557600080fd5b805433600160a060020a03908116610100909204161461264457600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612677929160200190613d91565b506002810183805161268d929160200190613d91565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b600254600090819033600160a060020a0390811691161461270757600080fd5b61271084612b25565b91506001600383015460c060020a900460ff16600281111561272e57fe5b1461273857600080fd5b60018201546002830180546127f0926001604060020a031691906020808202016040519081016040528092919081815260200182805480156127cb57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127885790505b505050506003860154600091508190608060020a90046001604060020a031681612c75565b9050610e8a81611739565b600080612806613d4e565b61280e613d4e565b600080600080600061281f8a612b69565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156128d55780601f106128aa576101008083540402835291602001916128d5565b820191906000526020600020905b8154815290600101906020018083116128b857829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129745780601f1061294957610100808354040283529160200191612974565b820191906000526020600020905b81548152906001019060200180831161295757829003601f168201915b5050505060038301546004909301549a9c999b50979990986001604060020a038084169950604060020a8404169750608060020a90920460ff169550600160a060020a03169350915050565b600080805b8351831015610e97576001604060020a038484815181106129e257fe5b90602001906020020151169150604060020a848481518110612a0057fe5b90602001906020020151811515612a1357fe5b049050612a2082826126e7565b6001909201916129c5565b6000612a3686612b69565b90506002815460ff166002811115612a4a57fe5b14612a5457600080fd5b805433600160a060020a039081166101009092041614612a7357600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612aa6929160200190613d91565b5060028101838051612abc929160200190613d91565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b600080546001604060020a03831610612b3d57600080fd5b600080546001604060020a038416908110612b5457fe5b90600052602060002090600402019050919050565b6001546000906001604060020a03831610612b8357600080fd5b600180546001604060020a038416908110612b9a57fe5b90600052602060002090600502019050919050565b600080806001604060020a0384161515612bcc5760009250612333565b612bd584612b25565b6001810154909250612bef906001604060020a0316612b69565b90506000815460ff166002811115612c0357fe5b1415612c1157839250612333565b6002815460ff166002811115612c2357fe5b14612c2a57fe5b6001820154612c41906001604060020a0316610c9f565b1515612c4f57839250612333565b6003820154612c6d90608060020a90046001604060020a0316612baf565b949350505050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612cc2578082015183820152602001612caa565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612d2f57fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612d9857809250612f59565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612dd68382613e0f565b9160005260206000209060040201600060e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612e4757fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051612e92929160200190613e3b565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115612f4d57fe5b02179055505050508092505b50509695505050505050565b6000806000612f7760018787876138d8565b9250846001604060020a0316866001604060020a03161415612f985761249c565b821515612fa45761249c565b612fad86612b25565b9150612fb885612b25565b825490915083901015612fca57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361302560008787866138d8565b50505050505050565b8060200151600160a060020a031633600160a060020a0316148061306757508060e00151600160a060020a031633600160a060020a0316145b151561307257600080fd5b50565b6000610e8a8260006040518059106124225750599080825280602002602001820160405250600080600080612c75565b60008060006130b386612b25565b925060146131e78460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561318157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161313e5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131d457fe5b60028111156131df57fe5b9052506138fe565b106131f157600080fd5b6131fa84610c9f565b1561320457600080fd5b6001830154600284018054613291926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561184457600091825260209182902080546001604060020a031684529082028301929091600891018084116118015750505050600388015460009250829150608060020a90046001604060020a031681612c75565b91506132c184600060405180591061188d5750599080825280602002602001820160405250600080866000612c75565b905061249c868287612f65565b60006132d8613d4e565b6000806132e487612b25565b6002810154909450601490106132f957600080fd5b600284015460010160405180591061330e5750595b90808252806020026020018201604052509250600091505b6002840154821015613399576002840180548390811061334257fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061337757fe5b6001604060020a03909216602092830290910190910152600190910190613326565b600284015485908490815181106133ac57fe5b6001604060020a0392831660209182029092010152600185015460038601546133e8929182169186916000918291608060020a90041681612c75565b9050613025878288612f65565b6000805b83604001515181101561344957826001604060020a03168460400151828151811061342057fe5b906020019060200201516001604060020a0316141561344157809150613454565b6001016133f9565b6001604060020a0391505b5092915050565b6000613465613d4e565b60008061347187612b25565b60028101549094508590036040518059106134895750595b90808252806020026020018201604052509250600091505b600284015485900382101561351757600284018054839081106134c057fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03168383815181106134f557fe5b6001604060020a039092166020928302909101909101526001909101906134a1565b600184015460038501546133e8916001604060020a039081169186916000918291608060020a9091041681612c75565b60008061355385612b25565b915060146136498360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561318157600091825260209182902080546001604060020a0316845290820283019290916008910180841161313e5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131d457fe5b1061365357600080fd5b61365c83610c9f565b1561366657600080fd5b6001820154600283018054613856926001604060020a031691906020808202016040519081016040528092919081815260200182805480156136f957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116136b65790505b50505050508561382f8660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156137c957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137865790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561381c57fe5b600281111561382757fe5b905250613a29565b61383761386a565b6003880154910190608060020a90046001604060020a03166000612c75565b9050613863858286612f65565b5050505050565b4290565b60008060028351600281111561388057fe5b1461388757fe5b8260a001516001604060020a031615156138a45760019150610d49565b6138b18360a00151612b69565b9050610d46816101006040519081016040528154909190829060ff166002811115611bc557fe5b806138e68585808685613ab3565b90506138f58584868685613ab3565b95945050505050565b6000808260a001516001604060020a0316151561391e5760009150610d49565b61392b8360a00151612b25565b9050613a1f8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561318157600091825260209182902080546001604060020a0316845290820283019290916008910180841161313e5750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156131d457fe5b6001019392505050565b6000806000613a3b8460200151612b69565b60038101546001604060020a031693509150600090505b83604001515181101561233357613a8184604001518281518110613a7257fe5b90602001906020020151612b69565b60038101549092506001604060020a031683901115613aab5760038201546001604060020a031692505b600101613a52565b600080600080866001604060020a0316886001604060020a031614613ada57610100613add565b60005b61ffff169250849350613aef88612b25565b6001810154909250613b0f908a906001604060020a031689898789613bd1565b9350600090505b60028201546001604060020a0382161015613b8a57613b808983600201836001604060020a0316815481101515613b4957fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316898985880160010189613bd1565b9350600101613b16565b600382015460006001604060020a039091161115613bc5576003820154613bc2908a906001604060020a0316898960ff880189613bd1565b93505b50505095945050505050565b80600080613bde88612b69565b6004810154909150600160a060020a031615801590613bfd5750600083115b15612f59578815613cb8576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b1515613c8757600080fd5b6102c65a03f11515613c9857600080fd5b505050604051805192505082821115613cb057600080fd5b819250612f59565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b1515613d2e57600080fd5b6102c65a03f11515613d3f57600080fd5b50505050509695505050505050565b60206040519081016040526000815290565b815481835581811511613d8c57600502816005028360005260206000209182019101613d8c9190613eef565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613dd257805160ff1916838001178555613dff565b82800160010185558215613dff579182015b82811115613dff578251825591602001919060010190613de4565b50613e0b929150613f7a565b5090565b815481835581811511613d8c57600402816004028360005260206000209182019101613d8c9190613f94565b82805482825590600052602060002090600301600490048101928215613ee35791602002820160005b83821115613eae57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302613e64565b8015613ee15782816101000a8154906001604060020a030219169055600801602081600701049283019260010302613eae565b505b50613e0b929150613ff4565b610d5791905b80821115613e0b57805474ffffffffffffffffffffffffffffffffffffffffff191681556000613f286001830182614019565b613f36600283016000614019565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501613ef5565b610d5791905b80821115613e0b5760008155600101613f80565b610d5791905b80821115613e0b57600080825560018201805467ffffffffffffffff19169055613fc7600283018261405d565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401613f9a565b610d5791905b80821115613e0b57805467ffffffffffffffff19168155600101613ffa565b50805460018160011615610100020316600290046000825580601f1061403f5750613072565b601f0160209004906000526020600020908101906130729190613f7a565b5080546000825560030160049004906000526020600020908101906130729190613f7a5600a165627a7a723058209d7ceea5ca017631c5b49182a6368462e2e333660091210fded34527e857ebf70029" 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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","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 = "0x606060405234156200001057600080fd5b60405160208062001ccd833981016040528080519150600190506200003681806200006d565b50600162000046600082620000a1565b5060028054600160a060020a031916600160a060020a039290921691909117905562000239565b8154818355818115116200009c576005028160050283600052602060002091820191016200009c9190620000d0565b505050565b8154818355818115116200009c576004028160040283600052602060002091820191016200009c919062000144565b6200014191905b808211156200013d578054600160a860020a03191681556000620000ff6001830182620001af565b6200010f600283016000620001af565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b6002830182620001fa565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b50805460018160011615610100020316600290046000825580601f10620001d75750620001f7565b601f016020900490600052602060002090810190620001f791906200021c565b50565b508054600082556003016004900490600052602060002090810190620001f791905b6200014191905b808211156200013d576000815560010162000223565b611a8480620002496000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101825780632a8ec8cc146101b65780633f657a46146101db57806352dc7dcc1461025b5780635503d9ba1461032557806372116e92146103385780637f61fa93146103f5578063cc19ecf7146104a2578063db7c231414610561578063eba8ba061461061e578063f6b24b1c14610776578063fbfa77cf14610833575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff60043516602435610862565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561014557808201518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018d57600080fd5b6101a267ffffffffffffffff60043516610988565b604051901515815260200160405180910390f35b34156101c157600080fd5b6101c9610a44565b60405190815260200160405180910390f35b34156101e657600080fd5b6101fb67ffffffffffffffff60043516610a4f565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024157fe5b60ff16815260200197505050505050505060405180910390f35b341561026657600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610acf915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033057600080fd5b6101c9610cc2565b341561034357600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610ccc9050565b341561040057600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611122915050565b34156104ad57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611314915050565b005b341561056c57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611400915050565b341561062957600080fd5b61063e67ffffffffffffffff600435166114ec565b6040518089600281111561064e57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156106d05780820151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b8381101561073357808201518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561078157600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506116b7915050565b341561083e57600080fd5b6108466117a3565b604051600160a060020a03909116815260200160405180910390f35b60008061086d6118ab565b600080610879876117b2565b9150816002016001870381548110151561088f57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1694506108c4856117f8565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109785780601f1061094d57610100808354040283529160200191610978565b820191906000526020600020905b81548152906001019060200180831161095b57829003601f168201915b5050505050925050509250925092565b600080610994836117f8565b90506000815460ff1660028111156109a857fe5b14156109b75760009150610a3e565b6002815460ff1660028111156109c957fe5b146109d057fe5b6003810154608060020a900460ff16156109ed5760019150610a3e565b600381015468010000000000000000900467ffffffffffffffff161515610a175760009150610a3e565b6003810154610a3b9068010000000000000000900467ffffffffffffffff16610988565b91505b50919050565b600054600019015b90565b600080600080600080600080610a64896117b2565b805460018201546002830154600390930154919c67ffffffffffffffff9182169c50929a50808216995068010000000000000000820481169850608060020a82041696507801000000000000000000000000000000000000000000000000900460ff16945092505050565b600180549081808201610ae283826118bd565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610b6257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610ba89291602001906118ee565b50606082015181600201908051610bc39291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b60008067ffffffffffffffff851615610f2a57610ce8856117f8565b90506002815460ff166002811115610cfc57fe5b14610d0657600080fd5b805433600160a060020a039081166101009092041614610d2557600080fd5b6014610f20826101006040519081016040528154909190829060ff166002811115610d4c57fe5b6002811115610d5757fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e235780601f10610df857610100808354040283529160200191610e23565b820191906000526020600020905b815481529060010190602001808311610e0657829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec55780601f10610e9a57610100808354040283529160200191610ec5565b820191906000526020600020905b815481529060010190602001808311610ea857829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152611840565b10610f2a57600080fd5b60018054925082808201610f3e83826118bd565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610fbf57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110059291602001906118ee565b506060820151816002019080516110209291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b60018054908180820161113583826118bd565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156111b557fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516111fb9291602001906118ee565b506060820151816002019080516112169291602001906118ee565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600061131f866117f8565b90506001815460ff16600281111561133357fe5b1461133d57600080fd5b805433600160a060020a03908116610100909204161461135c57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161138f9291602001906118ee565b50600281018380516113a59291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600061140b866117f8565b90506000815460ff16600281111561141f57fe5b1461142957600080fd5b805433600160a060020a03908116610100909204161461144857600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161147b9291602001906118ee565b50600281018380516114919291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b6000806114f76118ab565b6114ff6118ab565b60008060008060006115108a6117f8565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156115c65780601f1061159b576101008083540402835291602001916115c6565b820191906000526020600020905b8154815290600101906020018083116115a957829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116655780601f1061163a57610100808354040283529160200191611665565b820191906000526020600020905b81548152906001019060200180831161164857829003601f168201915b5050505060038301546004909301549a9c999b509799909867ffffffffffffffff8084169950680100000000000000008404169750608060020a90920460ff169550600160a060020a03169350915050565b60006116c2866117f8565b90506002815460ff1660028111156116d657fe5b146116e057600080fd5b805433600160a060020a0390811661010090920416146116ff57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516117329291602001906118ee565b50600281018380516117489291602001906118ee565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff8316106117cb57600080fd5b6000805467ffffffffffffffff84169081106117e357fe5b90600052602060002090600402019050919050565b60015460009067ffffffffffffffff83161061181357600080fd5b6001805467ffffffffffffffff841690811061182b57fe5b90600052602060002090600502019050919050565b60008060028351600281111561185257fe5b1461185957fe5b8260a0015167ffffffffffffffff1615156118775760019150610a3e565b6118848360a001516117f8565b9050610a3b816101006040519081016040528154909190829060ff166002811115610d4c57fe5b60206040519081016040526000815290565b8154818355818115116118e9576005028160050283600052602060002091820191016118e9919061196c565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061192f57805160ff191683800117855561195c565b8280016001018555821561195c579182015b8281111561195c578251825591602001919060010190611941565b506119689291506119f7565b5090565b610a4c91905b8082111561196857805474ffffffffffffffffffffffffffffffffffffffffff1916815560006119a56001830182611a11565b6119b3600283016000611a11565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611972565b610a4c91905b8082111561196857600081556001016119fd565b50805460018160011615610100020316600290046000825580601f10611a375750611a55565b601f016020900490600052602060002090810190611a5591906119f7565b505600a165627a7a72305820d57aca0e20432d46f428ddf56af0b311d5822c53e01db96e5fb63f96fc5ec1890029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001cae833981016040528080519150600190506200003681806200006d565b50600162000046600082620000a1565b5060028054600160a060020a031916600160a060020a039290921691909117905562000239565b8154818355818115116200009c576005028160050283600052602060002091820191016200009c9190620000d0565b505050565b8154818355818115116200009c576004028160040283600052602060002091820191016200009c919062000144565b6200014191905b808211156200013d578054600160a860020a03191681556000620000ff6001830182620001af565b6200010f600283016000620001af565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000d7565b5090565b90565b6200014191905b808211156200013d57600080825560018201805467ffffffffffffffff191690556200017b6002830182620001fa565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014b565b50805460018160011615610100020316600290046000825580601f10620001d75750620001f7565b601f016020900490600052602060002090810190620001f791906200021c565b50565b508054600082556003016004900490600052602060002090810190620001f791905b6200014191905b808211156200013d576000815560010162000223565b611a6580620002496000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632101a6ad146101825780632a8ec8cc146101b65780633f657a46146101db57806352dc7dcc1461025b5780635503d9ba1461032557806372116e92146103385780637f61fa93146103f5578063cc19ecf7146104a2578063db7c231414610561578063eba8ba061461061e578063f6b24b1c14610776578063fbfa77cf14610833575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff60043516602435610862565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b8381101561014557808201518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018d57600080fd5b6101a267ffffffffffffffff60043516610988565b604051901515815260200160405180910390f35b34156101c157600080fd5b6101c9610a44565b60405190815260200160405180910390f35b34156101e657600080fd5b6101fb67ffffffffffffffff60043516610a4f565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561024157fe5b60ff16815260200197505050505050505060405180910390f35b341561026657600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610acf915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561033057600080fd5b6101c9610cc2565b341561034357600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff602082013581169650604082013516945060600135169150610ccc9050565b341561040057600080fd5b61030860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250611103915050565b34156104ad57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506112f5915050565b005b341561056c57600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506113e1915050565b341561062957600080fd5b61063e67ffffffffffffffff600435166114cd565b6040518089600281111561064e57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156106d05780820151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b8381101561073357808201518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561078157600080fd5b61055f6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff169250611698915050565b341561083e57600080fd5b610846611784565b604051600160a060020a03909116815260200160405180910390f35b60008061086d61188c565b60008061087987611793565b9150816002016001870381548110151561088f57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1694506108c4856117d9565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109785780601f1061094d57610100808354040283529160200191610978565b820191906000526020600020905b81548152906001019060200180831161095b57829003601f168201915b5050505050925050509250925092565b600080610994836117d9565b90506000815460ff1660028111156109a857fe5b14156109b75760009150610a3e565b6002815460ff1660028111156109c957fe5b146109d057fe5b6003810154608060020a900460ff16156109ed5760019150610a3e565b600381015468010000000000000000900467ffffffffffffffff161515610a175760009150610a3e565b6003810154610a3b9068010000000000000000900467ffffffffffffffff16610988565b91505b50919050565b600054600019015b90565b600080600080600080600080610a6489611793565b805460018201546002830154600390930154919c67ffffffffffffffff9182169c50929a50808216995068010000000000000000820481169850608060020a82041696507801000000000000000000000000000000000000000000000000900460ff16945092505050565b600180549081808201610ae2838261189e565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610b6257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610ba89291602001906118cf565b50606082015181600201908051610bc39291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b60008067ffffffffffffffff851615610f0b57610ce8856117d9565b90506002815460ff166002811115610cfc57fe5b14610d0657600080fd5b6014610f01826101006040519081016040528154909190829060ff166002811115610d2d57fe5b6002811115610d3857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea65780601f10610e7b57610100808354040283529160200191610ea6565b820191906000526020600020905b815481529060010190602001808311610e8957829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152611821565b10610f0b57600080fd5b60018054925082808201610f1f838261189e565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610fa057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fe69291602001906118cf565b506060820151816002019080516110019291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b600180549081808201611116838261189e565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561119657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516111dc9291602001906118cf565b506060820151816002019080516111f79291602001906118cf565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b6000611300866117d9565b90506001815460ff16600281111561131457fe5b1461131e57600080fd5b805433600160a060020a03908116610100909204161461133d57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516113709291602001906118cf565b50600281018380516113869291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b60006113ec866117d9565b90506000815460ff16600281111561140057fe5b1461140a57600080fd5b805433600160a060020a03908116610100909204161461142957600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161145c9291602001906118cf565b50600281018380516114729291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b6000806114d861188c565b6114e061188c565b60008060008060006114f18a6117d9565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156115a75780601f1061157c576101008083540402835291602001916115a7565b820191906000526020600020905b81548152906001019060200180831161158a57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116465780601f1061161b57610100808354040283529160200191611646565b820191906000526020600020905b81548152906001019060200180831161162957829003601f168201915b5050505060038301546004909301549a9c999b509799909867ffffffffffffffff8084169950680100000000000000008404169750608060020a90920460ff169550600160a060020a03169350915050565b60006116a3866117d9565b90506002815460ff1660028111156116b757fe5b146116c157600080fd5b805433600160a060020a0390811661010090920416146116e057600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516117139291602001906118cf565b50600281018380516117299291602001906118cf565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b6000805467ffffffffffffffff8316106117ac57600080fd5b6000805467ffffffffffffffff84169081106117c457fe5b90600052602060002090600402019050919050565b60015460009067ffffffffffffffff8316106117f457600080fd5b6001805467ffffffffffffffff841690811061180c57fe5b90600052602060002090600502019050919050565b60008060028351600281111561183357fe5b1461183a57fe5b8260a0015167ffffffffffffffff1615156118585760019150610a3e565b6118658360a001516117d9565b9050610a3b816101006040519081016040528154909190829060ff166002811115610d2d57fe5b60206040519081016040526000815290565b8154818355818115116118ca576005028160050283600052602060002091820191016118ca919061194d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061191057805160ff191683800117855561193d565b8280016001018555821561193d579182015b8281111561193d578251825591602001919060010190611922565b506119499291506119d8565b5090565b610a4c91905b8082111561194957805474ffffffffffffffffffffffffffffffffffffffffff19168155600061198660018301826119f2565b6119946002830160006119f2565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611953565b610a4c91905b8082111561194957600081556001016119de565b50805460018160011615610100020316600290046000825580601f10611a185750611a36565b601f016020900490600052602060002090810190611a3691906119d8565b505600a165627a7a7230582011f947ca7a0d61968ad934b28206b66b9e798235853268e5f0ede47287ccd3ad0029" 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,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"projectId","type":"uint64"}],"name":"isProjectCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idProject","type":"uint64"}],"name":"cancelProject","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mock_time","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_t","type":"uint256"}],"name":"setMockedTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"stateMutability":"payable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","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 = "0x606060405234156200001057600080fd5b6040516020806200436a83398101604052808051915081905080600162000038818062000075565b50600162000048600082620000a9565b5060028054600160a060020a031916600160a060020a039290921691909117905550504260045562000241565b815481835581811511620000a457600502816005028360005260206000209182019101620000a49190620000d8565b505050565b815481835581811511620000a457600402816004028360005260206000209182019101620000a491906200014c565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001b7565b62000117600283016000620001b7565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff1916905562000183600283018262000202565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b50805460018160011615610100020316600290046000825580601f10620001df5750620001ff565b601f016020900490600052602060002090810190620001ff919062000224565b50565b508054600082556003016004900490600052602060002090810190620001ff91905b6200014991905b808211156200014557600081556001016200022b565b61411980620002516000396000f3006060604052361561014e5763ffffffff60e060020a60003504166314e7b1dc81146101535780632101a6ad1461020c5780632a8ec8cc1461023f5780632ee88808146102645780633f657a4614610288578063433879831461030657806347c5ef431461032857806350f8a8031461035757806352dc7dcc146103925780635503d9ba1461043e57806357adafb61461045157806372116e92146104a0578063796d56541461055c5780637f61fa931461057b5780639398f5a2146106275780639da47a6b14610676578063ab8be23114610689578063af9f45631461069f578063bce0906d146106c1578063bde60ac914610710578063cc19ecf71461072a578063d639cd73146107e5578063db7c23141461084d578063e9c211e214610908578063eba8ba061461092a578063ef3766e414610a80578063f6b24b1c14610acf578063fbfa77cf14610b8a575b600080fd5b341561015e57600080fd5b6101756001604060020a0360043516602435610bb9565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101cf5780820151838201526020016101b7565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561021757600080fd5b61022b6001604060020a0360043516610cde565b604051901515815260200160405180910390f35b341561024a57600080fd5b610252610d8e565b60405190815260200160405180910390f35b341561026f57600080fd5b6102866001604060020a0360043516602435610d99565b005b341561029357600080fd5b6102a76001604060020a0360043516610edc565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102ec57fe5b60ff16815260200197505050505050505060405180910390f35b341561031157600080fd5b6102866001604060020a0360043516602435610f41565b341561033357600080fd5b6102866001604060020a0360043581169060243581169060443590606435166112e4565b341561036257600080fd5b6103766001604060020a0360043516611778565b6040516001604060020a03909116815260200160405180910390f35b341561039d57600080fd5b61037660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611941915050565b341561044957600080fd5b610252611b2f565b341561045c57600080fd5b6102866004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611b3995505050505050565b34156104ab57600080fd5b61037660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611ba49050565b341561056757600080fd5b6102866001604060020a0360043516611fee565b341561058657600080fd5b61037660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061207c915050565b341561063257600080fd5b610286600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061226995505050505050565b341561068157600080fd5b6102526122d4565b341561069457600080fd5b6102866004356122da565b34156106aa57600080fd5b6102866001604060020a03600435166024356122df565b34156106cc57600080fd5b610376600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061235895505050505050565b6102866001604060020a03600435811690602435166123a3565b341561073557600080fd5b610286600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a0316925061250d915050565b34156107f057600080fd5b610286600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506125f8915050565b341561085857600080fd5b610286600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612665915050565b341561091357600080fd5b6102866001604060020a0360043516602435612750565b341561093557600080fd5b6109496001604060020a0360043516612864565b6040518089600281111561095957fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156109da5780820151838201526020016109c2565b50505050905090810190601f168015610a075780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610a3d578082015183820152602001610a25565b50505050905090810190601f168015610a6a5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610a8b57600080fd5b6102866004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612a2995505050505050565b3415610ada57600080fd5b610286600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612a94915050565b3415610b9557600080fd5b610b9d612b7f565b604051600160a060020a03909116815260200160405180910390f35b600080610bc4613db9565b600080610bd087612b8e565b91508160020160018703815481101515610be657fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169450610c1a85612bd2565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b5050505050925050509250925092565b600080610cea83612bd2565b90506000815460ff166002811115610cfe57fe5b1415610d0d5760009150610d88565b6002815460ff166002811115610d1f57fe5b14610d2657fe5b6003810154608060020a900460ff1615610d435760019150610d88565b6003810154604060020a90046001604060020a03161515610d675760009150610d88565b6003810154610d8590604060020a90046001604060020a0316610cde565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610db957600080fd5b610dc284612b8e565b91506001600383015460c060020a900460ff166002811115610de057fe5b14610dea57600080fd5b836001604060020a0316610dfd85612c18565b6001604060020a031614610e1057600080fd5b6001820154600283018054610ec9926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610ea357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610e605790505b505050506003860154600091508190608060020a90046001604060020a03166002612cde565b9050610ed6848285612fce565b50505050565b600080600080600080600080610ef189612b8e565b805460018201546002830154600390930154919c6001604060020a039182169c50929a508082169950604060020a820481169850608060020a820416965060c060020a900460ff16945092505050565b6000806000610f4f85611778565b9450610f5a85612b8e565b92506000600384015460c060020a900460ff166002811115610f7857fe5b14610f8257600080fd5b6001830154610f99906001604060020a0316612bd2565b915061118e826101006040519081016040528154909190829060ff166002811115610fc057fe5b6002811115610fcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110975780601f1061106c57610100808354040283529160200191611097565b820191906000526020600020905b81548152906001019060200180831161107a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111395780601f1061110e57610100808354040283529160200191611139565b820191906000526020600020905b81548152906001019060200180831161111c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613097565b6001830154600284018054611247926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561122157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111de5790505b505050506003870154600091508190608060020a90046001604060020a03166001612cde565b9050611254858286612fce565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156112c957600080fd5b6102c65a03f115156112da57600080fd5b5050505050505050565b60008060008060006112f588611778565b975061130088612b8e565b945061130b86612bd2565b935061131689612bd2565b925061133d836101006040519081016040528154909190829060ff166002811115610fc057fe5b6000600386015460c060020a900460ff16600281111561135957fe5b1461136357600080fd5b60018501546001604060020a038a8116911614156113f0576000845460ff16600281111561138d57fe5b14156113a35761139e8888886130de565b6113eb565b6002845460ff1660028111156113b557fe5b14156113c65761139e88888861310e565b6001845460ff1660028111156113d857fe5b14156113e95761139e888888613337565bfe5b61176d565b6115218560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156114ba57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116114775790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561150d57fe5b600281111561151857fe5b9052508a61345e565b6001604060020a03908116925082146113e9576000845460ff16600281111561154657fe5b14156115775760018501546001604060020a0387811691161461156557fe5b6113eb888887600201805490506134c4565b6001845460ff16600281111561158957fe5b1415611733576116c08560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561165957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116116165790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156116ac57fe5b60028111156116b757fe5b9052508761345e565b6001604060020a0390811691508114156116f6576116eb8888600185896002018054905003036134c4565b61139e888888613337565b81811115611715576116eb8888600185896002018054905003036134c4565b8181116113eb576113eb8888600184896002018054905003036134c4565b6002845460ff16600281111561174557fe5b14156113e9576117628888600185896002018054905003036134c4565b6113eb8888886135b0565b505050505050505050565b60008060008061178785612b8e565b92506000600384015460c060020a900460ff1660028111156117a557fe5b146117b257849350611939565b600383015460006001604060020a039091161180156117eb57506003830154604060020a90046001604060020a03166117e96138d3565b115b156119085760018301546002840180546118a8926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561188357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118405790505b505050506003870154600091508190608060020a90046001604060020a031681612cde565b60038401549092506118e8906001604060020a031660006040518059106118cc5750595b9080825280602002602001820160405250600080866000612cde565b90506118f985828560000154612fce565b80945061190585612b8e565b92505b61191185612c18565b90506001604060020a03808216908616146119355761193585828560000154612fce565b8093505b505050919050565b6001805490818082016119548382613dcb565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156119d357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611a19929160200190613dfc565b50606082015181600201908051611a34929160200190613dfc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b600080805b8351831015610ed6576001604060020a03848481518110611b5b57fe5b90602001906020020151169150604060020a848481518110611b7957fe5b90602001906020020151811515611b8c57fe5b049050611b998282610f41565b600190920191611b3e565b6000806001604060020a03851615611dfb57611bbf85612bd2565b90506002815460ff166002811115611bd357fe5b14611bdd57600080fd5b805433600160a060020a039081166101009092041614611bfc57600080fd5b6014611df1826101006040519081016040528154909190829060ff166002811115611c2357fe5b6002811115611c2e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611cfa5780601f10611ccf57610100808354040283529160200191611cfa565b820191906000526020600020905b815481529060010190602001808311611cdd57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d9c5780601f10611d7157610100808354040283529160200191611d9c565b820191906000526020600020905b815481529060010190602001808311611d7f57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138d9565b10611dfb57600080fd5b60018054925082808201611e0f8382613dcb565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115611e8f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611ed5929160200190613dfc565b50606082015181600201908051611ef0929160200190613dfc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b6000611ff982612bd2565b9050612020816101006040519081016040528154909190829060ff166002811115610fc057fe5b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25050565b60018054908180820161208f8382613dcb565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561210e57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612154929160200190613dfc565b5060608201518160020190805161216f929160200190613dfc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600080805b8351831015610ed6576001604060020a0384848151811061228b57fe5b90602001906020020151169150604060020a8484815181106122a957fe5b906020019060200201518115156122bc57fe5b0490506122c98282610d99565b60019092019161226e565b60045481565b600455565b6000806122eb84611778565b93506122f684612b8e565b6001810154909250612310906001604060020a0316612bd2565b9050612337816101006040519081016040528154909190829060ff166002811115610fc057fe5b6003820154610ed6908590608060020a90046001604060020a031685612fce565b600080805b835182101561239c576001604060020a0384838151811061237a57fe5b9060200190602002015116905061239081611778565b5060019091019061235d565b5050919050565b60008080806001604060020a03861615156123e9576123e66020604051908101604052806000815250602060405190810160405260008082526203f4809061207c565b95505b6123f286612bd2565b9350612419846101006040519081016040528154909190829060ff166002811115610fc057fe5b6000845460ff16600281111561242b57fe5b1461243557600080fd5b3492506000831161244557600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561247857600080fd5b6124a786600060405180591061248b5750595b9080825280602002602001820160405250600080600080612cde565b91506124b282612b8e565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3612505868385886112e4565b505050505050565b600061251886612bd2565b90506001815460ff16600281111561252c57fe5b1461253657600080fd5b805433600160a060020a03908116610100909204161461255557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612588929160200190613dfc565b506002810183805161259e929160200190613dfc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600080805b8451831015612505576001604060020a0385848151811061261a57fe5b90602001906020020151169150604060020a85848151811061263857fe5b9060200190602002015181151561264b57fe5b04905061265a868383876112e4565b6001909201916125fd565b600061267086612bd2565b90506000815460ff16600281111561268457fe5b1461268e57600080fd5b805433600160a060020a0390811661010090920416146126ad57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516126e0929160200190613dfc565b50600281018380516126f6929160200190613dfc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b600254600090819033600160a060020a0390811691161461277057600080fd5b61277984612b8e565b91506001600383015460c060020a900460ff16600281111561279757fe5b146127a157600080fd5b6001820154600283018054612859926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561283457602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127f15790505b505050506003860154600091508190608060020a90046001604060020a031681612cde565b9050610ec981611778565b60008061286f613db9565b612877613db9565b60008060008060006128888a612bd2565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f8201819004810201604051908101604052809291908181526020018280546001816001161561010002031660029004801561293e5780601f106129135761010080835404028352916020019161293e565b820191906000526020600020905b81548152906001019060200180831161292157829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129dd5780601f106129b2576101008083540402835291602001916129dd565b820191906000526020600020905b8154815290600101906020018083116129c057829003601f168201915b5050505060038301546004909301549a9c999b50979990986001604060020a038084169950604060020a8404169750608060020a90920460ff169550600160a060020a03169350915050565b600080805b8351831015610ed6576001604060020a03848481518110612a4b57fe5b90602001906020020151169150604060020a848481518110612a6957fe5b90602001906020020151811515612a7c57fe5b049050612a898282612750565b600190920191612a2e565b6000612a9f86612bd2565b90506002815460ff166002811115612ab357fe5b14612abd57600080fd5b805433600160a060020a039081166101009092041614612adc57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612b0f929160200190613dfc565b5060028101838051612b25929160200190613dfc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b600080546001604060020a03831610612ba657600080fd5b600080546001604060020a038416908110612bbd57fe5b90600052602060002090600402019050919050565b6001546000906001604060020a03831610612bec57600080fd5b600180546001604060020a038416908110612c0357fe5b90600052602060002090600502019050919050565b600080806001604060020a0384161515612c35576000925061239c565b612c3e84612b8e565b6001810154909250612c58906001604060020a0316612bd2565b90506000815460ff166002811115612c6c57fe5b1415612c7a5783925061239c565b6002815460ff166002811115612c8c57fe5b14612c9357fe5b6001820154612caa906001604060020a0316610cde565b1515612cb85783925061239c565b6003820154612cd690608060020a90046001604060020a0316612c18565b949350505050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612d2b578082015183820152602001612d13565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612d9857fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612e0157809250612fc2565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612e3f8382613e7a565b9160005260206000209060040201600060e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612eb057fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051612efb929160200190613ea6565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115612fb657fe5b02179055505050508092505b50509695505050505050565b6000806000612fe06001878787613943565b9250846001604060020a0316866001604060020a0316141561300157612505565b82151561300d57612505565b61301686612b8e565b915061302185612b8e565b82549091508390101561303357600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361308e6000878786613943565b50505050505050565b8060200151600160a060020a031633600160a060020a031614806130d057508060e00151600160a060020a031633600160a060020a0316145b15156130db57600080fd5b50565b6000610ec982600060405180591061248b5750599080825280602002602001820160405250600080600080612cde565b600080600061311c86612b8e565b925060146132508460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131ea57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116131a75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561323d57fe5b600281111561324857fe5b905250613969565b1061325a57600080fd5b61326384610cde565b1561326d57600080fd5b60018301546002840180546132fa926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561188357600091825260209182902080546001604060020a031684529082028301929091600891018084116118405750505050600388015460009250829150608060020a90046001604060020a031681612cde565b915061332a8460006040518059106118cc5750599080825280602002602001820160405250600080866000612cde565b9050612505868287612fce565b6000613341613db9565b60008061334d87612b8e565b60028101549094506014901061336257600080fd5b60028401546001016040518059106133775750595b90808252806020026020018201604052509250600091505b600284015482101561340257600284018054839081106133ab57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03168383815181106133e057fe5b6001604060020a0390921660209283029091019091015260019091019061338f565b6002840154859084908151811061341557fe5b6001604060020a039283166020918202909201015260018501546003860154613451929182169186916000918291608060020a90041681612cde565b905061308e878288612fce565b6000805b8360400151518110156134b257826001604060020a03168460400151828151811061348957fe5b906020019060200201516001604060020a031614156134aa578091506134bd565b600101613462565b6001604060020a0391505b5092915050565b60006134ce613db9565b6000806134da87612b8e565b60028101549094508590036040518059106134f25750595b90808252806020026020018201604052509250600091505b6002840154859003821015613580576002840180548390811061352957fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061355e57fe5b6001604060020a0390921660209283029091019091015260019091019061350a565b60018401546003850154613451916001604060020a039081169186916000918291608060020a9091041681612cde565b6000806135bc85612b8e565b915060146136b28360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131ea57600091825260209182902080546001604060020a031684529082028301929091600891018084116131a75750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561323d57fe5b106136bc57600080fd5b6136c583610cde565b156136cf57600080fd5b60018201546002830180546138bf926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561376257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161371f5790505b5050505050856138988660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561383257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137ef5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561388557fe5b600281111561389057fe5b905250613a94565b6138a06138d3565b6003880154910190608060020a90046001604060020a03166000612cde565b90506138cc858286612fce565b5050505050565b60045490565b6000806002835160028111156138eb57fe5b146138f257fe5b8260a001516001604060020a0316151561390f5760019150610d88565b61391c8360a00151612bd2565b9050610d85816101006040519081016040528154909190829060ff166002811115611c2357fe5b806139518585808685613b1e565b90506139608584868685613b1e565b95945050505050565b6000808260a001516001604060020a031615156139895760009150610d88565b6139968360a00151612b8e565b9050613a8a8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131ea57600091825260209182902080546001604060020a031684529082028301929091600891018084116131a75750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561323d57fe5b6001019392505050565b6000806000613aa68460200151612bd2565b60038101546001604060020a031693509150600090505b83604001515181101561239c57613aec84604001518281518110613add57fe5b90602001906020020151612bd2565b60038101549092506001604060020a031683901115613b165760038201546001604060020a031692505b600101613abd565b600080600080866001604060020a0316886001604060020a031614613b4557610100613b48565b60005b61ffff169250849350613b5a88612b8e565b6001810154909250613b7a908a906001604060020a031689898789613c3c565b9350600090505b60028201546001604060020a0382161015613bf557613beb8983600201836001604060020a0316815481101515613bb457fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316898985880160010189613c3c565b9350600101613b81565b600382015460006001604060020a039091161115613c30576003820154613c2d908a906001604060020a0316898960ff880189613c3c565b93505b50505095945050505050565b80600080613c4988612bd2565b6004810154909150600160a060020a031615801590613c685750600083115b15612fc2578815613d23576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b1515613cf257600080fd5b6102c65a03f11515613d0357600080fd5b505050604051805192505082821115613d1b57600080fd5b819250612fc2565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b1515613d9957600080fd5b6102c65a03f11515613daa57600080fd5b50505050509695505050505050565b60206040519081016040526000815290565b815481835581811511613df757600502816005028360005260206000209182019101613df79190613f5a565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613e3d57805160ff1916838001178555613e6a565b82800160010185558215613e6a579182015b82811115613e6a578251825591602001919060010190613e4f565b50613e76929150613fe5565b5090565b815481835581811511613df757600402816004028360005260206000209182019101613df79190613fff565b82805482825590600052602060002090600301600490048101928215613f4e5791602002820160005b83821115613f1957835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302613ecf565b8015613f4c5782816101000a8154906001604060020a030219169055600801602081600701049283019260010302613f19565b505b50613e7692915061405f565b610d9691905b80821115613e7657805474ffffffffffffffffffffffffffffffffffffffffff191681556000613f936001830182614084565b613fa1600283016000614084565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501613f60565b610d9691905b80821115613e765760008155600101613feb565b610d9691905b80821115613e7657600080825560018201805467ffffffffffffffff1916905561403260028301826140c8565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614005565b610d9691905b80821115613e7657805467ffffffffffffffff19168155600101614065565b50805460018160011615610100020316600290046000825580601f106140aa57506130db565b601f0160209004906000526020600020908101906130db9190613fe5565b5080546000825560030160049004906000526020600020908101906130db9190613fe55600a165627a7a723058208fab61608faa4f536bcd27ee6c2e0c6040641a7952c1cb19e89813b919c779c40029" +exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b6040516020806200434b83398101604052808051915081905080600162000038818062000075565b50600162000048600082620000a9565b5060028054600160a060020a031916600160a060020a039290921691909117905550504260045562000241565b815481835581811511620000a457600502816005028360005260206000209182019101620000a49190620000d8565b505050565b815481835581811511620000a457600402816004028360005260206000209182019101620000a491906200014c565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001b7565b62000117600283016000620001b7565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff1916905562000183600283018262000202565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b50805460018160011615610100020316600290046000825580601f10620001df5750620001ff565b601f016020900490600052602060002090810190620001ff919062000224565b50565b508054600082556003016004900490600052602060002090810190620001ff91905b6200014991905b808211156200014557600081556001016200022b565b6140fa80620002516000396000f3006060604052361561014e5763ffffffff60e060020a60003504166314e7b1dc81146101535780632101a6ad1461020c5780632a8ec8cc1461023f5780632ee88808146102645780633f657a4614610288578063433879831461030657806347c5ef431461032857806350f8a8031461035757806352dc7dcc146103925780635503d9ba1461043e57806357adafb61461045157806372116e92146104a0578063796d56541461055c5780637f61fa931461057b5780639398f5a2146106275780639da47a6b14610676578063ab8be23114610689578063af9f45631461069f578063bce0906d146106c1578063bde60ac914610710578063cc19ecf71461072a578063d639cd73146107e5578063db7c23141461084d578063e9c211e214610908578063eba8ba061461092a578063ef3766e414610a80578063f6b24b1c14610acf578063fbfa77cf14610b8a575b600080fd5b341561015e57600080fd5b6101756001604060020a0360043516602435610bb9565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101cf5780820151838201526020016101b7565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561021757600080fd5b61022b6001604060020a0360043516610cde565b604051901515815260200160405180910390f35b341561024a57600080fd5b610252610d8e565b60405190815260200160405180910390f35b341561026f57600080fd5b6102866001604060020a0360043516602435610d99565b005b341561029357600080fd5b6102a76001604060020a0360043516610edc565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102ec57fe5b60ff16815260200197505050505050505060405180910390f35b341561031157600080fd5b6102866001604060020a0360043516602435610f41565b341561033357600080fd5b6102866001604060020a0360043581169060243581169060443590606435166112e4565b341561036257600080fd5b6103766001604060020a0360043516611778565b6040516001604060020a03909116815260200160405180910390f35b341561039d57600080fd5b61037660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611941915050565b341561044957600080fd5b610252611b2f565b341561045c57600080fd5b6102866004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611b3995505050505050565b34156104ab57600080fd5b61037660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150611ba49050565b341561056757600080fd5b6102866001604060020a0360043516611fcf565b341561058657600080fd5b61037660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061205d915050565b341561063257600080fd5b610286600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061224a95505050505050565b341561068157600080fd5b6102526122b5565b341561069457600080fd5b6102866004356122bb565b34156106aa57600080fd5b6102866001604060020a03600435166024356122c0565b34156106cc57600080fd5b610376600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061233995505050505050565b6102866001604060020a0360043581169060243516612384565b341561073557600080fd5b610286600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506124ee915050565b34156107f057600080fd5b610286600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a031692506125d9915050565b341561085857600080fd5b610286600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612646915050565b341561091357600080fd5b6102866001604060020a0360043516602435612731565b341561093557600080fd5b6109496001604060020a0360043516612845565b6040518089600281111561095957fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156109da5780820151838201526020016109c2565b50505050905090810190601f168015610a075780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610a3d578082015183820152602001610a25565b50505050905090810190601f168015610a6a5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610a8b57600080fd5b6102866004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612a0a95505050505050565b3415610ada57600080fd5b610286600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612a75915050565b3415610b9557600080fd5b610b9d612b60565b604051600160a060020a03909116815260200160405180910390f35b600080610bc4613d9a565b600080610bd087612b6f565b91508160020160018703815481101515610be657fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169450610c1a85612bb3565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b5050505050925050509250925092565b600080610cea83612bb3565b90506000815460ff166002811115610cfe57fe5b1415610d0d5760009150610d88565b6002815460ff166002811115610d1f57fe5b14610d2657fe5b6003810154608060020a900460ff1615610d435760019150610d88565b6003810154604060020a90046001604060020a03161515610d675760009150610d88565b6003810154610d8590604060020a90046001604060020a0316610cde565b91505b50919050565b600054600019015b90565b600254600090819033600160a060020a03908116911614610db957600080fd5b610dc284612b6f565b91506001600383015460c060020a900460ff166002811115610de057fe5b14610dea57600080fd5b836001604060020a0316610dfd85612bf9565b6001604060020a031614610e1057600080fd5b6001820154600283018054610ec9926001604060020a03169190602080820201604051908101604052809291908181526020018280548015610ea357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610e605790505b505050506003860154600091508190608060020a90046001604060020a03166002612cbf565b9050610ed6848285612faf565b50505050565b600080600080600080600080610ef189612b6f565b805460018201546002830154600390930154919c6001604060020a039182169c50929a508082169950604060020a820481169850608060020a820416965060c060020a900460ff16945092505050565b6000806000610f4f85611778565b9450610f5a85612b6f565b92506000600384015460c060020a900460ff166002811115610f7857fe5b14610f8257600080fd5b6001830154610f99906001604060020a0316612bb3565b915061118e826101006040519081016040528154909190829060ff166002811115610fc057fe5b6002811115610fcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110975780601f1061106c57610100808354040283529160200191611097565b820191906000526020600020905b81548152906001019060200180831161107a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111395780601f1061110e57610100808354040283529160200191611139565b820191906000526020600020905b81548152906001019060200180831161111c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613078565b6001830154600284018054611247926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561122157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111de5790505b505050506003870154600091508190608060020a90046001604060020a03166001612cbf565b9050611254858286612faf565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156112c957600080fd5b6102c65a03f115156112da57600080fd5b5050505050505050565b60008060008060006112f588611778565b975061130088612b6f565b945061130b86612bb3565b935061131689612bb3565b925061133d836101006040519081016040528154909190829060ff166002811115610fc057fe5b6000600386015460c060020a900460ff16600281111561135957fe5b1461136357600080fd5b60018501546001604060020a038a8116911614156113f0576000845460ff16600281111561138d57fe5b14156113a35761139e8888886130bf565b6113eb565b6002845460ff1660028111156113b557fe5b14156113c65761139e8888886130ef565b6001845460ff1660028111156113d857fe5b14156113e95761139e888888613318565bfe5b61176d565b6115218560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156114ba57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116114775790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561150d57fe5b600281111561151857fe5b9052508a61343f565b6001604060020a03908116925082146113e9576000845460ff16600281111561154657fe5b14156115775760018501546001604060020a0387811691161461156557fe5b6113eb888887600201805490506134a5565b6001845460ff16600281111561158957fe5b1415611733576116c08560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561165957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116116165790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156116ac57fe5b60028111156116b757fe5b9052508761343f565b6001604060020a0390811691508114156116f6576116eb8888600185896002018054905003036134a5565b61139e888888613318565b81811115611715576116eb8888600185896002018054905003036134a5565b8181116113eb576113eb8888600184896002018054905003036134a5565b6002845460ff16600281111561174557fe5b14156113e9576117628888600185896002018054905003036134a5565b6113eb888888613591565b505050505050505050565b60008060008061178785612b6f565b92506000600384015460c060020a900460ff1660028111156117a557fe5b146117b257849350611939565b600383015460006001604060020a039091161180156117eb57506003830154604060020a90046001604060020a03166117e96138b4565b115b156119085760018301546002840180546118a8926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561188357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116118405790505b505050506003870154600091508190608060020a90046001604060020a031681612cbf565b60038401549092506118e8906001604060020a031660006040518059106118cc5750595b9080825280602002602001820160405250600080866000612cbf565b90506118f985828560000154612faf565b80945061190585612b6f565b92505b61191185612bf9565b90506001604060020a03808216908616146119355761193585828560000154612faf565b8093505b505050919050565b6001805490818082016119548382613dac565b916000526020600020906005020160006101006040519081016040528060018152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156119d357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611a19929160200190613ddd565b50606082015181600201908051611a34929160200190613ddd565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a2949350505050565b6001546000190190565b600080805b8351831015610ed6576001604060020a03848481518110611b5b57fe5b90602001906020020151169150604060020a848481518110611b7957fe5b90602001906020020151811515611b8c57fe5b049050611b998282610f41565b600190920191611b3e565b6000806001604060020a03851615611ddc57611bbf85612bb3565b90506002815460ff166002811115611bd357fe5b14611bdd57600080fd5b6014611dd2826101006040519081016040528154909190829060ff166002811115611c0457fe5b6002811115611c0f57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611cdb5780601f10611cb057610100808354040283529160200191611cdb565b820191906000526020600020905b815481529060010190602001808311611cbe57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d7d5780601f10611d5257610100808354040283529160200191611d7d565b820191906000526020600020905b815481529060010190602001808311611d6057829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526138ba565b10611ddc57600080fd5b60018054925082808201611df08382613dac565b916000526020600020906005020160006101006040519081016040528060028152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115611e7057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611eb6929160200190613ddd565b50606082015181600201908051611ed1929160200190613ddd565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167fd7db7003e8f35149eda3d3685c2ab151ee561ad34853fdb0f4d7ecb33fff889060405160405180910390a2509695505050505050565b6000611fda82612bb3565b9050612001816101006040519081016040528154909190829060ff166002811115610fc057fe5b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f2d65c225503bd4cd245a36c8030073ddd0fb02c23ce540fcd901e74e5006687c60405160405180910390a25050565b6001805490818082016120708382613dac565b916000526020600020906005020160006101006040519081016040528060008152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156120ef57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051612135929160200190613ddd565b50606082015181600201908051612150929160200190613ddd565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a2949350505050565b600080805b8351831015610ed6576001604060020a0384848151811061226c57fe5b90602001906020020151169150604060020a84848151811061228a57fe5b9060200190602002015181151561229d57fe5b0490506122aa8282610d99565b60019092019161224f565b60045481565b600455565b6000806122cc84611778565b93506122d784612b6f565b60018101549092506122f1906001604060020a0316612bb3565b9050612318816101006040519081016040528154909190829060ff166002811115610fc057fe5b6003820154610ed6908590608060020a90046001604060020a031685612faf565b600080805b835182101561237d576001604060020a0384838151811061235b57fe5b9060200190602002015116905061237181611778565b5060019091019061233e565b5050919050565b60008080806001604060020a03861615156123ca576123c76020604051908101604052806000815250602060405190810160405260008082526203f4809061205d565b95505b6123d386612bb3565b93506123fa846101006040519081016040528154909190829060ff166002811115610fc057fe5b6000845460ff16600281111561240c57fe5b1461241657600080fd5b3492506000831161242657600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f19350505050151561245957600080fd5b61248886600060405180591061246c5750595b9080825280602002602001820160405250600080600080612cbf565b915061249382612b6f565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36124e6868385886112e4565b505050505050565b60006124f986612bb3565b90506001815460ff16600281111561250d57fe5b1461251757600080fd5b805433600160a060020a03908116610100909204161461253657600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612569929160200190613ddd565b506002810183805161257f929160200190613ddd565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a2505050505050565b600080805b84518310156124e6576001604060020a038584815181106125fb57fe5b90602001906020020151169150604060020a85848151811061261957fe5b9060200190602002015181151561262c57fe5b04905061263b868383876112e4565b6001909201916125de565b600061265186612bb3565b90506000815460ff16600281111561266557fe5b1461266f57600080fd5b805433600160a060020a03908116610100909204161461268e57600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516126c1929160200190613ddd565b50600281018380516126d7929160200190613ddd565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a2505050505050565b600254600090819033600160a060020a0390811691161461275157600080fd5b61275a84612b6f565b91506001600383015460c060020a900460ff16600281111561277857fe5b1461278257600080fd5b600182015460028301805461283a926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561281557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116127d25790505b505050506003860154600091508190608060020a90046001604060020a031681612cbf565b9050610ec981611778565b600080612850613d9a565b612858613d9a565b60008060008060006128698a612bb3565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f8201819004810201604051908101604052809291908181526020018280546001816001161561010002031660029004801561291f5780601f106128f45761010080835404028352916020019161291f565b820191906000526020600020905b81548152906001019060200180831161290257829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129be5780601f10612993576101008083540402835291602001916129be565b820191906000526020600020905b8154815290600101906020018083116129a157829003601f168201915b5050505060038301546004909301549a9c999b50979990986001604060020a038084169950604060020a8404169750608060020a90920460ff169550600160a060020a03169350915050565b600080805b8351831015610ed6576001604060020a03848481518110612a2c57fe5b90602001906020020151169150604060020a848481518110612a4a57fe5b90602001906020020151811515612a5d57fe5b049050612a6a8282612731565b600190920191612a0f565b6000612a8086612bb3565b90506002815460ff166002811115612a9457fe5b14612a9e57600080fd5b805433600160a060020a039081166101009092041614612abd57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612af0929160200190613ddd565b5060028101838051612b06929160200190613ddd565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f035196d5942819024277421e936a2e76840abb7bb5a320924ce0a9826daeba4460405160405180910390a2505050505050565b600254600160a060020a031681565b600080546001604060020a03831610612b8757600080fd5b600080546001604060020a038416908110612b9e57fe5b90600052602060002090600402019050919050565b6001546000906001604060020a03831610612bcd57600080fd5b600180546001604060020a038416908110612be457fe5b90600052602060002090600502019050919050565b600080806001604060020a0384161515612c16576000925061237d565b612c1f84612b6f565b6001810154909250612c39906001604060020a0316612bb3565b90506000815460ff166002811115612c4d57fe5b1415612c5b5783925061237d565b6002815460ff166002811115612c6d57fe5b14612c7457fe5b6001820154612c8b906001604060020a0316610cde565b1515612c995783925061237d565b6003820154612cb790608060020a90046001604060020a0316612bf9565b949350505050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b83811015612d0c578082015183820152602001612cf4565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a028152600801826002811115612d7957fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a039091169150811115612de257809250612fa3565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a038316179055815490919060018101612e208382613e5b565b9160005260206000209060040201600060e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a03168152602001886002811115612e9157fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051612edc929160200190613e87565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115612f9757fe5b02179055505050508092505b50509695505050505050565b6000806000612fc16001878787613924565b9250846001604060020a0316866001604060020a03161415612fe2576124e6565b821515612fee576124e6565b612ff786612b6f565b915061300285612b6f565b82549091508390101561301457600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361306f6000878786613924565b50505050505050565b8060200151600160a060020a031633600160a060020a031614806130b157508060e00151600160a060020a031633600160a060020a0316145b15156130bc57600080fd5b50565b6000610ec982600060405180591061246c5750599080825280602002602001820160405250600080600080612cbf565b60008060006130fd86612b6f565b925060146132318460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131cb57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116131885790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561321e57fe5b600281111561322957fe5b90525061394a565b1061323b57600080fd5b61324484610cde565b1561324e57600080fd5b60018301546002840180546132db926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561188357600091825260209182902080546001604060020a031684529082028301929091600891018084116118405750505050600388015460009250829150608060020a90046001604060020a031681612cbf565b915061330b8460006040518059106118cc5750599080825280602002602001820160405250600080866000612cbf565b90506124e6868287612faf565b6000613322613d9a565b60008061332e87612b6f565b60028101549094506014901061334357600080fd5b60028401546001016040518059106133585750595b90808252806020026020018201604052509250600091505b60028401548210156133e3576002840180548390811061338c57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03168383815181106133c157fe5b6001604060020a03909216602092830290910190910152600190910190613370565b600284015485908490815181106133f657fe5b6001604060020a039283166020918202909201015260018501546003860154613432929182169186916000918291608060020a90041681612cbf565b905061306f878288612faf565b6000805b83604001515181101561349357826001604060020a03168460400151828151811061346a57fe5b906020019060200201516001604060020a0316141561348b5780915061349e565b600101613443565b6001604060020a0391505b5092915050565b60006134af613d9a565b6000806134bb87612b6f565b60028101549094508590036040518059106134d35750595b90808252806020026020018201604052509250600091505b6002840154859003821015613561576002840180548390811061350a57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031683838151811061353f57fe5b6001604060020a039092166020928302909101909101526001909101906134eb565b60018401546003850154613432916001604060020a039081169186916000918291608060020a9091041681612cbf565b60008061359d85612b6f565b915060146136938360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131cb57600091825260209182902080546001604060020a031684529082028301929091600891018084116131885750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561321e57fe5b1061369d57600080fd5b6136a683610cde565b156136b057600080fd5b60018201546002830180546138a0926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561374357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137005790505b5050505050856138798660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561381357602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116137d05790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561386657fe5b600281111561387157fe5b905250613a75565b6138816138b4565b6003880154910190608060020a90046001604060020a03166000612cbf565b90506138ad858286612faf565b5050505050565b60045490565b6000806002835160028111156138cc57fe5b146138d357fe5b8260a001516001604060020a031615156138f05760019150610d88565b6138fd8360a00151612bb3565b9050610d85816101006040519081016040528154909190829060ff166002811115611c0457fe5b806139328585808685613aff565b90506139418584868685613aff565b95945050505050565b6000808260a001516001604060020a0316151561396a5760009150610d88565b6139778360a00151612b6f565b9050613a6b8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156131cb57600091825260209182902080546001604060020a031684529082028301929091600891018084116131885750505092845250505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561321e57fe5b6001019392505050565b6000806000613a878460200151612bb3565b60038101546001604060020a031693509150600090505b83604001515181101561237d57613acd84604001518281518110613abe57fe5b90602001906020020151612bb3565b60038101549092506001604060020a031683901115613af75760038201546001604060020a031692505b600101613a9e565b600080600080866001604060020a0316886001604060020a031614613b2657610100613b29565b60005b61ffff169250849350613b3b88612b6f565b6001810154909250613b5b908a906001604060020a031689898789613c1d565b9350600090505b60028201546001604060020a0382161015613bd657613bcc8983600201836001604060020a0316815481101515613b9557fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316898985880160010189613c1d565b9350600101613b62565b600382015460006001604060020a039091161115613c11576003820154613c0e908a906001604060020a0316898960ff880189613c1d565b93505b50505095945050505050565b80600080613c2a88612bb3565b6004810154909150600160a060020a031615801590613c495750600083115b15612fa3578815613d04576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b1515613cd357600080fd5b6102c65a03f11515613ce457600080fd5b505050604051805192505082821115613cfc57600080fd5b819250612fa3565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b1515613d7a57600080fd5b6102c65a03f11515613d8b57600080fd5b50505050509695505050505050565b60206040519081016040526000815290565b815481835581811511613dd857600502816005028360005260206000209182019101613dd89190613f3b565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613e1e57805160ff1916838001178555613e4b565b82800160010185558215613e4b579182015b82811115613e4b578251825591602001919060010190613e30565b50613e57929150613fc6565b5090565b815481835581811511613dd857600402816004028360005260206000209182019101613dd89190613fe0565b82805482825590600052602060002090600301600490048101928215613f2f5791602002820160005b83821115613efa57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302613eb0565b8015613f2d5782816101000a8154906001604060020a030219169055600801602081600701049283019260010302613efa565b505b50613e57929150614040565b610d9691905b80821115613e5757805474ffffffffffffffffffffffffffffffffffffffffff191681556000613f746001830182614065565b613f82600283016000614065565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501613f41565b610d9691905b80821115613e575760008155600101613fcc565b610d9691905b80821115613e5757600080825560018201805467ffffffffffffffff1916905561401360028301826140a9565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401613fe6565b610d9691905b80821115613e5757805467ffffffffffffffff19168155600101614046565b50805460018160011615610100020316600290046000825580601f1061408b57506130bc565b601f0160209004906000526020600020908101906130bc9190613fc6565b5080546000825560030160049004906000526020600020908101906130bc9190613fc65600a165627a7a72305820b8c1cd86b861a38e2d2487c5fbda7f818a587973b1a5665d3e0f0f823b1e02380029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.17+commit.bdeb9e52.Emscripten.clang" -exports._sha256 = "0xadbfc734d19822f339e380dc20cb738625432599050bc2389bb4ccaea42de465" +exports._sha256 = "0x4789dc65053ae2e6952ca69e4abd35f504d3ac68a10ac1b6b99209a470ce8ff6" diff --git a/build/LiquidPledgingMock_all.sol b/build/LiquidPledgingMock_all.sol index e7ebc7f..73244a2 100644 --- a/build/LiquidPledgingMock_all.sol +++ b/build/LiquidPledgingMock_all.sol @@ -197,7 +197,6 @@ contract LiquidPledgingBase { if (parentProject != 0) { PledgeAdmin storage pa = findAdmin(parentProject); require(pa.adminType == PledgeAdminType.Project); - require(pa.addr == msg.sender); require(getProjectLevel(pa) < MAX_SUBPROJECT_LEVEL); } diff --git a/build/LiquidPledging_all.sol b/build/LiquidPledging_all.sol index a496947..2427e18 100644 --- a/build/LiquidPledging_all.sol +++ b/build/LiquidPledging_all.sol @@ -197,7 +197,6 @@ contract LiquidPledgingBase { if (parentProject != 0) { PledgeAdmin storage pa = findAdmin(parentProject); require(pa.adminType == PledgeAdminType.Project); - require(pa.addr == msg.sender); require(getProjectLevel(pa) < MAX_SUBPROJECT_LEVEL); } diff --git a/contracts/LiquidPledgingBase.sol b/contracts/LiquidPledgingBase.sol index 4fa8296..8c79ece 100644 --- a/contracts/LiquidPledgingBase.sol +++ b/contracts/LiquidPledgingBase.sol @@ -161,7 +161,6 @@ contract LiquidPledgingBase { if (parentProject != 0) { PledgeAdmin storage pa = findAdmin(parentProject); require(pa.adminType == PledgeAdminType.Project); - require(pa.addr == msg.sender); require(getProjectLevel(pa) < MAX_SUBPROJECT_LEVEL); } diff --git a/test/NormalOperation.js b/test/NormalOperation.js index 8b65db3..7a532f6 100644 --- a/test/NormalOperation.js +++ b/test/NormalOperation.js @@ -49,6 +49,7 @@ describe('LiquidPledging test', () => { let adminProject1; let adminProject2; let adminProject2a; + let adminProject3; let delegate2; before(async () => { const testrpc = TestRPC.server({ @@ -68,6 +69,7 @@ describe('LiquidPledging test', () => { adminProject2a = accounts[5]; delegate2 = accounts[6]; giver2 = accounts[7]; + adminProject3 = accounts[8]; }); it('Should deploy LiquidPledging contract', async () => { vault = await Vault.new(web3); @@ -331,4 +333,10 @@ describe('LiquidPledging test', () => { assert.equal(res[3], ''); assert.equal(res[4], 259200); // default to 3 day commitTime }).timeout(6000); + it('Should allow childProject with different parentProject owner', async () => { + const nAdminsBefore = await liquidPledging.numberOfPledgeAdmins(); + await liquidPledging.addProject('Project3', 'URLProject3', adminProject3, 4, 86400, 0, { from: adminProject3 }); + const nAdmins = await liquidPledging.numberOfPledgeAdmins(); + assert.equal(nAdmins, utils.toDecimal(nAdminsBefore) + 1); + }).timeout(6000); });